On Wednesday morning I woke up and checked the player count on Infinitris on my phone (It’s somewhat become a ritual recently). 20 players online! I jumped on my PC and joined in, only to discover what an absolute mess of a state the server was in. The server was crashing every 5-10 minutes. Switching rooms would cause the game client to go out of sync and all sorts of strange things to happen. Hardly anyone knew how to play, and the grid was so clogged with towers and bridges of cells that it was impossible to play properly even if you knew how.
This week I’ve been working hard to fix the worst of these issues, and released a number of patches (1.2.0a-1.2.0f). I’m glad to announce that the server is now stable and easily handling the current load.
To deal with the grid overpopulation issues I’ve introduced player caps for each room, and created some extra rooms for more variation. Currently there’s four rooms available:
- Trivium: A standard tetromino block set with a cap of 14 players. This is currently the main room.
- Labyrinth: A pentomino (5 cell) block set with a cap of 7 players. This one is pretty difficult even for registered players, but I think it has a lot of potential once I tweak it a bit and people learn more about the advanced features of Infinitris.
- Chronicle: Another tetromino block set, but limited to registered players only, minimising the number of players who join and don’t know what they’re doing.
- Elementary: A tromino (3 cell) block set. Now this one surprised me – It only contains two block types and should be ridiculously easy. But the new players are seeming to enjoy it, and actually clear some lines.
I took out Retribution (A room that inserts garbage rows for the first player who joins) – I want to make a properly polished game mode for this one.
Apart from bugfixes and some gameplay improvements, I also introduced persistent high scores – daily high scores and all-time high scores. There’s now a greater purpose than just holding the highest points in your current room, and it’s also helped increase the number of registered players.
A big thanks to Mike from iogames.space who approved my submission on his site. As a new game it’s currently being featured on the front page, and for the last week players have been streaming in. Over 90% of my traffic is currently coming from there, so once Infinitris drops off the front page the current activity is inevitably going to decrease. I’m taking full advantage of the activity levels though to do some thorough playtesting and re-assess the priority of items in my giant TODO list.
Some stats from the last week:
- 19,000 hits to infinitris.io.
- 220GB data transferred.
- 110 registered and activated free accounts.
So, what’s next?
Infinitris Premium still cannot be purchased, and my server hosting costs are starting to rack up ($10 a day). If 10% of the registered players purchase the game at the current rate of new registrations, I should be able to cover those costs. It’s far from a profit, but this is only the beginning, and I’ve got to start somewhere.
Other than that I’ll be continually making small gameplay improvements, such as tweaking the grid reset algorithm, making grid size changes less disruptive and extra help for new players.
Anyway, here’s the 1.2 -> 1.2.1 changelog.
- daily high scores are now saved for registered players. Once you make a mistake, your score will be saved.
- Added daily scoreboard on the landing page.
- Added all time high scores below the landing page.
- Added new block collection: Trominoes (3 cell set)
- Added new rooms: Chronicle (registered only), Elementary (Tromino set).
Bug Fixes / Improvements:
- Added extra keyboard control options:
- added control key as rotate counter clockwise.
- added new control scheme: wsad + q/e keys. Debug key is now “o”.
- added new control scheme: numpad keys: 8/5/4/6 + 7/9.
- added more rotate keys: z/x.
- improved mistake detection. All blocked cells are now highlighted. If an impossible gap exists before a block is placed (e.g. there’s enough room for one block but not enough for two), then those blocked cells will be filled without the player making a mistake.
- Fixed joining other rooms and still receiving packets from previous room causing the client to crash.
- Phase shifting now shifts to the closest free space below your block, rather than the closest space to the ground.
- fixed chance of player blocks existing and being placed in midair straight after reset.
- Fixed ability to enter a long message and cover the grid / screen with text.
- fixed registered player count in statistics.
- fixed chat icon showing when loading.
- new loading font.
- fixed huge amount of server logging (log files on server too large to navigate easily).
- fixed crashes not being reported in server logs.
- added room player caps.
- removed gallery section.
- Fixed server crash when user tries to login/register etc with username that has characters that need to be escaped.
- Enabled long term database backups in Azure.
This week I achieved a new record for the maximum players concurrently playing Infinitris at one time: 24.
24% of the way to my goal.