A Narcissist's Prayer

That didn't happen.

And if it did, it wasn't that bad.

And if it was, that's not a big deal.

And if it is, that's not my fault.

And if it was, I didn't mean it.

And if I did...

You deserved it.

Tech review - 2d fighting engines

Mugen

https://mugenarchive.com/

http://mugenguild.com/

Closed source. Very popular with community, but the maker is unreliable and rarely updates. (They don't even have a website.) Many games have been made with it but they are all free. No-one ever seems to have obtained a license for commercial distribution. Creating characters is tricky but there are plenty of tutorials and examples.

Ikemen

https://osdn.net/users/supersuehiro/pf/ikemen/wiki/FrontPage

Some people claim this is a mod of Mugen, some claim it is a clone. There's no documentation and the author appears to only speak Japanese. It has source code which I think is written in Lua, and there are several forks made by different people, but no license info anywhere to say whether they are legal to distribute.

Paintown

http://paintown.org

Open source side-scroller beat em up engine. Free for use in commercial games, works on Linux, Mac and Windows. Only has single author working on it and development is slow but is still alive. Technically looks pretty good. Could possibly be adapted to make a 1 on 1 fighter.

Paintown Mugen

https://github.com/kazzmir/paintown

Paintown contains within in a second separate game engine, which is an exact clone of Mugen. It doesn't seem to be used much so I don't know if it has reached 100% compatibility with Mugen characters, but it certainly works with the Kung Fu Man example. So if it works, this is probably better option for releasing a game than original Mugen.

OpenBor

http://www.chronocrash.com/forum/

https://github.com/DCurrent/openbor

Another open source side-scroller beat em up engine. Free, win/mac/linux etc. Under active development and has large community around it. Has actually been used to make a commercial game: http://store.steampowered.com/app/529000/Bad_ass_babes/

Unknown how difficult it would be to adapt it to make a 1 on 1 fighter.

Doom 2016 - what makes it so good?

The basic gameplay of Doom 2016 consists of 2 modes, which are alternated:

Combat

Unchanged from the original Doom and Quake games. Essentially it's a game of moving in a direction to avoid enemies while shooting in another direction while collecting powerups, like Robotron. The fact that is 3d rather than 2d does add the necessity of aiming up and down (although this wasn't even present in original Doom, which was just a 3d rendering of a 2d game). More recent FPS games feature hiding behind cover and automatic regeneration of health as essential elements of combat. The absence of these marks this as a throw back to the original Doom. (There is scenery which blocks line of sight and makes the combat more tactical, but hiding is not viable.)

However there is one new addition: the 'glory kill' system.

Exploration

Combat is broken up by sections of exploration. These are made interesting by:

  • The graphical design and sense of place

  • The thrill of discovering secret areas

  • The game bonus/upgrade rewards discovered

Personally I find exploration less fun than combat. But the above items do bring it up closer, and it also fulfils a role of something to do which is a break from intense action.

The sugar that makes this is an AAA title:

  • 1st person perspective - increases immersion over top-down 2d shooters, requires more detailed textures

  • 3d graphics - latest tech is always impressive (at least while it is new)

  • Great music

  • Story. It's minimal so it doesn't get in the way of the action but the voice acting and plot are still good. Mostly it's back-story, discovering what already happened, so no need to worry about the player influencing events or creating a non linear story. Much of it is text based and can be ignored entirely if the player isn't interested.

There are also a number of other systems layered on top:

Collectable weapons

As in the original Doom, you collect more powerful weapons the further you advance in the game. This makes the player feel more powerful. The more powerful weapons have limited ammo, meaning they cannot be used all the time, so they also introduce new tactical decisions of which weapon to use which makes the combat mode more varied and interesting.

Variety of enemies

Each type of enemy behaves in a different yet predictable way. On encountering a new enemy type the player is forced to discover the necessary tactics to counter it. Then the player is attacked by multiple types simultaneously, requiring rapid thinking and deployment of the already learnt tactics, in more and more challenging combinations.

