Ik ben de laatste paar weken, samen met een maat van me, bezig geweest een spel te programmeren, genaamd Smash Battle. Het is een twee-player vechtspel geïnspireerd door Mario Battle uit Super Mario Bros 3, maar met wat belangrijke wijzigingen. We proberen het spel zo 8-bit mogenlijk te maken.
Hoe werkt het?
Smash Battle is een two-player vechtgame. De bedoeling is dat je de tegenstander aanvalt tot zijn healthbar leeg is. Er zijn een aantal manieren om dit voor elkaar te krijgen: Je kan schieten (10% schade), bommen leggen (25% schade), op z'n hoofd springen (5% schade) en hem in een gat duwen (100% schade).
Spelers beginnen met oneindig veel gele kogels, twee rode kogels (die dubbel schade geven) en drie bommen. Zo nu en dan verschijnt er een willekeurige powerup op een willekeurige plek. Dit kan 25% extra health zijn, een bom of vijf rode kogels. Je kunt maximaal 100% health hebben, 9 bommen of 20 rode kogels.
De features
http://nl.youtube.com/watch?v=YTEP25zOnJU
Downloaden
Smash Battle kan gedownload worden van sourceforge. Zie hier:
https://sourceforge.net/projects/smashbattle/
De code is ook beschikbaar om te downloaden.
Hou wel in je achterhoofd dat het hier om een ALPHA versie gaat. Kijk niet raar op als je opeens een bug tegenkomt. Het spel is speelbaar, maar nog lang niet af.

Besturing
Je kunt dit spel het beste spelen met twee joypads. Met je toetsenbord spelen kan ook, maar deze kan nog wel eens problemen geven als je teveel toetsen tegelijk in drukt.
De instellingen van de besturing zijn nog niet aan te passen vanuit het spel. Wel kun je in de source (Main.cpp) de instellingen wijzigen, maar dan moet je het spel ook opnieuw compileren.
Toetsenbord Player 1
W, A, S, D: beweeg links en rechts, bukken, springen en menu's besturen
linker shift: rennen
linker ctrl: schieten
linker alt: bom
esc: pauze
Toetsenbord Player 2
pijltjes toetsen: beweeg links en rechts, bukken, springen en menu's besturen
rechter shift: rennen
rechter ctrl: schieten
rechter alt: bom
enter: pauze
Playstation controller
Als je toevallig een Playstation-naar-USB converter heb liggen en twee Playstation controllers, dan is de besturing als volgt:
D-pad of de linker analoge stick: beweeg links en rechts, bukken, springen en menu's besturen
[]: rennen
X: springen
R1: bom
R2: schieten
Start: pauze
Gravis gamepad pro
D-pad: beweeg links en rechts, bukken, springen en menu's besturen
Blauw: rennen
Groen: springen
R1: schieten
R2: bom
Start: pauze
Andere joypads zullen ongetwijfeld ook werken, alleen zul je even moeten uitzoeken welke knop wat doet.

