Shoot 'Em Up Prototype

Hello, this is the first version of Excalibur-85. Been working on it the past three days, I have the core mechanics created and implemented, but far from refined.

You have a shield and hull strength meter. At the moment there’s no way to replenish your hull, but 2 seconds after you either deactivate your shield or it’s destroyed, it will begin to regenerate quite quickly. While the shield is active it will not regenerate. Projectiles can collide and destroy each other, and if they have enough durability left they will pierce more than one enemy. There are four enemies in the game, three “waves”, a new wave begins 60 seconds after the last.
For now the third wave lasts indefinitely. There are no graphics or sound in the game, all graphics are rectangles generated by the code. I went this route so that I can worry about fleshing out the gameplay before I start on the art direction.

Press or hold U to shoot.
Press I to toggle your shield.
Movement is WASD or Arrow Key based, whichever is more comfortable for you.
Press Escape to close the game.

If you try out the game and feel like giving criticism, I would appreciate you taking the time to do so.

I love it! One thing that (in my opinion) needs work is the movement. It doesn’t feel responsive enough, but other than that, great game!

Very fun game! I love the retro feel of it. However the movement is a bit annoying; in the sense that it accelerates very quickly (instead of a set velocity) making it difficult to move where you want to. (This could be a good thing, as it adds difficulty, but IMO it just annoyed me)

Eventually I hope you put in some sound effects and maybe even music, which I feel would greatly improve the game experience.

Overall a great start and I hope you continue improving it!

Nice little game so far! I like the controls, though i’d like to see a sort of slide effect when moving up and down, rather than just simple movement.

I can’t wait to see some art and sound effects!

I agree with you about the movement, I had tweaked it a bit before adding in enemies and projectiles, but had become used to it. I forgot just how quickly it can accelerate.

Making the game difficult due to movement is definitely not my intention, I can see that only leading to frustration, as it did with you. Yes, I’m looking forward to adding in sound effects and music. I tend to put music on while I’m testing between tweaks so I think it’s needed. I’m glad you enjoy the graphics despite them being so simple. Not sure what the art direction is going to be for it when I start on that.

I’m surprised you enjoyed the movement! Thank you though. Been modiying the movement some, trying to find a good middle ground between being responsive, but not suddenly stopping.

As far as the game goes:
Once I have one or two power ups, improved enemy movement and more varied waves I’ll post a new build.
Added in pausing. Should have had it there in the first place. Will be the Enter key in the next build.
The key input is now cleared once the game loses focus and the gameplay pauses until the window regains focus.
Improving movement, trying to achieve movement that allows for smooth curved travel without feeling too loose.

Thank you all for playing my game and giving me input about the movement, I had become too accustomed to it and forgotten how fast it can accelerate.

We should do this type of thing as a communal/shared code JGO project. (in the shared code sub-forum pehaps?)

That way all existing & future forum members can hack away at the code to their heart’s content.

I wouldn’t mind sharing my source once the game is in a more polished state. Currently the code gets the job done with minimal redundancy, but it’s far from beautiful code. Still need to split up certain classes and restructure some inheritance. Won’t be doing much optimizing like that until I feel it’s in a “finished” state.

On the game side of things:
Added an attack power up.

Beginning work on the power up system. Likely will have two new buttons added, one to cycle through acquired boosts, the other to fire/activate them.

Probably going to add a third meter for boost consumption, some boosts will require more than others.

Boost meter will recharge at a certain rate, thinking about allowing it to charge faster while shield isn’t active.
May add the requirement that shield needs to be at full capacity, simulating that the shield energy for regeneration is diverted to boost. I’d like to reward the player for choosing a riskier play style. (Another option is to make the shield and boosts to draw from the same energy pool, sounds a little too brutal though. I’ll keep it as a note but probably won’t pursue it.)

Added in various movement patterns, trashed the random spawn locations. I want the player to feel rewarded for playing more than once, allowing them to begin to memorize certain patterns. When bosses are added, their AI will have some degree of randomization to keep things from getting too stale.

Here’s the current version for anyone that feels like giving it a shot.

Controls are still the same, however added O and P.
O activates the current powerup, P switches. I only have one powerup so it doesn’t have a purpose, yet.

