Week of Rage: Unofficial Streets of Rage 4 Developer Bobi Angeliev Speaks

Bobi Angeliev and his friend Rosen are two indie developers from Bulgaria. Currently working on an interesting Xbox Live Arcade title called MADFIGHT, the duo are using the money made from this project to fund an unofficial Streets of Rage 4.

I caught up with them to get an insight into the growing Bulgarian development scene and what their forthcoming project involves.

Take it away guys!

An early piece of concept art for Bobi and Rosen’s fully 3D Streets of Rage 4 Game

Dave: Can you give me an insight into the Bulgarian game industry? I am fascinated to see how it varies from here in the UK. For example, how many developers are there, do your developers receive financial help from the government (UK developers don’t!) and what formats are more successful.

Bobi: There are several game studios in Bulgaria, most of them developing mainly PC strategies, RPGs, MMORPGs, but the current gen consoles are target for future titles, too. As far as I know, there’s no financial help from the Bulgarian government to any of the game studios here. Below are the biggest of them:

– Masthead Studios, behind the promising MMORPG “Earthrise” (http://www.play-earthrise.com)

– Ubisoft Sofia, “Blazing Angels”, PC port of “Rayman Raving Rabbids”, etc.

– Heamimont, behind several RTSs: “Tzar: The burden of the Crown”, “Celtic Kings” , “Tropico 3”, “rising Kingdoms”, “Grand ages: Rome”, “Glory of the Roman Empire” (http://www.haemimontgames.com)

– “Imperia Online” (MMO), AFAIK is from people from Heamimont.

– “Bulfleet”-  (http://www.bulfleet.com)

– “Hanovete” – (http://www.hanovete.com)

There may be some other Bulgarian studios but these are the most known for the moment.

Dave: How did you set up as a developer? Did you study coding at school or college? When did you decide to start on your own?

Rosen: Long story short, when I was born we already had Atari 2600, later Sega Mega Drive / Genesis, and when I saw the Credits of Sonic the Hedgehog I realized that it was actually created by people (I was barely 4 at that time) so I decided I’ll become a game programmer and was reading books and stuff since. Real programming with C began at 8th grade, when I heard about it. Currently I’m 22.

Bobi: I’m 29 right now and I play games since I was maybe 6 or 7 years old (Atari 2600). My passion about Streets of rage started back in 1991 after I saw the game at a nearby console club with several SEGA Mega Drive consoles, so I spent lots of money there (ha-ha). Unfortunately, that club was closed few years later and I remember I was too sad from the fact I can’t play SOR anymore. Later, a friend of mine had a Xmas trip to UK in 1994 and bring for me a brand new PAL (UK) Streets of rage 3 as New year gift (the best gift ever!). However, I was not able to play the game for 6 months until my parents bough a Mega Drive 2 for me in 1995.

Co-op play will make a return in Streets of Rage 4, complete with crushing team attacks

Needless to say I was blown from the great improvements in the game play, the polished graphics, and the overall presentation. SOR3 gave me great moments of fun and I enjoyed the game several hours every single day until 1999 when I went to the Bulgarian army for one year (it was a mandatory at the time). Since 1995, when I saw the SEGA Saturn’s capabilities at the local electronics shops, I started with my own concepts about a 3D Streets of rage with the hope to learn more about game development and make the game of my life when I have the necessary skills.

About 6 or 7 years ago I met with Rosen and was VERY impressed from his programming skills, although he was still a schoolboy. Shortly before that I had contacts with few programmers with the intention to join our forces to develop SOR4 in full 3D. I was little disappointed that each of them spoke about limitations, limitations, limitations…, turned out I was disillusioned that I won’t see my dream game to the rest of my life. When I asked Rosen whether it’s possible to program this and that, his answers were always straight and confident – “Sure, it’s easy!” , “Of course, it’s peace of cake!” or “It’s just a code, everything is possible!”
Since that moment we both started with the idea to develop our first game, a 2.5D (2D game play with 3D pre-rendered graphics) Golden axe 4 (later Golden axe Online). We both are big fans of SEGA and their classic beat ’em ups. A short non-game video can be seen here:

I learned 3D animation and was too frustrated by the poor and boring tools in various 3D programs I tested at the time. So, Rosen gave the brave idea to change the plan and develop our own 3D engine with custom animation tools that will give us the chance to go into full 3D game play and real-time 3D graphics. Another reason for the temporary abandon of the Golden axe 4 idea was the news from SEGA about their upcoming 3D remake of Golden axe for PS2. Fans would be happier with one “Golden axe” and one “Streets of rage” rather than 2 “Golden axe”s and zero “Streets of rage”.

An early test version of Streets of rage 4’s engine was ready by the end of 2005 (video here:

Rosen did it to this stage for TWO DAYS (just the beginning of his 3D programming!) and it was another confirmation for me that he knows what exactly he’s doing. Unfortunately, my mother became very ill and I was forced to start two jobs to gain money for her medicine, making it impossible to find any free time for the 3D modeling and animation of our game. Later she get better, so I had only one job and it was easier for me to find little more free time for our next task, a vertical shooter called “Madfight” that we still develop and upgrade.

Dave: Can you tell me a bit about your forthcoming Xbox 360 shooter Madfight? Will the money made from this game help you with SoR4?

Rosen: “Madfight” serves multiple purposes. One of my favourite genres is Vertical Shooter, and it is dying. I had bunch of  ideas, some borrowed from old school games like “Xenon 2: Megablast” and “Raptor: Call of Shadows”.

Xenon 2: An inspiration for Bobi and Rosen’s forthcomign XBLA title Madfight

The nature of the game requires relatively little modeling, for example the background and some objects can be made procedurally on the fly, so that narrows it down to the space ships and weapons.

Also it’s a good programming experience.

Possible income from distributing the game or wining a contest with monetary prize will definitely free us some time for developing games, rather than working on annoying jobs (unrelated to games) just to survive.

Bobi:
As Rosen said, nowadays the arcade shooters are not as popular as they were in the Golden ages of the gaming, late 80’s and mid 90’s, so it was a natural decision to move in that direction. Plus, we both had fresh ideas about adding some new features in the game play. “Madfight”‘s game engine is in advance stage of development and there are some really impressive features not seen even in most modern games. Its architecture is very flexible and can be used even in genres that are way too different from “Madfight” (like SOR4’s open world, car racers, etc).

Dave: What technical information can you tell us about SoR4? What engines will it use? Is the engine entirely original and created by your team?

Rosen: SOR4 uses expanded “Madfight” engine, which is totally original and uses no external libraries. “Madfight” is using the XNA technology (similar to DirectX 9.0c, but simpler). For SOR4 it is ported to SlimDX which is a managed layer for DirectX (9,10 and 11).

This means we can still use C# and .NET for programming and also benefit from Shader Model 4 and 5, which allows the same things to run faster and at higher quality.  For example, in DirectX 10 there is no longer necessary to render the Z-buffer to another texture, and just read from the hardware Z-buffer. Usually it means 20% faster rendering. Also, there is access to the subpixels of the backbuffer, which allows High Dynamic Range to be applied in the correct order. Compute shader allows for faster post processing, like Luminance extraction, Bloom, Motion blur, Depth of field, HDR tonemapping and so on.

Streets of Rage 4 will share similar visual trickery as Killzone 2 – Tasty!

Engine for SOR4 currently uses Deffered Rendering, which is used in games like “Killzone 2” and “Starcraft II” and allows decoupling of the lights processing in the scene from the number of objects and polygon count. It is great for non-organic non-transparent objects. Currently I’m researching how to implement Subsurface scattering (human skin). Water and transparent object are also implemented.

The engine uses custom format for models, levels, skeletal animations. At the moment we are modeling with 3DS Max and Rhinoceros, but the tools for animations and level making are also custom.

Dave: Can you reveal any information about the plot of SoR4? How about characters, stages, weapons, attacks etc? Did you have much input from the SoR.net community when building your ideas?

Bobi: The plot of SOR4: At the end of SOR3 Axel and friends fail to stop Mr.X , and the city is devastated and in ruins. Chaos everywhere. The gang goes back to level 6 (which is level 1 in SOR4) to find out what went wrong and how Mr.X escaped.

Good news for Skate/Sammy fans, he’s back for Streets of Rage 4

We are considering most, if not all levels from the trilogy to be back, if just to pass through and enjoy the nostalgia. Game progression is non-linear, allowing for going back through the level and going to previous levels. Somewhere you’ll have decisions which path to choose like in “Golden axe 3”. On the way there are mini-games, but we will not yet reveal information about them.

All the characters and weapons from the original trilogy will be present in the game, plus at least 3 new playable characters and some new weapons.

Dave: What technial issues do you have to tackle when making a 2D fighter like SoR in a 3D format? Who have past attempts like Final Fight Streetwise failed to capture the same feeling?

Bobi: Technical issues – many beat ’em ups fail in 3D because of several poor implemented key features. One of them is the camera, which rotates however it wants, obscuring the view. We have 2 main types of camera, one is a standard fixed side scrolling view like in the classic 2D beat ’em ups, the other one is free 3rd person camera, using split screen for 2/3/4 players on the same machine.

Similar to Streets of Rage Remake and Dynamite Deku, guns will feature in Streets of Rage 4

Our personal favourite is the camera in “Legend of Zelda: Wind Waker” and “Zelda: Ocarina of time”, so it’ll be very similar as performance. It will not change the angle of view while you are moving in small areas, however, it will turn smoothly behind you once you move further in some direction. Since the genre is beat ’em up, where you will often move few meters forward some enemies then return to the first position, we also implemented additional “Reaction delay” to the camera.

The latter will control the camera’s movement and will be one of the main advantages of our SOR4 over the previous unsuccessful 3D beat ’em ups. The “Reaction delay” will be totally customizable from 0 to 100%. Lets say you choose 0% – this will tell the camera to follow your player (or the center between the players while in multiplayer) strictly after each of his steps. On the other hand, “Reaction delay” of 100% will move the camera after the player only if he goes near the end of the screen.

This will bring back good memories when most the classic 2D beat ’em ups were all with fixed view while you beat all the punks on the screen, before you go further to the level. We think that “Reaction delay” of 75-85% is the most optimal choose for SOR4 – the camera will give you more freedom and will not make you mad by self-moving/rotating too often (a common problem in most 3D games), plus, you are guaranteed that the camera will follow you (or zoom-out in multiplayer) before you reach the end of the screen (another annoying problem with most 2D and 3D games, where you are often hit by “invisible” enemies which are out of the screen).

Bobi and Rosen’s project trailer hints at many new gameplay features

There will be also an optional automatic split screen mode in multiplayer on single screen, that will operate only when the players are too far each other. Once the team is close enough, the split screens will join back into a single screen. Thus, the players will be able to go through different locations, without the typical limitation of the normal cameras in most 3D games.

Another issue that took our attention is controlling the characters. While in regular 2D beat ’em ups the character is facing either left or right, in 3D games the tendency is the character to rotate 360 degrees, which complicates and makes impossible some combos where the D-pad is involved (the latter is not a problem with the 2D games). If a 2D game has a combo Forward, Forward, C, Down, B (running and drop attack in SOR2 and 3), it is OK, because this is well defined, the character is either facing left of right and hitting “Down” of the D-pad will never turn you sideways to the enemy.

But if the player in a 3D game is facing, say 45 degrees top/left, how do you execute such combo with pressing the D-pad (or Left analog stick) “Down” and still keep your position? We solved that problem, and even minimized most of the button combinations, by simply using other alternative buttons for certain moves. For example, the running Drop attack in SOR4 is possible in full 360 degrees with the Left analog stick, and will look this way: Forward + X + Y (using Game Cube’s “Dol003” controller). Simple, easy to do, and even shorter than the original 2D version.

Fighting Force on PSOne was perhaps the first 3D realisation of the 3D Streets of Rage dream. Yet it lacked the finesse of its prdecessor.

The only SOR3 moves we can’t do the same way in SOR4 are the upgraded “star” Blitz attacks that require using 2 or 3 directions of the D-pad after the X button (of Mega Drive) is pressed. It would be stupid to follow some other 3D games and make it happen by using long and complicated combos that will take you too much time, leaving you vulnerable to the enemies (remember, we speak about BLITZ attack).

Well, we can hold the player in the same direction by holding down the Left trigger (usable for strafe movement or strafe/back jump), but this, too, will be hard-to-execute, because your blitz attacks will look like: (L) + (Y) + directional combination with the Left analog stick. That’s why we decided to heavily re-design the execution of the Blitz attacks, so that now they are available only one at a time by replacing the normal Blitz attack :))  But don’t worry, you are able to switch between any of the 4 blitz attacks (Normal, Longer normal – 1 star, Half upgraded – 2 stars, Fully upgraded – 3 stars) in real-time through a simple button combination.

Although it may look like a downgrade towards the X-button blitz attacks in SOR3, because your blitz attack in SOR4 is preliminary selected, actually you will be rewarded with way easier and faster blitz attacks that won’t force you to stop, then hold a button, then press the D-pad 2 or 3 times in certain directions. You just push the Left analog stick in the desired direction and press the attack button. It’s as simple as it sounds.

SoR 4’s combat system sounds as deep and expansive as Shenmue’s. No bad thing at all!

There are only two moves that will require more buttons – the back attack and the series finisher attack (respectively Z and Y with the 6-button controller of Mega Drive / Genesis). In SOR4, they will be executed with (R)+A and (R)+Y. You also have an alternative back attack with A+X simultaneously i.e. attack+jump, exactly like in the original SOR games. There are between 4 and 6 different back attacks and 3 series finishers per player.

Apart from these little tweaks with certain moves, the rest of the fighting system will include all moves from the original SOR trilogy + hundreds of new moves per character. We try to stay as close as possible to the perfect fighting style and speed in SOR3, but using the attractive hit delay and clear slap from SOR2.

Final Fight Streetwise. A lesson in how to fuck up a perfectly good retro franchise...

Almost any of the 3D beat ’em ups failed to continue the genre successfully, because they lacked large number of important features that made their 2D predecessors so popular at the time. The most noticeable mistake was the removal of the jump button. Damn, how do you expect to have a proper beat ’em UP without you being able to UP??? No jump, no aerial attacks – that was a solid third part of the game play in the good old 2D games.

Other notable mistakes in the 3D beat ’em ups are the often lack of run or requirement to hold a button in order to run (some games even had automatic running without option to walk), lack of blitz attacks, too long and vulnerable slow series/combos, slow turn to the opposite direction, tardy response of the attacks (sometimes over 2 seconds after you execute the command), unoriginal enemies who use block in 90% of the time, etc. To add the last nail to the chest of the 3D beat ’em up genre, most of the developers removed the 2-player option, which was one of the most enjoyable things of the 2D games.

Dave: If Sega asked you to make a 2D SoR4, how would you approach the project? What modern tricks in today’s industry could be used to make the 2D format more engaging or exciting?

Bobi: Making a 2D game is just like an arcade game – easy to learn, hard to master. While rendering speed is very fast nowadays, there is sometimes memory limitation. If you take a high detailed 3D character with textures, and 100 different animations, it takes less than 5 MB ram. And of course, some skeletal animations can be reused for another characters. At the same time 2D sprites in HD and 32-bit color take a lot of memory, especially when you are targeting 1920×1080 resolution and 30 or 60 sprites/second animations for good fluidity.

…On the other hand, God Hand was a thrid person beat-em-up that worked surprisingly well.

If we were to make 2D SOR, characters would be pre-rendered (opposed to hand drawn). The game would scale good to less powerful platforms like mobile phones and handheld consoles by simply make the sprites in lower resolution and minimize the number of sprites/second. Say the game is for Xbox 360, while it is damn fast machine for rendering sprites, we can still use advanced 3D techniques for utilizing the maximum potential of the platform.

There can be many background layers, including multiple fighting grounds,  including different height levels, say 1 player goes up in the building floor by floor, another guards the 1st floor or stuff. Windows or puddles can reflect characters and environment. Also in 2D there is a high potential for more accurate (pre-rendered) fluids, gasses like smoke, fire, water, oil, etc. The same refers to the particle systems. AI can use neural networks which leads to more human-like decisions.

I remember one guy currently researches rendering of non-rotating objects with respect to the camera. Basically he pre-renders diffuse, normal, depth and specular information for the object into sprites, which means he can use a gazillion of polygons, and still use accurate real-time lighting and stuff.

Dave: Why do you think Sega has been reluctant to make a new SoR game?

Bobi: Beat ’em up is no longer the popular genre it used to be, and maybe SEGA is concerned it’ll turn out a bad game if it’s not polished to perfection. They released some time ago “Golden Axe: Beast Rider” for PS3 that’s nothing in common with the original games, except the title name and use of riding dragons… It’s a clear sign about SEGA’s passion to its old classics and wish to reinvent the beat ’em up genre. Just remember how many 3D beat ’em ups SEGA did after SOR3… Except a 3D SOR4…

Advertisements

One response to “Week of Rage: Unofficial Streets of Rage 4 Developer Bobi Angeliev Speaks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s