Important Announcement
Forum has been made read-only. Please click here for more information or here to return to The Spriters Resource.

ZX Buster (Work in progress)
#1
What is ZX Buster?

ZX Buster is a Sidescrolling Action Platformer Game that I am working on by myself. It is made in C++ using the SDL library.

The game is inspired mostly by a japanese SNES game I played called 'BS Kaizou Choujin Shubibinman Zero.' (I think that's the name)

It is currently still a bit of a work in progress but I do have a playable version of the game. I intend to have up to 27 or 30 levels when/if I ever finish it. Right now, Version 0.1.4 has like 17 levels kinda roughed out, although I intend to redo some of them.

On Version 0.1.5 now.


The Game

The objective of the game is to get through the levels and reach the Advance Arrow to progress to the next level. You start off with some basic moves at first, but you learn more moves later on as you progress through the game. Here's some controls.


Controls

Z = Attack/Confirm Selection
X = Jump

ArrowKeys = Movement/Duck

ENTER = Pause/Unpause


Combat Controls (The basic moves you can do at the beginning of the game)

X = Jump

Z = Punch (Fast)
Z while crouching = Sweep Kick (Knockback)
Z in air = Kick (Fast)
Z rapidly against target = Z Buster (Knockback, Powerful)

*Z Buster can break stronger blocks! (To use Z Buster, press Z repeatedly against a target)


Detailed Description
[spoiler]
Title Screen

When you start up the game, you will be presented with a Title Screen (Or a Loading Screen). Move the cursor to START with the [UP] and [DOWN] arrow keys and press [Z] to start the game.

Game Screen
During the game, there will be enemies and obstacles in your way. Most enemies will not do damage to you on contact (exceptions for maybe spiked enemies or traps), but they will attack you when you get close, so try to attack them quickly with [Z].

If an obstacle is in your way, in most cases you can try to find a way around it by jumping [X], or try to break it [Z]. Sometimes, you may have to use a special ability to get through.

*Levels are done in Stage Sets. The 1st level of a set will be a Normal Stage containing a Special Ability. The 2nd level will contain a Max HP upgrade somewhere. and the 3rd level will be a boss stage.


You have a HP bar displayed in the top left corner. It will decrease by 1 bar everytime you take damage. If you run out of HPs, you lose, and will head over to the Gameover Screen.

Gameover Screen

At the Gameover Screen, You can choose to RETRY the level you lost on with full HP or QUIT to quit to the Title Screen. Use [UP] and [DOWN] to select an option and [Z] to confirm.

*You are not given a prompt for clicking QUIT so be careful.

Item Pickups

You can also find item pickups throughout the levels. They will bob up and down to differentiate from normal tiles. Most pickups will heal you on contact, but some can be dangerous. (You won't encounter any dangerous pickups until later in the game) Special Ability pickups will grant you a new ability.

*Be on the lookout for Red Z's! They permanently increase your Max HP and will be helpful on your adventure! They're on every 2nd level of a Stage Set.

Bosses

On every 3rd level, you will face a boss. Each boss has their own unique attack pattern and will walk around the map and fight you, using their own tactics. They have their own HP bar displayed in the top right corner of the screen. If you can reduce their HP to 0, you will be able to advance to the next set of levels.

*If you attack a boss too frequently, they will do a special Sault action to counter you. Each boss has their own special Sault Action that can do different effects.
[/spoiler]

Debug Mode
[spoiler]
There is also a debug mode which you can toggle with SPACEBAR. With debug mode on you can view some things like, collision boxes, player and boss stances. It was only created to help me debug random parts of the game that weren't working right but maybe you want to mess around with it too. Keep in mind that some displays are inaccurate as I changed a few things hastily to check certain stances

Here's the additional controls with debug on

PGUP = Move 1 level up
PGDOWN = Move 1 level down
K = Hurt Player
H = Heal Player
D = Stun Player
C = Toggle CrazyParticles on/off
QWERTYUIOP = Toggle Abilities on/off (P turns them all off)

[/spoiler]


Actual Screenshots
[spoiler]
[spoiler=Version 0: Earliest prototype ever][Image: ZXscreenshot1.png][/spoiler]
[spoiler=Version 0.1: The game, kind of working][Image: ZXscreenshot5.png][/spoiler]
[spoiler=Version 0.1.4: Recent update][Image: screen1.png][/spoiler]
[spoiler=Version 0.1.4: Boss Battle 1][Image: screen2.png][/spoiler]
[spoiler=Version 0.1.4: Player using ZShot/Fireball Ability][Image: screen3.png][/spoiler]
[/spoiler]



Other Notes

I started learning C++ on December 17, 2012 and started coding this game on December 22, 2012. This is essentially my first attempt at making a game with C++, probably a little too early as I still don't understand too much about programming but I wanted to try anyway. My actual coding skills are still a little sketchy.

A lot of the code I learned to make this game is from Lazyfoo's tutorials.

The sprites are a bit sketchy right now but I'll work on that later. Like way later.


Anyways you can give the game a try down below if you want.


Download (bolded link is the newest release)

ZX Buster Version Alpha 0.1.5 (Visuals update)
Version Alpha 0.1.4 (17 levels roughed out)


Setup Instructions

You just have to download the .zip and from there, you can extract it to anywhere or whatever you want. (It will be put in it's own folder) Then just double click on the ZX_Buster.exe application inside the folder.

*I think I accidentally left in some unnecessary files in there but I was kinda in a rush, sorry about that.

SDL is cross-platform, but I have no idea if the game itself will work on all OS/Platforms.


Notice
Coding has kinda halted though due to all my time having to sink into job search since I have been trying to find some way to afford internet for about... I don't even know how long, 8 months at least? That and my laptop is bad. But I'm still trying whenever I can.
#2
Alright, finally gave this a try.

Everything seems to perform well, though the fact that you stop completely when you attack and the way you jump makes it feel very awkward.

Another note though when it comes to C++ and compiled executables in general... in this case, being cross-platform will mean you can compile it on any of the compatible platforms (in this case, Windows/Linux/OSX for SDL iirc) without any sort of modification in your build process. However, it does not mean it'll run cross platform.

C++ is compiled to a native executable, target architecture and OS depending on the compiler you use. Without a compatibility layer like WINE, you will need to compile executables/libraries for each platform individually. However the SOURCE CODE should be acceptable to any major compiler.

If you are looking for "write once, run anywhere" type programming, you'd want a scripting language like Python or a language that is bytecode interpreted in a runtime environment like .NET or Java, but they have their own inherent disadvantages, too.
#3
(02-17-2013, 01:58 AM)Phaze Wrote: Everything seems to perform well, though the fact that you stop completely when you attack and the way you jump makes it feel very awkward.

Yeah I wasn't really sure how to do jumping at the time and I'm too lazy/busy to change it now but I'm at least trying to work with it.


By the way Phaze (and anyone else that played this game) did you encounter the game closing at level 7-8? (The beginning of the green block levels) because I've been having problems loading those levels on a library computer and I'm not sure if its been happening to anyone else. It doesn't happen on my laptop and it bothers me because that will be really hard to debug. I'm still just a novice with programming so this is one of the extremely hard things for me to debug kind of thing for me.


Anyway, I have a new version of the game which doesn't really add any new content, just some minor boss changes, a boss in progress, and visual/particle effects, I'll edit it into my main post later.

TLDR; I added some visuals

ZX Buster Version Alpha 0.1.5

[spoiler=Changelog VA 0.1.5]
Version Alpha 0.1.5 (02/23/2013)

~New Visual Particle Effects!
-Picking up HP/punching something/etc can have particle effects or normal effects now
-Visual Effects currently being added to everything gradually

~Minor Visual glitch with Water Particles where it will accumulate more particles even if the game is paused

~Random graphics changes here and there...

~Game can now support fullscreen mode. Sort of... (Press ESC to toggle)
-Except it looks awkward to my widescreen mode and I can't seem to figure out how to get rid of the black bars

~player projectiles and particles now reset after clearing a level
-Particles will now reset after selecting an option from the gameover screen

~Player Changes
-Projectiles have more stable/new damages (Still subject to changes possibly)
Zshot/Fireball: 4 Damage
WindKick: 1 Damage
WindMill: 12 Damage (Yes it's a projectile, don't ask)
BirdBuster: 8 Damage
SkyFall 1: 20 Damage
-DiveKick slight buff: Hitbox width increased by 2 pixels
-Player can no longer crouch while charging an attack
-Player's horizontal movement when dieing fixed

~Enemy Changes
-Heavy Type enemies cannot be air juggled unless they are already sent flying

~Boss Changes
-Bosses can now be air juggled like enemies, except they can only be air juggled if they are already sent flying.
-Sault Action Triggers changed
-Stuntime: The stun time increases faster while being hit and decreases slower when not under attack
-FlyingCount: The Flying Counter mechanic is mostly the same, with the exception of spikes increasing the count by 2 instead of 1
-As a result, the max stun threshold has been increased (I think 120 to 360?)
-Boss collision with tiles while rising altered (Unknown if any new bugs have shown up)
-Stuntime and SentFlyingCounts for Bosses changed
-SentFlyingCount rises more when hit by a finish attack while unable to act (EG, player spamming DiveKick/FlashSault)

-C.Edge(1)
-FlyingCount increased from 3 to 8
-Most moves given placeholder images
-C.Melody(2)
-FlyingCount increased from 3 to 8
-Most moves given placeholder images
-C.Tempest(3)
-FlyingCount increased from 3 to 7
-Most moves given placeholder images
-C.Yuki(4)
-FlyingCount increased from 3 to 7
-SkyRush cooldown increased from 600 to 1000
-Yuki now won't jump up onto a platform if there's a fireball shot above her
-C.Alpha(5)
-FlyingCount increased from 3 to 6
-C.Silver(6)
-Not implemented yet...
-Movement actions kinda done
-Attack1: SilverWind, kinda implemented

~Debug Mode Changes
-Can view boss Stuntime and SentFlying times now. (Displayed by thin bars)
-Can view AttackUnusedTimes, although not really that helpful

~Fixed Bugs
-Bug where player's collision box did not update correctly after a level transition fixed
-Bug where BirdBuster and NormalZBuster damage added together fixed (BirdBuster has higher priority and will hit with it's damage instead of ZBuster)

~Discovered New Bugs
-(FIXED) FlashKick still doesn't update its hitbox correctly resulting in hitting things from the area of the last player's attack
-Enemies act kinda weird when you hit them with WindKick when they're knocked down. Same with bosses.
-Enemies can get stuck on walls if they're being movebacked into the wall while in the air and not sent flying (Pretty hard to do actually)
[/spoiler]

*also not listed in changelog because I forgot but you you can now toggle crazy particles with 'c' in debug mode

EDIT: As a side note, I have checked this on my brother's computer and it seems to work just fine and I think he has Windows 8 or something, so it could just be the library computer causing problems.


Forum Jump:


Users browsing this thread: 2 Guest(s)