This is the first of a weekly series on about a casual mobile game I will try to develop from start to release in #8WeekGameDev. I will put weekly playable (PC browser) demos up on Kongregate https://www.kongregate.com/games/AntHillPlan/fliptiles-runner-v0-1-beta and a youtube version of the blog https://youtu.be/pPWbntsVibo. The game will include monetization and analytics etc. I am taking a lot of my ideas from Crossy Road, an endless Arcade game that is simple but well executed. It is free to play and it does not monetize by making playing the game annoying. Players watch a few ads and you get new characters faster, pay money to get some limited access characters. To get this done in 8 weeks and hopefully be profitable, I will be making many design decisions based on cost. Mainly cost of coding for time and cash for graphics assets, and the ability of features to bring in some revenue.
I am starting with prototyping game mechanics, after game mechanics are fixed I will decide on graphics. I am using Unity V2018.3 and Photoshop for most things.
Minimum Payable Game 0 (MPG 0)
This version is not actually playable it is just a concept.
The board has tiles with paths on them and an avatar moves on the paths. The tiles slowly scroll down and are destroyed at the bottom edge, new tiles being added at the top. The code for tiles and avatars moving on them was from an old project.
Below is an expanded outline of my development notes for the first week.
MPG 1 - Rotate Tiles under the avatar
The ideas that the player can change the tiles is on.
a) Rotate tile under self
static icons (made in Photoshop) at the bottom for 7 of the 8 rotations that put the tile back in its original position.
Design decision - What happens when the player hits edge while a tile is still rotating?
Should the player bounce or wait. Going with wait because it is easy to code and bouncing would probably be frustrating when playing. Start moving after rotating is finished and paths reconnect.
b)What happens player hits the edge of the board, bounce, die or wait?
- going with wait because I could not decide which is better and wait was default code behaviour. I might want to change this later.
Also, this gives me another option to change the difficulty. I could add new edges as curves that always lead back to the board. Then at higher difficulty have the edges tiles lead off the board.
c) Make all sure various speeds of things are adjustable easily in code. So they are changeable in the inspector in Unity while the game is running.
-acceleration of player's speed as time passes.
The tile scrolling speed is proportional to player speed, make that ratio adjustable.
I choose to have time to move along one section of track the same even though curved sections are shorter than straight sections. I think this will make it easier to judge how fast to make player speed and tiles scroll down speed. Also running faster when going straight compared to turning should look OK.
Design decision - to reduce a player's choices and force a player to use more types of transforms.
Using radial fill for cooldown & highlighting outline when done, because it is easy to code and intuitive for players to understand.
Buttons are inactive if the avatar is on a rotating tile. I thought coding for rotating an already rotating tile might get messy and I don't think it will add much to the game.
f) board size variable
I made sure it was to change the board size while testing. I just change in the board size in the inspector and move the camera.
g) Make a minimal playable game - finally, make sure I have something playable to put on Kongregate to get some playtesting. Also playing the game myself is important for coming up with new ideas and keeping my motivation up.
-random center 3 tiles - there following a pattern before.
-put max speed at 29 - above 30 I was getting glitches in play.
-extra score for waiting at the top (change to anywhere?) This was not needed to make it minimally playable, but I wanted to reward players for being able to go up faster than the tiles scrolled down. Also when players get better they can flip tiles around and the top score extra points by hitting edges repeatedly. I considered speeding up the scrolling when a player was near the top but that seemed like more work to code. I made the base score for surviving one row of scrolling 10 and the bonus for hitting an edge 9 just to give more interesting final scores.
I also integrated Scoring into Kongregate's high score system. I added analytics events for each rotation used and game start and end times. I don't know if I will ever use these but it was pretty easy to add.
If you bother to read down to the bottom here, you should check out the PC browser demo here https://www.kongregate.com/games/AntHillPlan/fliptiles-runner-v0-1-beta . Also if you give me 5 stars I will be happier It may even help me makes some money on this project.