That's right guys, I bring to you, Sonic Bash! v2! An updated version of the previous release. You could call this a DLC! and it's being entered for SAGE2016 and the Sonic Hacking Contest 2016! Release date: 15th October 2016

What's the new version including?

The aim and the rules of the game have not changed since last time, but there are some new features/updates/changes/fixes. This include:

Slightly changed logo art (obviously)

Brand new level/boss - Spring Yard Zone

First to 'X' wins (permanent option) - Choose whether to end the game at 5 or 10 wins

New "'Player' won the whole game" screen - congratulating the winner

"Thanks for Playing" screen - when a player wins the game, it will proceed to the credits, but it will give you access to an extra screen at the end (entering credits from the menu will not show this extra screen)

Respawn mode (permanent option) - Choose whether to respawn when you die in the game (will cost you two boss hits as a penalty for dying), or the traditional way of staying dead and the opponent wins. If respawn is on, you choose where to respawn with a cursor and you are invulnerable for a moment when spawning

Freeze monitor - The speedshoes monitor have been replaced with a freeze monitor (people kept saying what was the point in speedshoes in a boss battle). The freeze monitor will freeze you out of the game for a total of 5 seconds

Slight monitor code tweaking - The monitor is still completely random (all have the same chance at 12.5%), but if you have no rings, then the chances of getting a 10 rings monitor will increase to 62.5%, with the shield monitor being 12.5%, the Eggman and Freeze monitor being 0% (so they won't appear at all), and the rest of the monitors being 6.25%. In the previous version, every monitor was always 12.5%, regardless if you had 0 rings

Music speeds up within the last 10 seconds of the level (added pressure!)

Miscellanious bug fixes

Even with all this, the game is still 512KB and works on real hardware

The two new permanent options cannot be changed when a game starts. You can only change these settings once you have completed/restarted the game, but that obviously resets the win tally to 0. The 4 main options (level select, time, bounce and hide scores) can still be changed between rounds.

So what are you waiting for? Go and bash Eggman over and over again!

Screenshots

Here are a few screenshots of the new version of the game. You can still see more screenshots in the spoiler for version 1.

- - - - - -

What's this all about then?

This game is a ROM hack of Sonic The Hedgehog 2 and is a multiplayer game only. The idea of this game is that you and another friend of yours select a character (one being Sonic and the other being Tails) and you both battle it out to try to gain as many hits on Eggman. The catch is that Eggman only gets destroyed when the timer runs down to 0 (unless it's a draw at that time, then, it will wait for another hit). The player with the most hits at the end of the timer wins! You can also win if the other player dies before the timer runs out (if respawn mode is off). The amount of wins is tallied up on the results screen where you can either retry or change settings.

Settings

There are 4 main settings you can change in the game. Highlight a setting (by pressing up or down) and when you have a setting highlighted, you can change that specific setting by pressing left or right. The settings you can change are:

Zone Select

This lets you select which zone you would like to play your next competitive battle. You have 11 zones to choose from:

Green Hill Zone

Emerald Hill Zone

Marble Zone

Spring Yard Zone

Aquatic Ruin Zone

Casino Night Zone

Star Light Zone

Mystic Cave Zone

Metropolis Zone

Wing Fortress Zone

Death Egg Zone

NEW: First to X Wins

This is a permanent option and you can only change it once the game is complete/reset. Before the game starts, you and your friend get to decide how many wins are needed to complete the game. The first one to reach this target, wins!

NEW: Respawn after death mode

This is a permanent option and you can only change it once the game is complete/reset. Before the game starts, you and your friend get to decide if you want to respawn after dying. No, means once you die, your opponent wins that round (like it does in v1), and on, means you get to respawn into the round, and you choose where! Although every time you die, it will cost you two hits from your counter.

Time

You pick whether you would like the game to last 30 seconds, 60 seconds, or 90 seconds! The timer starts when the boss battle begins. You cannot get hurt (or die) before the timer starts or after it ends. This also applies to Dr. Eggman. You also cannot get hurt (or die) when Eggman is destroyed.

Bounce

You choose whether you and the other player collides into each other or not! Off, means you both interlace into each other (when in contact, you both flash rapidly, so you can both still see yourself). With the setting on, you both bounce off each other, or you can hurt* each other. When the setting is on, the zone will first start with you both interlacing until you split away, then, bounce mode comes into effect.

*you cannot make your opponent lose rings, nor can you kill them by bouncing into them. You can, however, force them into danger.

Hide Scores

Simple really. No, means both of your boss hits will be displayed at all times. Yes, then they are hidden*. If yes, then once the boss is defeated, they will both count up (gaining speed) to reveal the true score. Please note, scores will become visible if the timer runs out and you are both currently drawing. The scores will also become visible if one of the players die (unless respawn is on).

*a Switcheroo monitor will still swap your boss hits with each other even if the scores are hidden.

?

Can't decide what zone to play? Cannot decide if you're in the mood for bouncing or not? Instead of selecting a setting, you can make it random, by changing that specific setting to "?". You can randomise all 4 settings!

Ready

Picked your selections and happy with your settings? Press START while highlighting READY to bank your selections (if you have picked "?" for a specific setting, it will bank a random selection there and then). Then wait for your opponent to become ready. Once you are both ready, the 4 random monitors will choose who's selections to go with. The top monitor will reveal which zone to go for (it will pick Sonic's selection or Tails selection using their life icon). The second monitor will pick the time selection, etc., etc. If you have both made the same selection, it will display the switcheroo (teleport) icon to notify you that you have both selected the same setting. Once all settings are revealed, the game will then begin!

In Game

When you're in the game, you will both start in the exact same position as each other. Run to the right to enter the boss area, and on the way, collect as many rings as you can (rings amount range from 12-18 in total before bosses).

Most bosses run in the exact same way as their original game does, but each boss will chuck a random monitor from time to time, which may give you an advantage, or even a disadvantage. All monitors are random, and the icons are:

Sonic - Gives Sonic a boss hit

Tails - Gives Tails a boss hit

Eggman - Hurts or kills the player

Rings - Gives the player 10 rings in a rapid state

Shield - Gives the player a shield

Freeze - Freezes the player out of the game for 5 seconds

Invincibility - Gives the player invincibility for 10 seconds

Switcheroo - Swaps the players' rings, invincibility, freeze, shield, and boss hits with each other

In MTZ and WFZ bosses, Eggman can destroy the monitor with his laser (but do not fret, another monitor will be along any moment).

Some bosses’ code has been edited to make things fair. For example, in S2's CNZ boss, Eggman only drops a spike-bomb when he detects Sonic underneath but completely ignores Tails. In Sonic Bash, this isn't the case; he's after Tails too! A lot of bosses in S2 ignores Tails but not in this game. S1 bosses have been modified to bear in mind of Tails’ existence.

Contest

I decided to enter this to tie in with SAGE 2016. It will also be entered to SHC 2016. If you're happy with this hack, then please, vote for it in the SHC 2016 community voting! I appreciate your support!

Video

Here is a playthrough of Sonic Bash! v2 with me vs Premydaremy. Link is below, and don't forget to check out his other videos if you enjoy this />/>/>/>/>

I will be adding my own links after the contest has ended, but until then, please download from the either SAGE 2016 or SHC 2016. SAGE is the 15th of October whereas SHC 2016 is the 7th November.

How to use netplay on Kega/Gens

So it seems a fair few people do not know how to use netplay on Gens or Kega. Here's a very quick tutorial for both (I highly recommend Kega. After it's initial set-up (host only), it's a lot easier and less laggy due to the available settings. With Gens, there are no settings and takes a lot of experimenting to get the right server).

Gens - Load up Sonic Bash! v2 in Gens as usual. Then go on File, Netplay, you will be looking at a list of servers. Underneath that list, you can pick a username and connection type. Just leave connection type on at 30 keyframes (it doesn't matter which one you pick, but both you and your friend need to have the same type). Pick a server which has a good ping (lower the better). Tell your friend which server you're in so he can join. Once you're both in, one of you can create a game. Select Sonic Bash! v2. Your game will then appear on a list. Your friend selects that game and joins it. Once both in, select "start game" and you're in. To make the game as fluent as possible, make sure both your pings are approximately the same, and lower the better. If one has 15ms and the other has 22ms, that's fine. If one has 15ms and the other has 89ms, that's bad (lots of lag spikes). If you both have 89ms, that's slightly better, but maybe a different server is needed to decrease lag.

Kega - Kega works better as no servers are involved (technically), but first, it has a difficult initial setup (host only). You must enable your router/firewall to allow UDP port 5394 and have a static internal IP. This guide should help you. Again, only the host needs to do this. If you're joining a game, this isn't necessary. You'll never need to do this step again unless you change your internal IP address or change the router or your ISP, etc.

After this initial set-up is done, it's plain sailing. You open Kega and Sonic Bash! v2 as usual. File > Netplay.

If you're joining, File > Netplay > Join netplay game. Choose a username and enter the external IP address your friend gave you and join. The host should then have the friend entered.

From here, the host can then change the settings (latency) according to their friend's ping. It's usually best to put the latency as close to the ping being issued (equal or higher). The higher the latency, the less "internet" lag there is but more "button" lag there will be. Putting the latency under the ping will result in internet lag. So, if your friends' ping is 50ms, put the latency at 50 or higher (closer to 50 the better). Bandwidth is usually best left on medium.

The host then clicks start game, there you have it. Kega works a lot better and is generally smoother but it has a difficult initial setup (host only). Gens doesn't involve changing the router settings but can be very temperamental.

The closer you both live together, the smoother the game (means lower ping). If I (UK) plays Clownacy (UK), our game should be quite smooth. If I (UK), plays, for example, ShadowFire (AUS), then we're going to struggle. Enjoy Sonic Bash! v2 online!

==================================================================
Version 1's original post:

Spoiler

Coming October 19th 2015

Introducing Sonic Bash! The brand new, competitive multiplayer hack in town! Beat the living daylights out of Dr Eggman in 10 zones ranging from Sonic 1 and 2.

What's this all about then?

The idea of this game is that you and another friend of yours selects a character (one being Sonic and the other being Tails) and you both battle it out to try to gain as many hits on Eggman. The catch is that Eggman only gets destroyed when the timer runs down to 0 (unless it's a draw at that time, then, it will wait for another hit). The player with the most hits at the end of the timer, wins! You can also win if the other player dies before the timer runs out. The amount of wins are tallied up on the results screen where you can either retry or change settings.

Other media

- - - -

More in spoiler:

Spoiler

- - - - - - - -

Settings

There are 4 main settings you can change in the game. Highlight a setting (by pressing up or down) and when you have a setting highlighted, you can change that specific setting by pressing left or right. The settings you can change are:

Zone Select

This lets you select which zone you would like to play your next competitive battle. You have 10 zones to choose from:

Green Hill Zone

Emerald Hill Zone

Marble Zone

Aquatic Ruin Zone

Casino Night Zone

Star Light Zone

Mystic Cave Zone

Metropolis Zone

Wing Fortress Zone

Death Egg Zone

Time

You pick whether you would like the game to last 30 seconds, 60 seconds, or 90 seconds! The timer starts when the boss battle begins. You cannot get hurt (or die) before the timer starts or after it ends. This also applies to Dr Eggman. You also cannot get hurt (or die) when Eggman is destroyed.

Bounce

You choose whether you and the other player collides into each other or not! Off, means you both interlace into each other (when in contact, you both flash rapidly, so you can both still see yourself). With the setting on, you both bounce off each other, or you can hurt* each other. When the setting is on, the zone will first start with you both interlacing until you split away, then, bounce mode comes into effect.

*you cannot make your opponent lose rings, nor can you kill them by bouncing into them. You can however force them into danger.

Hide Scores

Simple really. No, means both of your boss hits will be displayed at all times. Yes, then they are hidden*. If yes, then once the boss is defeated, they will both count up (gaining speed) to reveal the true score. Please note, scores will become visible if the timer runs out and you are both currently drawing. The scores will also become visible if one of the players die.

*a Switcheroo monitor will still swap your boss hits with each other even if the scores are hidden.

?

Can't decide what zone to play? Cannot decide if you're in the mood for bouncing or not? Instead of selecting a setting, you can make it random, by changing that specific setting to "?". You can randomise all 4 settings!

Ready

Picked your selections and happy with your settings? Press START while highlighting READY to bank your selections (if you have picked "?" for a specific setting, it will bank a random selection there and then). Then wait for your opponent to become ready. Once you are both ready, the 4 random monitors will choose who's selections to go with. The top monitor will reveal which zone to go for (it will pick Sonic's selection or Tails selection using their life icon). The second monitor will pick the time selection, etc., etc. If you have both made the same selection, it will display the switcheroo (teleport) icon to notify you that you have both selected the same setting. Once all settings are revealed, the game will then begin!

In Game

When you're in the game, you will both start in the exact same position as each other. Run to the right to enter the boss area, and on the way, collect as many rings as you can (rings amount range from 12-18 in total before bosses).

Most bosses run in the exact same way as their original game does, but each boss will chuck a random monitor from time to time, which may give you an advantage, or even a disadvantage. All monitors are random, and the icons are:

Sonic - Gives Sonic a boss hit

Tails - Gives Tails a boss hit

Eggman - Hurts or kills the player

Rings - Gives the player 10 rings in a rapid state

Shield - Gives the player a shield

Speedshoes - Gives the player speedshoes for 10 seconds

Invincibility - Gives the player invincibility for 10 seconds

Switcheroo - Swaps the players' rings, invincibility, speedshoes, shield and boss hits with each other

In MTZ and WFZ bosses, Eggman can destroy the monitor with his laser (but do not fret, another monitor will be along any moment).

Some bosses’ code has been edited to make things fair. For example, in S2's CNZ boss, Eggman only drops a spike-bomb when he detects Sonic underneath but completely ignores Tails. In Sonic Bash, this isn't the case; he's after Tails too! A lot of bosses in S2 ignores Tails but not in this game. S1 bosses have been modified to bear in mind of Tails’ existence.

Other diminutive changes

A few changes to some codes here and there have been changed to make the game lag-free (cannot guarantee netplay lag-free obviously) and I have furthermore fixed a lot of bugs. Also, there are some important mechanic changes to highlight:

Monitors cannot crush you - falling monitors will only hurt you, but never kill you. Even if you have 0 rings. You won't lose any rings if you have some (you won't lose your shield either)! I decided this because it was killing people more often than not and it started to get irritating and it was making a fair few matches premature; making the game less enjoyable.

S3K's ducking - Even though I wanted to keep everything as close as I can to the original Sonic 1 and 2, Clownacy insisted I put S3K's ducking in to help with spindashing. Honestly, I didn't even know this existed, but he bugged me; all his fault it's in the game =P

And that's it. That is the basic idea of the game. Unfortunately, this is not a single player game, so invite a mate over, or get on netplay and challenge someone!

Contest

I decided to enter this and release the game to tie in with SHC 2015. If you're happy with this hack, then please, vote for it in the community voting!

I did think about it, but most people will be playing this hack on netplay, which then makes SRAM pointless, then making unlocks pointless. Therefore, all zones are available from the start and there aren't any un-lockables in the game.

Bored? Have you got 45 minutes to spare? If you have, then watch the new game play video of Sonic Bash! Best viewed 1080/60p!

redhotsonic vs Clownacy in a game of Sonic Bash! With commentary! Stick around to the end for some funnies and outtakes!

P.S. Sorry for the poor mic quality and the odd swearing. This was a spur of the moment thing and neither of us were prepared. I kept losing my words (especially at the end) and my laptop almost died at one point! I'll be better organised next time, I promise!

WARNING: Contains a lot of spoilers!

Sonic Bash! will be released on Monday 19th of October to tie in the with 2015 hacking contest.

So it seems a fair few members do not know how to use netplay on Gens or Kega. Here's a very quick tutorial for both.

Gens - Load up Sonic Bash! in Gens as usual. Then go on File, Netplay, you will be looking at a list of servers. Underneath that list, you can pick a username and connection type. Just leave connection type on at 30 keyframes (it doesn't matter which one you pick, but you both need to have the same type). Pick a server which has a good ping (lower the better). Tell your friend which server you're in so he can join (make sure his connection type is also 30 keyframes). Once you're both in, one of you can create a game. Select Sonic Bash!. Your game will then appear on a list. Your friend selects that game and joins it. Once both in, select "start game" and you're in. To make the game as fluent as possible, make sure both your pings are approximately the same, and lower the better. If one has 15ms and the other has 22ms, that's fine. If one has 15ms and the other has 89ms, that's bad. If you both have 89ms, that's slightly better, but maybe a different server.

Kega - Kega works better as no servers are involved, but first, it has a difficult initial set up. You must enable your router/firewall to allow UDP port 5394 and have a static IP. This guide should help you. After this initial set-up is done, you open Kega and Sonic Bash! as usual. File > Netplay. If you're hosting, Start Netplay game. Pick a username but leave the rest of the settings, then click create. Then go here to get your IP address. Tell your friend your IP. Wait for your friend. If you're joining, File > Netplay > Join netplay game. Choose a username and enter the IP address and join. The host should then have the friend entered. The host clicks start game, there you have it.

Kega works a lot better and is generally smoother but it has a difficult initial set up. Gens is a lot easier to start a game but can become laggy at some points.

The closer you both live together, the smoother the game (means lower ping). If I (UK) plays Clownacy (UK), our game should be quite smooth. If I (UK), plays ShadowFire for example (AUS), then we're going to struggle. Enjoy Sonic Bash! online!

One clarification for Kega Fusion - you don't need to have a static IP, it'll just mean that when your broadband next drops you'll have a new IP you have to give to your opponent. Also, if you're on an ISP that uses Carrier-Grade NAT, it's never going to work and you'll need to use Gens.

Sorry, I should have made that more clear. You will need to have a static internal IP address. When you do a port forwarding, you assign that port to be open to an internal IP (192.168.X.X). Say your PC is 192.168.0.20, you will assign the port 5394 UDP to be open to that address. You can only open one port per IP address. If you disconnect your PC from the internet/router (turn the PC off or whatever) and then reconnect, chances are it will gain a different IP, say, 192.168.0.21. Now that port is no longer open on your PC, an now Kega will not work on netplay. You may need to let Windows firewall to allow access to Kega (or the internal IP) to pass this port too.

You can get routers now that assign ports to a MAC address (you PC's MAC). Therefore it won't matter what internal IP it will become, although this is not common.

SuperEgg and I have found a way to eliminate most lag. Seeming as he's in the USA and I'm in the UK, and with SuperEgg having 172ms ping, we still both got a smooth experience. I may post a guide in the near future on how to get an almost lag free netplay game (pretty easy).

Anyway, if anyone has 20 minutes to spare, here is a video of me and SuperEgg battling it out on Sonic Bash with little lag:

Also, if anyone is wondering if there is going to be an update to this…. hopefully yes. There is a proper CPU for Tails in the works, but it's a lot more of a challenge than I first thought. Tails currently now starts of every level and collects some rings on the way to the boss (he'll start of running, jump then run, or spindash, its random). And he sort of works for beating the GHZ boss on his own, but struggles. If I am struggling with GHZ, then goodness knows how I'll code him for WFZ and DEZ =P

It really looks fun, too bad I can't play it with anybody... that's the reason I didn't even try it at hacking contest. The only question I have... what's up with the sonic disappearing thing when both Sonic and Tails are standing on the same place? Is it a bug or a feature? It is sort of annoying if I'm allowed to say so.
But again, it looks really fun.

Sorry for the off-topic, but that's being discussed here. You might be able to help them figure out what causes it.

Thank you, I didn't see that topic as I usually only visit always the same ones. I posted all the info I can supply that may give site's devs more clues. As I have no idea of coding, that's all I can do.