Initial design: Settling in
I’m participating in the first Steemit Game jam! If you’re unsure of what this means, check out this post, but the gist of it is, I’ll be attempting to make a game in 48 hours, with the theme Protect it!
One of the most important things about a game jam is to keep it simple. I need a game idea I feel I can implement in 2-3 hours. 2-3 hours quickly turn into 6 when tackling issues, and then the remainder of the time can be spent on polishing the game and making it more fun.
Furthermore, sometimes you try an idea, and it just doesn’t work, so need to leave myself enough time to scrap it and try something else.
Triple town meets tower defense meets 2048
The core concept is you have a 2x2 block in the center that starts with a value of say 8. The objective is to defend it from the oncoming dividing blocks coming in from all sides. A 6x6 square around the block is the playing field, which spawns value 1 defensive blocks after every slide, like in 2048. When you slide two blocks with the same value onto each other, they merge. Enemy blocks are dividing blocks, and divide the value of your blocks by their value. Fractions get discarded. So if you merged 1 and 1 you have a 2 block, if an enemy block collides with it, the block turns into a single 1 block.
Mockup time!
I use colormind to generate a color scheme. I’m pretty bad with colors, so those online tools are invaluable.
I click generate a bunch of times until there is something I like. I’m looking for something with a single color that stands out on the red range to be the enemy cubes.
Looks good, now let’s get on with the mockup.
While working on the mockup, I notice that if I allow enemy block to spawn anywhere on the outer ring, sliding them would basically always miss the center 2x2 block. To prevent this, I decided to add walls to guide the enemy blocks into the center.
That was the only immediately obvious issue that popped up while looking at the mockup.
Checklist
Well, It’s time to get time to business. I’ll take a short break to compose myself after this, and then it’s off to coding.
- Make a grid of objects 8x8.
- Code the sliding controls with a single cube. Remember to do it in a way that allows some cubes not to move at all (center) and allow to stop at an arbitrary position (walls)
- Make two cubes and let them slide up to each other.
- Add value to cubes, if they have the same value, merge.
- Make enemy cube that when it slides into a cube, divides it.
- Ddd center cubes
- Add walls
- Add spawning algorithm for both player and enemy cubes. Player spawn constant, enemy spawn starts low, then matches player spawn, and finally surpasses it.
- Add special powers to player cubes based on their numbers to make it interesting.
I want the next post to be at least after the first 4 points of the checklist, which is basically 2048. Ideally, I'd like to be done with at least the 5th task, so It'll be a variant on 2048, and not just a clone.
Previously on the gamejam:
Theme interpretation: Protect it
good gamedev article. resteemed :)
Seems interesting, good luck!