Today at lunch I unveiled Infinitris to several of my work mates.
At the office as devs we have relatively large screens, so it wasn’t until the 5th player joined that the horizontal wrap kicked in. But what an awesome moment it was :-).
As I develop, I run up to 3 instances of the game at once to “simulate” gameplay, but I can only control one player at once. I can work towards the vision that’s in my mind alone – on mechanics, features, and bug fixes, but I can’t get the true feel of the game. The balance, the social aspects of cooperating and competing with other players. It’s almost impossible to see what’s missing.
These playtests are proving over and over how important it was to develop a minimum viable product and continue based on the feedback and suggestions from real human players. New players have open minds. I’ve laid the foundation and shown them the jump from classic Tetris, a game that has barely changed in over 20 years, to something that has never been done before. Something with infinite possibilities. This change in outlook promotes the generation of new ideas, ideas that I can filter and fuse with the design that currently exists within me.
One idea which was brought up today was around collision. Something I was reluctant about, because although it adds new mechanics, it’s also restrictive. Collision is also limited as blocks only have truly free movement on the vertical axis.
“the basic premise of multiple people on one board I think points to one obvious mechanic and that is interference“
This was identified in the first test game. But it’s not easy finding a simple mechanic that fits with the existing game core and still improves the balance between cooperation and sabotage.
My team leader came up with an idea – What if you could drop on other players’ blocks while they are in midair? What if, by doing this, you could take some or even all of their points? I have a feeling a revised idea of this “block stomping” could be the missing piece to the game. I’ll be experimenting with it in the coming weeks.
Apart from some cool new ideas, our testing also uncovered some big issues – which is just as useful. Because a seemingly minor bug like the one I’m about to mention would probably kill any chance of massively multiplayer working as the game stands right now.
Something I identified in my first test game with two other players – a flaw with my mistake detection algorithm – became very visible today as a complete game wrecker when the player count went up. Currently, if a player makes a mistake by placing a block that causes an unfilled cell to be blocked (there is no path from the unfilled cell to the roof), their block (and the cells around it) will be destroyed and their score will be reset to zero.
The reason I had to delete the cells around the block of the player who made a mistake was a terrible hack to cover up a big problem: You can place blocks which do not block any paths from unfilled cells to the ceiling, but you can create gaps that are unfillable by any block in the room’s block collection. My current algorithm is way too simple to pick this up as being a “mistake”, something I sorely need to fix before the player count increases much futher. As is, the grid quickly turns into a minefield which is impossible to score lines without purposely killing your block in order to explode the cells around it and clear the unfillable gaps.
Fixing the above issue and trialing “block stomping” will be my main focus for version 1.0.1.
95 to go.