And here it is, my friends, the anticipated version 1.100, the definitive version 1 of the game. The original release of the game had much to be desired and I spent nearly a year developing the game to a satisfactory state. It includes so many features I wanted to add from the very beginning such as the much wanted arcade mode, more mini-games, and the biggest one of all: online matchmaking. I'll briefly go through all these and more, but first, let us look at some of the more major changes in the patch notes.
General
More items to buy on the store in the story campaign.
Fixed issue where Marisa's warning laser pointed the opposite way when near the center line.
Fixed issue where player does not control CPU partner after their character is killed by Youmu's desperation.
Some backgrounds redrawn.
New gimmick stage, Asama Mountain.
Gameplay
New move added: The Top Drop. Hitting the ball from the very top of the screen will hit downward. Tutorial updated to include this move.
Dash is no longer locked to the direction you are going.
Survival now rolls over power ups you collected to next match.
A dot will show under team score when team is one point away from winning.
Hit window stat removed. Now every character has the same window of time to hit the ball before bumping the ball (blue trail). Check out the ball hit meter in Practice mode for clarification (the rectangle on top of your character's stat).
The limit of a player touching the middle of the playfield has been pushed a bit further.
Game modes
Arcade is now available.
Mini-games now have their own menu along with brand new mini-games.
Story mode updated to include more content, including new mini-games.
Versus mode revamped to include more options.
Online matchmaking now available.
Character information now availble in the Training menu.
Story mode
Prices have lowered on the shop.
CPU opponent now get harder when they have less points than you do and easier if they have more.
CPU opponents are more difficulty depending on how high their wager is.
New "mood" difficulty based on how the opponent is feeling.
More dialogue for the opponents based on occasion.
Extra Hatate lines for each weather event.
Added challenges after meeting requirement.
Crystals now transfer to new game.
You can now choose how many points you want to buy from Joon for 2000 crystals per point.
Characters
Reimu
Desperation now costs more when using offensively: 50 > 100.
When rally ends, her Desperation will stop but you will keep any meter left.
Marisa
Cirno
Daiyousei
Bullets have been decreased from 5 to 4 per shot and have a wider angle.
Projectile meter's max capacity has been lowered: 300 > 100.
Sakuya:
The angle of her knives have been modified to be more evenly spaced.
Hit power increased: 18 > 20.
Sakuya's luck has been raised: 5 > 7.
Remilia
Remilia's desperation can now be aimed more accurately by holding down ball button.
Fixed issue with her Desperation damaging your own wall when hitting your opponent's wall.
Youmu:
Fully charged blade can now destroy projectiles.
Max Desperation meter has been increased: 350 > 400.
Alice
Aya
Yuugi
Suika
Default bounce has been increased: 9 > 12.
Desperation, each mini-suika summoning has increased its cost: 1 > 5.
Max Desperation has increased: 400 > 500.
Desperation cost-per-step has increased: 5 > 10.
Ran
Forward and back sprite has been updated.
Fixed her bomb where star position was off.
Projectile now has extra rings of stars.
Projectile cost lowered: 200 > 150.
Projectile's max meter lowered: 600 > 500.
Chen
Others
User Experience
New main menu UI and color themes for modes.
The confirm and cancel buttons have been removed.
New instructions throughout the game that feature the button you must press.
Tutorial updated to include helpful graphics.
And there's plenty more minor changes as this build has completely transformed the game. So many that I couldn't keep track of every micro change the game had. I'm sure you will find something surprising if you have played the game previously, and if this is your first time, even better. I look forward to seeing what you will discover.
Arcade
Arcade mode has finally been implemented, a feature that I've personally been wanting. It's your typical arcade mode featuring 9 maches with two mini-games in between before seeing your character's ending. Unlike story mode where two characters share the same ending, each character has their own ending in arcade mode. But be careful as you only get a limited amount of credits to beat arcade mode.
Mini-games
Now you no longer have to wait for them in the story mode. If you want to play a particular mini-game, you can now select them from the main menu. I even took this time to add even more mini games for you to enjoy and they are also available in the story mode.
Versus
Versus mode is now even more customizable with a revamp menu that adds more features for greater customization of matches.
Training
While practice and Tutorial have had their updates, there is now a new menu item, Character Info. This is a much needed mode where you can learn all about the characters. Not just their abilities and what they do but their stats and even a review section for a quick glimpse of how they play.
But no mode was more requested than Online Matchmaking. But of course this mode was the most requested, this is a competitive game after all, so I knew that for version 1.100 I had to implemented online functionality. But this is where I must be candid. I very confident that 1v1 will work just fine but 2v2 did give me quite a challenge. Then again, who said that making a game go online was going to be easy? I knew it was going to be a challenge but I never saw just how much it would be.
In order to get a better idea let me briefly explain how online works. I actually did explain this earlier but I ended up accidentally deleting the announcement where I explained it in detail. But the idea behind online in my game began with 1v1 and it was a simple task (or at least much simpler than what I was going to be facing later on). In 1v1, all data is handled by the host: game points, player stats, currents state of the game, player positions and states, all of this is done by the host. The ball was also included in this but it ended up being a mess. The ball would just teleport everywhere, jittering frantically. It was clear that the ball needed its own method of sending its data. I managed to create a simple but effective system of simply having the player who currently has possession of the ball send that data over to the opponent. Because the player already has the ball, there is no need to send its own data, it just needs to let the opponent know where it is. It may not be a perfect solution but it did work out in the end.
However, when it was time to upgrade for 2v2, the opposite happened. Everything was going crazy. The method I used for 1v1 could be used in 2v2 because there were too many players sending data all at once. I had to come up with two protocols to deal with this: Relay and Mesh.
Relay protocol is my preferred method where data is still sent by every player to the host but the host packages whatever it has on that moment and does not process any further data until it sends it away. Any data being sent to it later is put aside and then checked if it's still valid. If not, it will discard it for a fresh one.
Mesh protocol is the typical one you will find in online games. Everyone sends packets to every other player and receives every packet from every player. While it did work for me, I felt it wasn't safe for most players, but maybe some players will find it better than Relay, so I'm giving the host the option to have either one.
While this works well for everything, the ball is once again an exception. It just would not cooperate like everything else. Making online for 2v2, and even 1v1, has been a real challenge mainly from the ball itself. They reason why the method for handling the ball in 1v1 worked well was because there was only two players and each one was confined to their side of the playing field (for the most part). This meant that the ball only had to deal with one character at a time. But with 2v2, now two players are conflicting each other over whose data is the one that is to be sent. I spent a lot of time and even had playtesters from around the world to try and figure out a way around this. That is why I had to implement a Ball Priority option in the Online menu.
Priority 1
This is the one where you give the host full authority over the ball throughout the entire match. No other player other than the host will be in charge of sending data to everyone.
Priority 2
Players 1 and 2 are the only ones to send data to every other player depending on who has possession of the ball. So if the ball is on Team A's side, Player 1 will be sending data to everyone, including their partner. If the ball is on Team B's side, Player 2 will take this role.
Priority 3
The same as Priority 2 except it's player's 3 and 4 who have the authority.
Priority 4
This one is a variation of the previous two. The player who is on top of another player will have priority. This one is a strange one but I figured that if there was a conflict of interest about who owns the ball, then perhaps you can use this priority to figure out which one offers a better connection and then switch to a previous priority.
I am confident that the game is pretty stable, with perhaps a micro-update here and there based on player feedback, I know for a fact that online will continue to need development to find the right way to handle the ball.
Lastly, during this week long event, there will be a high score challenge. There will be a thread on the Steam forums where players can submit video footage of themselves playing the arcade mode or any of the mini-games and their highest scores. The player who gets the highest score at the end of the event for each game mode will have a chance to win their choice of a free Steam key or a Thank You Fairy to be displayed in the game. There will be more details about this in the thread.
That will conclude this post but the event has only begun. I want to thank everyone who has bought the game back when it was in its early state, all the supporters of the Compact Youmu channel, and all future players of the game. This game couldn't have made it this far without your support, but don't take this as the end of the game's development. While version 1.100 is more or less the definitive edition of version 1 (barring some micro-updates later on), it is only the definitive version of version 1. Yes, there is a possibly of a version 2 with more modes, more characters, and the continuation of the story. But version 2 can only proceed with support of version 1. If you have wishlist this game, waiting for a sale to snatch it up, this is your chance. The game will be on sale this week for 30% off and future sales are also a possibility now that the game is in a better state where I feel confident enough to offer discounts. So if there is a time to finally get this game, this is it. Let's get a player base going for what can become the next great Touhou fangame!