battle-rage Documentation

Table of Contents

Next: , Up: (dir)   [Contents]

battle-rage Documentation

battle-rage 1.0, October 10, 2016

Brüggemann Eddie

Copyright © 2016, Brüggemann Eddie


Next: , Previous: , Up: Top   [Contents]

1 battle-rage notice


Author: Brüggemann Eddie <mrcyberfighter@gmail.com>


Language: C++


Realease: October 10, 2016


Copyright: Brüggemann Eddie 2016 (C) GPLv3.


Up: battle-rage notice   [Contents]

1.1 battle-rage: the battle rages on !

battle-rage_presentation_screen

battle-rage is a *fighting game* providing *16* different *fighters*,

with all having differrent properties and sort of kicks:

  1. Fuuma
  2. Geese Howard
  3. Hanzo
  4. Hotaru Futaba
  5. Iori Yagami
  6. Kim Kaphwan
  7. Kisarah Westfield
  8. K
  9. Kyo Kusanagi
  10. Lee Pai Long
  11. Mai Shiranui
  12. Mr Big
  13. Mr Karate
  14. Robert Garcia
  15. Rock Howard
  16. Terry Bogard

*playable with joystick(s)*,

and you can play: *against* the _computer_ like _another player_ and let the *computer* _fight against_ the *computer*.

Warning: You must have a *joystick* to control battle-rage.

And the *keyboard* is a little bit used: per example for _pausing the game_ you must press the Space Bar.


Up: battle-rage the battle rages on !   [Contents]

1.1.1 battle-rage different fighters properties

battle-rage provide a choice of *16* different fighters which all have some different values

for the following listed properties:

Some of the fighters are equiped with weapons from different kind: a baton, a bag, a janapense hand fan,...

and some others does fight entirely with the feets and the hands.


Next: , Previous: , Up: Top   [Contents]

2 battle-rage: the game


Next: , Up: battle-rage the game   [Contents]

2.1 The presentation screen

battle-rage starts with the *presentation screen* after checking a joystick is right pluggged.

Note: The first time you launch battle-rage or everytime you plug a new joystick model,

you must configure the joystick.

A joystick configuration screen will appear to do so.

 

Pressing ESCAPE in the *presentation window* is the only way to *quit the game*.

Else if you press ESCAPE you will return to the *presentation screen*.

 

You can navigate through the items using the *directional pad* from your joystick,

and confirm by pressing a joystick button or ENTER into the menus and to quit the interludes.


Next: , Previous: , Up: battle-rage the game   [Contents]

2.2 The joystick configuration screen

joystick_battle-rage

At first you will have to press the button corresponding to the blinking button on the screen.

And then the same with the directional pad in every directions:


Next: , Previous: , Up: battle-rage the game   [Contents]

2.3 The main menu

The main menu is composed from following items:


note: Selelecting directly *Play* or *Player vs Computer* is the same.


Next: , Previous: , Up: battle-rage the game   [Contents]

2.4 Configure game

The configure game menu is composed from following settable items:


difficulty: The _MISC_ mode set all properties from all Fighters to the same value.


Next: , Previous: , Up: battle-rage the game   [Contents]

2.5 Reconfigure joystick

Will permit you to reconfigure a joystick if you have made an error during the primary configuration.


Next: , Previous: , Up: battle-rage the game   [Contents]

2.6 Read notice

Will launch this notice into your web browser.


Next: , Previous: , Up: battle-rage the game   [Contents]

2.7 The choose fighter screen

Here you can select a fighter as:

With the arrows of the directional pad of your joystick.

Pressing RETURN (Enter) will activate the random fighter selection.


Previous: , Up: battle-rage the game   [Contents]

2.8 Fighting

All joystick combinations are explain here and you can pause the game by pressing the SPACE bar.


Next: , Previous: , Up: Top   [Contents]

3 battle-rage fighters

All fighters have some properties:


Next: , Up: battle-rage fighters   [Contents]

3.1 Speed

The speed indicate the speed the fighter moves *forward* or *backward*.

And how much _(speed / 3.75)_ the fighter *advance* in direction to the *adversary* when he *give a kick*.


note: The *speed* values are comprise between: [*10*-*15*].


Next: , Previous: , Up: battle-rage fighters   [Contents]

3.2 Aggressiveness

This property is only take into account when the fighter is the computer.

And indicate how aggresiv the fighter is.


note: The aggressiveness value is a percent.


Next: , Previous: , Up: battle-rage fighters   [Contents]

3.3 Force

