This is a quick and embarrassingly unstructured update with a test video. I could spend an hour making a clean gameplay video, adding intros and cleaning up effects, but for some unexplainable reason I am on fire today — and coding goes so smoothly that I prefer to spent that hour writing collisions, not making polished videos.
So, in short, I implemented the third version of gameplay — the one I discussed in my “70th day of development” post. Now, in addition to buttons (to be removed later), there’s a big area that listens for player’s finger events. If it is a swipe — hero jumps. If it a tap — hero fires a bullet.
When player chooses his starting elements, bullets get charged with the first element. When player changed the element by clicking one of the element buttons at the bottom (no, they won’t look like that in the release candidate 8)) — next bullet changes its charge.
On collision with an object, bullet checks if this object is “dangerous”.
If it is an enemy — bullet checks enemy’s element.
If they have the same element — BOOM, enemy is destroyed and we are all happy (I plan to give a coin to the hero for that later).
If they have different elements, but hero has an element that is needed for this object destruction, and just for some reason didn’t use it — we see a “nope” icon.
If they have a different elements, and hero doesn’t have enemy’s element — player will see a shield icon on the enemy. The colour of this shield icon will tell hero which element should be used for the next shot (there is a check that allows only elements that hero has to be displayed as shields).
The number of shields is random, and depends on the difficulty of the game.
There’s a lot of initialisation needed for this process, and it is all happening when the first run starts, so I need to write additional re-initialisation if the run failed, and we should have those initialisations — but they should work a bit differently. I don’t know when I get to it — my Uni assignment is due on the 16th, so this coding strike can’t last long 8(((