[ Nederlanse vertaling WIP ]
Dit is een project voor Game Mechanics op de Hogeschool van Amsterdam, opleiding HBO-ICT Game Development. Deze pagina zal tijdens de development updates krijgen.
Bamboo catcher is een puzzel spel. Het is de bedoeling dat je de bamboo’s in hun nest krijgt door grond, wind en bommen toe te voegen aan de scene. Hierbij moet je rekening houden aan de kleur (of element) van de bamboo, je hebt blauw (water), rood (vuur) en groen (gras).
Om alle Orbs te kunnen verzamelen in het spel moet je deze elementen gebruiken om bepaalde uitdagingen te overwinnen.
Op het plaatje zie je hoe een bamboo er uit ziet, je zult hem echter niet zo wit zin in het spel. Ze hebben in het spel altijd een kleur.
Hierboven een vroeg concept, in het uiteindelijke spel kan dit dus anders zijn. Op het meest linker plaatje zie je dat er 3 lijnen zijn getekent door de speler, toen dacht ik nog zwaartekracht te gaan gebruiken hierbij. Om het wat simpeler te houden heb ik al gauw besloten dit niet te doen, alleen de Bamboo’s (de balletjes in deze plaatjes) zullen reageren op zwaartekracht.
In het 2e plaatje zie je een uitdaging dat niet mogelijk is met alleen stenen-platforms. Hiervoor is een soort springkussen element bedacht (* in het uiteindelijke spel is wind hiervoor gebruikt). Het idee is dat je verschillende elementen hebt om het level te manipuleren, je moet de juiste combinatie vinden om het level te halen.
In het 3e plaatje is wind toegevoegd aan de scene zelf. De speler kan dit niet verwijderen, dus moet hij er rekening mee houden. Ook zie je in plaatje 4 een niet-tekenen gebied. Dit soort ideeen kunnen gebruikt worden om verschillende soorten puzzels te bedenken. Note: In het uiteindelijke spel is er geen wind en ook geen niet-tekenen zones, technisch zou het makkelijk toegevoegd kunnen worden bij levels, maar dit soort levels zijn niet gemaakt. Als er nog toekomstige updates komen zou het wel kunnen.
De vijand van de Bamboo’s, je moet ze verslaan door ze op hun hoofd te slaan. In de boss-levels moet je dit doen voor je de Bamboo’s naar hun nest brengt.
In de uiteindelijke game zul je hem niet in deze kleur zien, net als de bamboo’s zijn ze rood, groen of blauw. Ook dit is gelinkt aan Vuur, Water en Gras. Een water vijand kun je dan ook alleen verslaan met gras, vuur met water en gras met vuur. Je vaardigheden met deze elementen worden dus ook getest.
Er zijn meerdere ideeen betreft de verschillende skills die de speler kan unlocken. Ik zet ze voor nu allemaal hier, of het uiteindelijk in de game komt is nog wel de vraag.
Stenen platform kun je gewoon tekenen, bamboo’s kun je er anders mee laten rollen.
Springkussen* Net als het stenen platform tekenen, je beslist het eind en begin punt, maar hij heeft wel een maximale lengte. Wanneer een bamboo erin terecht komt springt hij weg.
Wind Bamboo’s zijn aardig licht, dus je kan ze wegblazen met wind.
Tijdbommen Vernietig stenen-platforms of andere platforms in het level. Je kan kiezen hoelang het moet duren voordat de tijdbom af gaat.
Veer* Maak bamboo’s lichter, waardoor ze minder snel naar beneden vallen door zwaartekracht.
* = niet in uiteindelijke game
Skill Atom Diagram
The skill atom diagram kind of loops, the idea is that the player can keep unlocking new abilities when progressing through the game. Draw bounce nets is exactly the same as draw stone on purpose. The idea is that using the skill is quite similar to what you already know, the different part is found in “I can manipulate the scene”. This is abstracted from “I can draw stone” and “I can add bouncepads” or “I can add wind” so it could be used in a loop. Adding all elements to this diagram would add little information.
One that might be added however is the combination of start scene and drawing stuff, as the bamboo’s can react when they collide with the elements you’ve drawn. Implementing this in a new “looping” skill tree would look something like this, the final game starts with stone and loops 2x for air and bomb:
In the lesson we had to pitch each others idea and give feedback to others.
The feedback for me is to think some more about the game economy, only having ink is not enough. So I will add some kind of collectible you can get in the game.
Also we had to think of a “rock paper scissors” idea. So for this game we came up with giving the bamboo’s some element (like fire, grass and water) and the enemies too. So you’ll have to hit the enemy with the right element. Grass can only beat Water, Water beats Fire and Fire beats Grass.
- In the final game rock-paper-scissors is implemented in both levels and bosses. In levels you’ll find leafs, water and fire. Hitting with the right bamboo might get you an extra orb. For the leaf it’s slightly different, do not hit it with a fire bamboo (or it will destroy the leaf). Keep the leaf alive. The leave is often placed near a fire bamboo.
Prototypes are deleted from the website, the final version is still playable.
For now it’s a simple level system, the first level will simply bring you to the next.
I plan combining it with
coins orbs, so you need x coins orbs to get to the next level.
This machination model works, but coins (now orbs) do nothing, at the time of making it I wasn’t sure yet what to do with the orbs. The above shows the economy for ink and going to a new level. Now with game over the player may ofcourse decide to try again the latest level. As for the orb-economy, I made a second machniations diagram for the orb economy. The above diagram is mostly the within-level economy, where the player has to use ink. The bottom machinations diagram is the outer part, where the player tries to play levels and get orbs to unlock new levels. This is currently shown till level 5 (level 1 & 2 already being unlocked). You could simply add levels to represent the whole game.
Rock paper scissors
We have to implement the stone paper scissors idea into our game, in order to do this I decided to give both the boss and bamboo’s an elemental. You’ll have fire, water and grass: The game is making progress, orbs are added which you can gain by completing a new level and doing something “good” (elemental challanges within levels).
Regular levels will have elemental challenges, for example a leaf or tree that you shouldn’t hit with a fire bamboo, otherwise it will die. You can earn Orbs by taking this into account:
- Fire: Do not hit nature like a tree or a leaf.
- Water: Extinguish fire
- Grass: Go through water to give life to seeds & trees. (be carefull not to hit it with fire afterwards)
You’ll gain an orb for completing the level properly, but doing the above can gain additional orbs. In level 1 you can get an additional orb by going through the fire with your water Bamboo.
Eventually you will have to do this in order to unlock levels.
State machine diagram
what should the player have mastered?
1. use of different inks
2. elemental reaction
How do the attacks of your boss test those skills?
1. Boss will let you fail if you don’t defeat him
2. Defeat him by hitting the head with the right element
How do gameplay phases come into this?
1. there will be 3 sub levels:
– 1 “kihon” = where you just have to hit the head
New enemy, whats he going to do? oh just hit the head.
– 2 “kihon kata” = where you have to hit the head with the right element
It’s just the same thing, I already know what to do with elemental things: business as usual.
– 3 “kata” = Enemy does something new, suddenly
shoots moves too!?
the lastest phase
is where you get to know how the shooting mechanic works, and how to do it. brings back a moving mechanic you’ve seen once before, but you will only notice it when playing the scene, so you may have to change your stratagy afterwards.
Kumite, it’s on! defeat the boss.
increase difficulty by having the boss vary more and more attacks:
– every sublevel the boss will be stronger: regular -> elemental -> attacking
The above diagram shows the Kihon, Kata, Kihon Kata and Kumite areas of the game. Do note that in the final game instead of shooting it became a moving enemy. This makes more sense because the game doesn’t have any shooting at all in levels, but it does have a moving platform. Below are 2 diagrams that show the level-states and ingame (or in-level) state of the boss.
Prototypes are deleted from the website, the final version is still playable
The game is making progress, orbs are added which you can gain by completing a new level and doing something good.
In level 1 you can get an additional orb by going through the fire with your water Bamboo.
In level 2 you can get an additional orb if you don’t touch the leaf with your fire Bamboo.
Level 3 will likely be a level that is only accessible if you have 3 orbs, meaning you completed level 1, 2 and collected 1 additional orb.
Playtest session 1
I have done a playtest with the latest prototype on mobile. (So the only difference is that touch controls are being used instead of mouse controls).
Overal the game was very well received, the game was clear, they kinda wanted to play more after level 2.
I’ve told the playtesters the idea is to add more elements to the game, I gave wind as an example so players can draw wind next to stone.
Some immediately came with ideas:
- Adding or drawing magnets
- Drawing bouncepads
Bouncepads was something I thought of aswell, I already attempted to add it but decided to go with wind, for most levels bouncepad and wind would be similar anyway.
But I will definitely give some thought to the magnet idea. That could bring up some interesting level designs.
As for the economy they thought the ink system was a very good idea to limit what the player can do, they do think they have more than enough currently, they suggested to limit it more in later levels.
One playtester came up with the idea to add an upgrade system giving an ink multiplier so you can reach places you couldn’t reach before.
Playtest session 2
The second playtest had more levels and everyone had a choice to play in the browser or on mobile:
Prototypes have been deleted from the website, the final version is still playable
Playtesters felt like the Economy was balanced, there wasn’t too much ink and not too less either. Thinking was required to remove a certain fire.
The orb system felt fair in opening new levels. Some playtesters had trouble figuring out how to get enough orbs for Level 3.
For using the bomb it was weird that characters weren’t flying away from the explosion, so that could use more tweaking. Testers also missed an explosion animation.
For the wind it was quite hard to see which way the wind would blow, also there should be something that shows which element is selected.
It was also hard to see what ink was selected, players kept selecting ink that was already selected just to make sure it’s selected.
Most playtesters didn’t like how you have to clear the whole stage to start over, while sometimes only a little tweak was required.
(Near) final prototype
http://leonieponsioen.com/unity/Playtest3/ prototypes are deleted from the website, please play the final version.
A lot has been improved. A circle is now shown around the currently selected ink, bomb has added explosion-physics to the bamboo’s, so placing it too close would make them fly away.
Also restarting will no longer restart the scene, it resets all necessary gameobjects, but keeps whatever you’ve drawed before. This will let you add slightly more if you want more ink. Personally I found some levels that were (even for me) troublesome a lot easier as I could just add a little more wind or stone there, or add that bomb I’ve forgotten and complete a level much faster. I hope levels will be less-impossible in the last playtest.
Boss fights have been added aswell to test the player skills.
With the “near final prototype” the 3rd playtest has also started.
Players from playtest 2 think the game improved a lot now that the scene won’t clear on restart. Also it helps much that the current selected element is shown with a green circle.
Especially new players noted that they like to move what they’ve drawn around afterwards, overall people didn’t “rage quit” as much as in playtest 2.
One player noted how some collision boxes didn’t make sense, most notably in level 7 at the blue nest.
About half of the players had trouble with the UI, they kept pressing quit while they ment to simply restart the game, one didn’t even notice the “restart” button and just went for the red one all the time.
While observing the playtesters I noted a bug, when quitting the level after taking out the fire (bug would work for water aswell) and then playing the level again, you could complete it without taking out the fire, and still get achieved the orb for taking out the fire.
– UI (quit now a seperate button)
– Orb-quit-clear bug fix.
– Collider boxes slightly adjusted (should be slightly easier to get Bamboo in nest).
– Questionmark-tutorial added to level selection.
Reflex to puzzling
After we’ve been told to make a Game for Game Mechanics in Unity most of the class seemed to think about a platformer game. Something I’ve made quite often, the teacher said it wasn’t restricted to platformer games, so I tried to think of something I haven’t made that often yet.
Thinking back to my childhood (and having bought PS2 games with an eye toy recently) I remembered the game from PuyoPop fever in Sega Superstars, where you had to guide the right color to the right bucket on the screen.
That sounds already a lot like the game this one ended up to be, so that’s definitely where my starting inspiration came from. In the beginning I thought of doing something like that, but then endless and for mobile. I was taken out of that dream quite soon when the teacher has told us that it should be a game with a winning state. So my endless idea with maybe some highscores wouldn’t match that.
I transformed my idea into the same thing, but with levels. At that time I also had an idea that you would be having several elements you could pickup to manipulate the game. (This would be the wind, stone and bomb in the final game). Also that these pickups should be limited in how much you can draw from it, so eventually you will have to pickup another, that part stayed. In levels however I chose that you will have these elements ready already, and I started to call it Ink. As you would still have a limited source of each element.
The game transformed quite quickly due to these requirements. From what was supposed to be a quick reflex based game, became a puzzle thinking-game. In order to make the level non-endless I added a start/stop scene button. You manipulated the scene before it started.
Thinking back, getting the early reflex based game working would probably work fine too. If you take the endless idea but set an end point, like getting 10 right ones in a bucket, you got a level. Instead of random you would need to define when something spawns and where. I didn’t think of this at that time though, the puzzle thing felt more natural in a level based environment. But who knows, I might try to make a reflex mode at a later time.
For the ink, stone made most sense to add in first, but there were plenty ideas for more kinds of ink. The game is made to implement new inks easily. Bouncepad was one of my earliest ideas, but also wind came into mind. After implementing these they acted very similar though, but since the air coding was working better at that time I just went with that one. Then I could focus on adding a different element to the game.
I also chose to add bomb, I thought it would add a fun puzzling element where you can draw stone in the game, and let it destroy later using the bomb. You can even set when the bomb should explode by tapping on it. Choosing a value between 0.2 and 3.0.
So stone, Air and Bomb are the final elements in the final game. In the concepts there were more ideas like Feather, which didn’t make it to the game. In one of the playtests Magnets has been suggested aswell, but that one didn’t make it either.
The reason for this is that you can keep adding elements, you can choose which ones you enable and disable for each level, but eventually you need to say this is the limit. If you want to develop the game further you can keep adding if you want, candy crush has a huge amount of levels with many different kind of puzzle-elements by now. But for the time that was available for this game, 3 elements seems enough.
Boss fight & Stone Paper Scissors
The longer it’s in development, the more you get to know the requirements. The game had to get a boss fight and some kind of stone paper scissors mechanic.
At first I thought “How am I supposed to add a boss fight into a puzzle game?”. The first time I heard it I thought it was impossible. Something that isn’t true at all if you look to games like Pokemon Shuffle. The boss fight also needed 3 boss states. Something I found hard to implement into this game, you play the scene when you’re ready, it should be reasonably predictable what the boss is going to do. So I couldn’t add too many states to the boss within the game itself.
Thanks to students of HvA who came with the idea of splitting the boss fight within 3 levels, I did manage to make a boss fight. They also thought of adding the stone-paper-scissor part in the boss fight, so I immediately came up with the fire/grass/water (pokemon-like) elements. And I was able to think through the boss fight.
First idea was to have the first level non-elemental boss, quite easy to destroy. The second one to have elemental bosses and the last one to have a shooting mechanic. This has slight changes, the first boss fight does have elemental bosses, but it doesn’t matter a lot yet. The right bamboo to destroy the boss is already near the only boss he can kill, which is near his nest. There’s simply no other way to kill off the bosses. I decided to do this so the player already gets aware of multiple colored bosses.
In level 2 the elemental differences will be important, you will have to get the right bamboo to the right elemental boss in order to complete the level. This will also require you to use a bomb, to kill off one of your placed stone-elements.
The final boss-part has also changed, shooting didn’t really make sense as it’s nowhere else in the game. So I thought why not making the boss move, it’s a bit more predictable than shooting, and it’s used earlier in the game at a moving platform. So the last boss uses all of elemental things and moving bosses. When you want to collect all orbs you also need to use the air ink.
Before making those boss fights I also came up with a way to introduce the elemental differences (water, grass, fire) to the player before fighting the bosses. In the game you will see leafs, water and fire where you need to do something with in order to collect orbs. Orbs are required to unlock levels. (All of them are needed for the last boss).
The level design was took a long time, sometimes I made a level too hard and decided to make it a later level, so I tried making a simpler level. That way of working did end up with quite some levels.
The same goes for the boss fight, originally level 8 was the first boss fight, where you’d just have to hit it and beat the level. (The red Bamboo at the bottom of the level was a little higher with an enemy beneath it). Even though the enemy-part was simpler, I thought I had to make a slightly simpler first Boss level so the player can get used to the boss first, and play with it a little. So that was suddenly 8 levels instead of 7 (11 instead of 10 counting the boss fights).
So no level is wasted, yet more playtests have to proof whether it’s too hard on average. The playtests I’ve done are simply too few, some people were going at it at a decent pace, while others rather quitted. One playtester even liked to have more Orbs to collect.
Overall from what I can judge now, the learning curve is probably a little too steep. People often liked to move elements around after placing them. For that I had a little too less development time. I’m already happy I was able to change the restart. At the earlier playtests restart simply reloaded the scene, an easy way as you are sure that all gameobjects are at their initial state. But in the latest version your own drawins stay, so the scene no longer gets reloaded. Instead reset and restore functions have been made for the gameobjects which will be called instead. This ended up in a lot of bugfixing; level completes too soon, that object isn’t properly rotated or positioned after a restart, you name it. This all had to be done in a single day, the Wednesday before the deadline.
Even though that wasn’t the last day, it was pretty much the last day I could do a lot on development, the next day I’m supposed to be at school the whole day for other stuff. Friday 9:00 is the deadline. I’m not a nightworker so all will be delivered Thursday evening. Thursday will be the last day to add tweaks, to not screw up these should be minor, but just in case the game from wednesday (Playtest 3) is backed up.
Clearing and retrying
In the game you can retry a level when you’ve failed, in the first 2 prototypes you had to clear the whole stage and draw again. I had a lot of negative feedback on it, they liked to change stuff to it. So for the last playtest I made sure to let your drawings stay at the right positions.
This took a long time, a lot of bugs came into the game when doing that, they all had to be fixed before the next playtest could start. For that reason I decided to only have adding stuff is possible after restarting, you couldn’t move around or delete yet.
The learning curve of the game was a lot better this way, it happens very often that only a very small tweak is needed to complete the game, which is possible to do now. They still rather get ability to remove and move stuff around, but it was better at least.
The moving and deleting sadly didn’t make it into the game, this is because it’s too short to the deadline now, and adding this feature is quite risky to me. I rather ship a game that I know will work then one that isn’t playtested properly and could be full of errors and bugs.
The differences between playtest 3 and final prototype are small for the same reasons. A few collision boxes changed, and the UI is improved. (A lot of people accidently quit the game in playtest 3, so I decided to just make it a seperate (small) button). Found bugs are also resolved.