Shield regeneration speed has been nerfed for now, may switch it back. Not sure yet.
There’s a few short waves that keep repeating, mostly trying out combinations of movements.
A power up will appear every so often, just in case you missed it before.

Still need to add many things. Scoring, lives, more waves, bosses, more power ups and eventually more levels.
If you see anything strange, find an obvious bug, or just didn’t like a change, I’d like to know.

Sorry Ryukujinishi, I didn’t mean you or your project personally. Don’t share if you don’t want to. I meant that there has been quite a few people who have attempted a shoot’em up as a first project and then rage-quit in frustration over some small detail. Was simply suggesting that we do something as a group…

tl:dr I’m an idiot for posting in your thread.

Gotcha, it’s all good. I misunderstood, but that doesn’t make you an idiot for saying that. I myself have had a few rage-quit moments myself, it can be hard pursuing this path at times. I know I’ve learned most of what I know from watching or reading tutorials and then breaking the systems these people had designed.

Well, haven’t accomplished as much I’d like, still no sound or music. Made some sprites, as best as I can create for now.
You now start with the big blast as your alternative weapon instead of having to pick it up, pressing O shoots it. There’s a very short wave before you fight the boss that I’ve been working on. Not sure how fair this fight is, it gives me trouble at times. It can definitely be defeated though.

Next up is getting some sound and music going, way too quiet. After that, scoring. Once both of those are implemented, I’ll work more on creating a longer level that’s satisfying.

As before, thank you for playing. Please leave any questions, comments or suggestions if you think there’s something missing or something that just detracts from the overall experience.

Version 0.2

You owe me about 30 min (Something else was compiling…) of my life,
its way to hard ;).

But I love the art style and the ‘overall feeling’ of the game.


Made it!

I Love it! Like the art, and it’s pretty hard :slight_smile:

I’m glad you beat it! Having beat it, do you believe it’s still too hard? Was delivering the killing blow satisfying? Thank you, I’m happy that you like how the elements tie together. The art isn’t the best, but I’d rather make my own assets so that it isn’t simply reusing art that other games might have used(There’s nothing wrong with that, just not the path I want to take.)

Thank you! I hope that my future art fits in with what I have so far. I’m hoping that its difficulty won’t put people off. I want it to be challenging, but fair. My favorite thing about the big blast so far is its defensive capabilities. It’s stronger, but the added size helps to punch holes through the projectiles.

Thanks again for trying out this build. I spend so much time with it that I begin to doubt its current direction at times.

Are you planning on adding controller support? This is a game I would love to play with an xbox or ps controller. :slight_smile:

[quote][…]The art isn’t the best[…]
it is not the most complex but simplicity is the ultimate sophistication.
I like the art and wouldn’t change anything.

For the first level it is way to hard but I like games that are not to easily.
Hard and small sections, after you’ve beaten a boss never be forced to do it again.
So I like the small wave in front of the boss, this way he is not so ‘naked’ but it shouldn’t be longer.
And maybe give him half the amount of lives or let him do some more special attacks after halfe his life’s a drown.
Anyway I am a fan of the general direction the project is heading.

You could go another route too, dont divide the game in levels or sections just provide one long playthrough without save points. This way the player would notice how his skills increase because he is able to play longer and longer, but I guess many would not like it.

(Oh english tortures me as much as my english tortures the poor who have to receive it…)

I’d really like to add controller support, I use Joy2Key myself when I’m testing on the PC. I’ve looked around in the past for a good library. The task was beyond my understanding at the time. I’ll check into it again after music and sound have been added.

Your English is fine, I understood everything you said. It’s definitely too hard for a first level. I like the idea of a boss changing its tactics once it’s close to death. I don’t intend to make someone fight a boss more than once. I’ll probably implement checkpoints.

I do believe that the lwjgl library has controller support.

if (!hwinwuzhere.isMistaking()) ;


LWJGL does indeed have controller support. LWJGL 2 uses JInput, and LWJGL 3 uses GLFW Controller Support.

Thank you hwinwuzhere and CopyableCougar4, I’ve seen LWJGL. Controller support is a good reason to switch to it finally. I’ll be reading up on the various versions of it.