Weapon modifications

Most weapons have 2 modifications available. They are unlocked through exploration pretty easily, and the player is given the management decision of which modification to unlock each time. This gives the weapon 2 alternate firing modes, for a total choice of 3 different kinds of fire from each weapon.

Weapon modification upgrades

Each modification can be upgraded 4 times, providing unique bonuses when that modification is used. Modifications are purchased via points, so the player has to decide what is best to buy. The points are awarded for exploring secret areas, killing enemies (which is pretty much essential anyway, so these points are regular and automatic) and completing challenges (see below).

Player character stats upgrades

Each level contains one or two stat upgrade points. Usually they are pretty easy to find, so progression is mostly automatic, but the player is given the tactical choice whether to upgrade health, armor or ammo capacity.

'Rune' specials

Each level contains 2 runes, of which 1 is easy to find. After finding the runes a special challenge must be completed before they can be used. These special challenges take the form of combat in a special arena with special limits imposed, e.g. limited health, time, weapons, ammo. Once runes are found and unlocked the player must then choose which runes to equip - they each provide some bonus only while equipped. The player is limited in the number of runes he can equip at once, so he is forced to choose carefully, optimizing the combination of runes that work best together and perhaps changing the equipped runes depending on the situation and what challenges he is currently aiming to achieve. Examples… TBC

Challenges

Each level has 3 unique challenges which give weapon modification upgrade points. Each weapon modification has one challenge to unlock the final upgrade. Each rune has one challenge to upgrade it. So at any one time in addition to winning the combat the player is trying to remember up to 3 or 4 current challenges to complete during the combat. Examples… TBC

Should you use a physics engine in your game?

In the real world, (almost) every object moves according to a set of laws known as Newtonian physics. If you want the virtual world of your game to feel realistic then it must implement the same laws. The easiest way to do this is to use a third party library such as Box2d. It will save you time and will probably be more accurate and efficient than your own physics code. However there are some cases that justify doing it yourself.

  • You want your game to behave like some classic game which did not use any realistic physics.

  • The physics of your game are Newtonian but the situations are very simple so you only need a small subset of the features of Box2d.

  • You want some Newtonian physics but you also want some physics that are unique to your game.

Let's see how Newtonian some common game control systems are.

  1. Constant velocity Movement (Space Invaders gun). You push left or right and it moves that way at constant velocity. You stop pushing and it immediately stops.

  2. Variable velocity Movement. As above but you can vary the velocity depending how hard you push on the analogue stick. Acceleration to the selected velocity is still instant so non Newtonian. Works for 2d as well as 1d movement.

  3. Newtonian 4 thruster. (Space taxi). Proper Newtonian physics with the limitation that your object is a square that cannot rotate. It has 4 fixed thrusters that can accelerate it up, down, left or right. Easy to implement because each thruster corresponds perfectly to an axis in two dimensions, and the screen is 2d, and joystick input is 2d. Gravity can also be modelled as a downward acceleration. Rather difficult for the player. Realistically in a vacuum speeds would be unlimited, which is problematic, and in atmosphere speeds would be limited by frictional forces, which you may not want to bother with, so you could just cut off thrust at a maximum velocity.

  4. Auto stabilized 4 thruster. As above, but player does not have direct control of the thrusters. Instead player uses analogue stick to input the desired velocity and thrusters are automatically fired to achieve this and automatically cut out as soon as it is achieved. Works well for 1d too.

  5. Brakes. As above, but the thrusters become more powerful when reducing velocity towards zero. This is realistic for an object in contact with the ground which could apply friction to slow down.

  6. Fast turns. Even with powerful breaks, a 1d character can feel sluggish when reversing direction. Probably because a 3d character could reverse direction without breaking simply by sharply steering. To emulate this we could skip velocity straight from +X to -x without going through zero.

Beta testers wanted

We need people to beta test RetroWar.

Click here to apply