The force indicate how much damage the fighter inflict to his adversary minus the adversary resistance.


note: The fighter force is comprise between [*0.80*-*1.30*].


Previous: , Up: battle-rage fighters   [Contents]

3.4 Resistance

The fighter resistance indicate how much life points the fighter he will lose when he receive a kick.


note: The resistance value is comprise between: [*0.75*-*1.25*].

Note: When the fighter kick the ass of his adversary and this one is not protected

The life points ferom the adversary are reduce in this manner:

([Value of the kick] × [force]) - ([Resistance common value] × [resistance]) ;

Next: , Previous: , Up: Top   [Contents]

4 battle-rage fighting


Next: , Up: battle-rage fighting   [Contents]

4.1 Introduction:

All fighters have a common set of kicks in relationship

to the joystick button with or without a direction bouton, on the directional pad from your joystick:

joystick_battle-rage

note:

So you get the following differents combinations:


Next: , Previous: , Up: battle-rage fighting   [Contents]

4.2 Simple *combinations*:


note: The ↑ is not used for jumping: some combination makes the fighter jumping.


Previous: , Up: battle-rage fighting   [Contents]

4.3 Direction + Button *combinations*:


Next: , Up: Direction + Button combinations   [Contents]

4.3.1 *back hand* kicks:


Next: , Previous: , Up: Direction + Button combinations   [Contents]

4.3.2 *front hand* kicks:


Next: , Previous: , Up: Direction + Button combinations   [Contents]

4.3.3 *front foot* kicks:


Previous: , Up: Direction + Button combinations   [Contents]

4.3.4 *front foot* kicks:

Warning: because nothing is perfect it can happen that a combination don’t really

represent what it should like explain above.

But *I guarantee* that it really *doesn’t happen often* and that the replacement *is near from your expecting*.

And some kicks have fallbacks: this mean that 2 differents combination can give the same kick: not often.

All according the fighter.


Next: , Previous: , Up: Top   [Contents]

5 Joystick(s) logic of battle-rage


Next: , Up: Joystick s logic of battle-rage   [Contents]

5.1 The joystick plan:

 
joystick_battle-rage
 

Next: , Previous: , Up: Joystick s logic of battle-rage   [Contents]

5.2 battle-rage joystick usage

For playing battle-rage you only need the the *4* buttons A, B, Y and Y and a *directional pad* (stick).

The button at the top of the joystick (RF, RB, LF, LB) aren’t used.

You can use the *digital* stick (_directional pad_), *which is recommanded*, as well as the *analogical* stick.


warning: I can’t guarantee you that you can use twice stick at the same time once your joystick configured.


Next: , Previous: , Up: Joystick s logic of battle-rage   [Contents]

5.3 battle-rage and his joystick rules

battle-rage has some rules for playing with the joystick.

According to the fact that you have *2 hands* and *2 foots* (exclude for the physic handicap).

battle-rage follow *the same logic* for the _joystick_ buttons *logic*:


note: You can sea that like a cross which *X* axis is are the foots and the *Y* axis the hands.

You can use *combinations* by adding a direction from the *directional keypad* to the used button.

This will generate different kicks for every combination.

*Finally* all combination make sens, _per example_:

Pressing the *Up* arrow and an *hand button* will produce an *uppercut*,

and pressing the :*Back arrow* and a *foot kick* will produce a *return foot kick*.

Warning: because nothing is perfect it can happen that a combination don’t really

represent what it should like explain above.

But *I guarantee* that it really *doesn’t happen often* and that the replacement *is near from your expecting*.

And some kicks have fallbacks: this mean that 2 differents combination can give the same kick: not often.

All according the fighter.


note: Because it’s easier to press a button instead of using a combination the combinations inflict more damage.

Note: This logic is follow for every *joystick* model since you have to configure your *joystick* first.

But you can *reconfigure* your *joystick* if you make a misstake during the configuration phase.


Next: , Previous: , Up: Joystick s logic of battle-rage   [Contents]

5.4 The different joysticks models handling

battle-rage doesn’t claim to take in charge every different joystick model of the world but:

Note: battle-rage does the best for taking in charge the most of different joystick models.

And you must pass through a _joystick configuration phase_, which is oblige,

every time you *plug a new joystick model*.

*Not* every time you plug your(s) _joystick_ to *play the game* !


warning: To know that every time you plug a new joystick model you will have to configure it.

That’s better for all: the game logic, you, conversation about battle rage,...

Because it permit to set a precise combination set, not in according differents joysticks models mess, but acccording to the game.