Bekende bugs
Als je een bug tegenkomt, post deze dan hier: https://sourceforge.net/t...up_id=244367&atid=1125392
Hier is een korte en incomplete lijst over wat we in de toekomst willen en hopen toe te voegen:
De code voor Smash Battle is uitgebracht onder GPLv3. http://www.gnu.org/licenses/gpl.txt
Het artwork (graphics, geluid) zijn uitgebracht onder de Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported licentie. http://creativecommons.org/licenses/by-nc-sa/3.0/
De muziek (battle.ogg en title.ogg) zijn geschreven door NickPerrin en zijn ook uitgebracht onder de Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported licentie.
Credits
Code - Bert Hekman
Graphics - Jeroen Groeneweg
Geluiden - Created with sfxr by Bert Hekman
Originele muziek - NickPerrin
Over de ontwikkeling
Smash Battle is geschreven in C++, met behulp van Visual Studio 2005 en vim. Het is tevens mijn eerste echte C++ project, dus verwacht maar veel smerige code als je daar doorheen gaat spitten. Het spel leunt zwaar op de SDL, SDL_ttf en SDL_mixer libraries. De graphics zijn gemaakt met de GIMP en MS Paint.
Hoe werkt het?
Smash Battle is een two-player vechtgame. De bedoeling is dat je de tegenstander aanvalt tot zijn healthbar leeg is. Er zijn een aantal manieren om dit voor elkaar te krijgen: Je kan schieten (10% schade), bommen leggen (25% schade), op z'n hoofd springen (5% schade) en hem in een gat duwen (100% schade).
Spelers beginnen met oneindig veel gele kogels, twee rode kogels (die dubbel schade geven) en drie bommen. Zo nu en dan verschijnt er een willekeurige powerup op een willekeurige plek. Dit kan 25% extra health zijn, een bom of vijf rode kogels. Je kunt maximaal 100% health hebben, 9 bommen of 20 rode kogels.
De features
- Acht characters (die alleen in uiterlijk verschillen)
- Vier arena's
- Bommen
- Een aantal verschillende powerups
- Ondersteuning voor toetsenbord en joypads/joysticks
http://nl.youtube.com/watch?v=YTEP25zOnJU
Downloaden
Smash Battle kan gedownload worden van sourceforge. Zie hier:
https://sourceforge.net/projects/smashbattle/
De code is ook beschikbaar om te downloaden.
Hou wel in je achterhoofd dat het hier om een ALPHA versie gaat. Kijk niet raar op als je opeens een bug tegenkomt. Het spel is speelbaar, maar nog lang niet af.
Besturing
Je kunt dit spel het beste spelen met twee joypads. Met je toetsenbord spelen kan ook, maar deze kan nog wel eens problemen geven als je teveel toetsen tegelijk in drukt.
De instellingen van de besturing zijn nog niet aan te passen vanuit het spel. Wel kun je in de source (Main.cpp) de instellingen wijzigen, maar dan moet je het spel ook opnieuw compileren.
Toetsenbord Player 1
W, A, S, D: beweeg links en rechts, bukken, springen en menu's besturen
linker shift: rennen
linker ctrl: schieten
linker alt: bom
esc: pauze
Toetsenbord Player 2
pijltjes toetsen: beweeg links en rechts, bukken, springen en menu's besturen
rechter shift: rennen
rechter ctrl: schieten
rechter alt: bom
enter: pauze
Playstation controller
Als je toevallig een Playstation-naar-USB converter heb liggen en twee Playstation controllers, dan is de besturing als volgt:
D-pad of de linker analoge stick: beweeg links en rechts, bukken, springen en menu's besturen
[]: rennen
X: springen
R1: bom
R2: schieten
Start: pauze
Gravis gamepad pro
D-pad: beweeg links en rechts, bukken, springen en menu's besturen
Blauw: rennen
Groen: springen
R1: schieten
R2: bom
Start: pauze
Andere joypads zullen ongetwijfeld ook werken, alleen zul je even moeten uitzoeken welke knop wat doet.
Bekende bugs
Als je een bug tegenkomt, post deze dan hier: https://sourceforge.net/t...up_id=244367&atid=1125392
- Fullscreen werkt niet goed op een widescreen monitor
- De besturing is niet aan te passen vanuit de game
- De joypads werken soms niet nadat er een potje gespeeld is en terug is gegaan naar het menu
- De Makefile mist de definities voor DoubleDamagePowerUp.cpp en .o
Hier is een korte en incomplete lijst over wat we in de toekomst willen en hopen toe te voegen:
- De mogenlijkheid om de controls te herdefineren
- De optie om de regels van het spel te veranderen (hoe veel kogels krijg je? hoe veel bommen? moeten de powerups aan of uit?)
- Blauwe kogels (die sneller gaan? of misschien zwakker zijn, als een soort van powerdown die je niet wil pakken
)
- Iets meer arena's en misschien een arena editor
- Een of meer single player modi
- Multiplayer over netwerk of internet (Voor in de verre toekomst misschien...)
De code voor Smash Battle is uitgebracht onder GPLv3. http://www.gnu.org/licenses/gpl.txt
Het artwork (graphics, geluid) zijn uitgebracht onder de Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported licentie. http://creativecommons.org/licenses/by-nc-sa/3.0/
De muziek (battle.ogg en title.ogg) zijn geschreven door NickPerrin en zijn ook uitgebracht onder de Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported licentie.
Credits
Code - Bert Hekman
Graphics - Jeroen Groeneweg
Geluiden - Created with sfxr by Bert Hekman
Originele muziek - NickPerrin
Over de ontwikkeling
Smash Battle is geschreven in C++, met behulp van Visual Studio 2005 en vim. Het is tevens mijn eerste echte C++ project, dus verwacht maar veel smerige code als je daar doorheen gaat spitten. Het spel leunt zwaar op de SDL, SDL_ttf en SDL_mixer libraries. De graphics zijn gemaakt met de GIMP en MS Paint.