Next: , Previous: , Up: Joystick s logic of battle-rage   [Contents]

5.5 Advice:

You must better plug the joystick before starting the game.

Else you will be notify about the problem and be invited to plug a joystick before really starting the game.

And if you plan to play with 2 users plug 2 joytsick before gaming.

But you if you don’t have plug 2 joysticks you will be invited to do so...

*Sorry* but my _joystick handler_ doesn’t handle the plug-in plug-off of _joysticks_,

so the free hot plug of _joystick(s)_ is not permit with battle-rage.


Next: , Previous: , Up: Joystick s logic of battle-rage   [Contents]

5.6 If the joystick configuration fail.

If you have bad luck and your _joystick_ model is really not compatible with battle rage, havoc.

Else, if you made an error, you can try to reconfigure your _joystick_ again by using the configure joystick menu item.


note: Sea the technical note for further informations1.


Previous: , Up: Joystick s logic of battle-rage   [Contents]

5.7 Technical notes about joystick handle.

Internally battle-rage suppose that the buttons A, B, Y and Y have all a value comprise between included _[0-3]_ like the most _joysticks_ does.

Internally battle-rage suppose that directional pad is implemented as 2 axis (B and Y for the *X* axis and A and X for the y axis).

But you can predict *nor* the SDL2: if an axis number will be the *X* or the *Y* most common joytsick use 0 for *X* and 1 for *Y*...

But the sticks: analogical and digital are taking in charge, because with battle-rage you must configure you joystick the first time you plug it.

And the big problem is that some joystick doesn’t respect at all this rules.

I can only test this values which are right for my test _joysticks_ (2 joysticks which works differently).

So if your _joystick_ work otherwise than with this values for this set of buttons or axis *it won’t work at all !*

This fact is coming from that I use an Input_Handler written by *Shaun Mitchell*, for his book SDL Game Development (june 2013) [Packt Pusblishing].

I *enhance* this Input_Handler to take in charge the most of joytsick possible: The most common.

Even if the base joystick for *Shaun Mitchell* (an X Box 360 *joystick*) won’t work with battle rage because of the fail of one axe.

But you can play battle-rage with an X Box 360 *joystick* but the *Y* axis won’t work !


note: Great thanks to *Shaun Mitchell* for his book and code writing and his code.


Next: , Previous: , Up: Top   [Contents]

6 Images of the fighters from battle-rage


Next: , Up: Images of the fighters from battle-rage   [Contents]

6.1 Fuuma

Fuuma

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.2 Geese Howard

Geese_Howard

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.3 Hanzo

Hanzo

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.4 Hotaru Futaba

Hotaru_Futaba

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.5 Iori Yagami

Iori_Yagami

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.6 Kim Kaphwan

Kim_Kaphwan

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.7 Kisarah Westfield

Kisarah_Westfield

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.8 K

K

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.9 Kyo Kusanagi

Kyo_Kusanagi

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.10 Lee Pai Long

Lee_Pai_Long

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.11 Mai Shiranui

Mai_Shiranui

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.12 Mr Big

Mr_Big

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.13 Mr Karate

Mr_Karate

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.14 Robert Garcia

Robert_Garcia

Next: , Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.15 Rock Howard

Rock_Howard

Previous: , Up: Images of the fighters from battle-rage   [Contents]

6.16 Terry Bogard

Terry_Bogard

Previous: , Up: Top   [Contents]

7 battle-rage credits


Next: , Up: battle-rage credits   [Contents]

7.1 Ressources


Next: , Up: Ressources   [Contents]

7.1.1 Images

The fighters images are issue from the game:


note: All original fighters are available in the index from my website <‘http://open-source-projects.net’>

 

The bridge backgroud image is issue from the

shun-li stage of the game street fighter.

For the landscapes backgrounds:

by_cyrus_annihilator

Next: , Previous: , Up: Ressources   [Contents]

7.1.2 Sounds

For the voices thanks to:

Male voice:

Jeffrey M. Smith

<‘http://fiverr.com/jeffreymsmith’>

 

Female voice:

Giselle

<‘http://fiverr.com/easymedia’>


Previous: , Up: Ressources   [Contents]

7.1.3 Others

For the others ressources their all under free licenses found on severals sprites websites.


Previous: , Up: battle-rage credits   [Contents]

7.2 Credits

Thanks to my mother, my family and the doctors.

Stay away from drugs:

Drugs destroy your brain and your life.


Footnotes

(1)

technical-notes-about-joystick-config