[RELEASE] Hyper Blaster Mix -> Shmup Thing I Made

  • Thread starter Deleted User
  • Start date
  • Views 1,412
  • Replies 7
  • Likes 5
D

Deleted User

Guest
OP
This is my submission for the GBATemp Bounty 2017 #1. If you are a moderator and believe that this post should be made elsewhere, please feel free to move it at your discretion.

Hyper Blaster Mix is a relatively simple shoot-em-up (shmup), programmed in Python and PyGame. Gameplay is relatively simple; you have three weapons at your disposal: weapon 1 fires in both the front and back of the ship, weapon 2 fires only in front of the ship,, and weapon 3 acts as a short-range "whip", for lack of a better word. Enemies appear in waves; defeating them all before the timer runs out will award you extra points.

As of the time of this writing, no boss has been implemented for the game. However, boss battle music can still be found within the game's assets, so have a listen to the track, if you'd like.

It should be noted that the resolution is locked to 1600x900 (because I'm a shitty programmer). You can change the resolution in the source release; however, expect glitches, especially on lower resolutions.

1.PNG

2.PNG

3.PNG

When I first learned of the GBATemp Bounty, I had several ideas for games, but I couldn't decide on one. Preferably, I would start with something simple enough to work on my game development skills. The idea to make a shmup came about when I started playing Radiant Silvergun, a bullet-hell shmup for the Sega Saturn. I love that game, and would recommend it to anyone into Saturn games and/or shmups.

For the general style, I wanted the game to feel like something that would be home in the arcade. You could tell by the startup animation I have going for it. A simple, arcade-like experience seemed easiest to tackle, so I went for it.

I originally considered coding the game for the 3DS in C++. This attempt failed. I deemed myself as not yet ready to write a game in C++ (especially on the 3DS), and I had college to deal with (developing a game in my first month of college seemed daunting), so I moved development to the PC, and started working in Python. A few lines of code were borrowed from a previous prototype I had made (you might have played it. I doubt it, though, that thread had, like, zero responses), and, with a bit of alteration, I was able to get a basic shooter game working in Python.

Development went well for the first week or two. After I had started to work on the game assets, though, I began to crash. I thought my artwork wasn't "good" enough, and was contemplating scrapping the game entirely. I took a break from development, and started thinking of other projects I could have been working on. After a few days, though, I regained confidence, and started working on background assets. I was pretty pleased with how these ones turned out, and I hope you all enjoy them as well.

With my confidence regained, I turned my attention to creating artwork and implementing it into the game. Probably due to inefficient coding (and perhaps the fact that I was using SDL rendering for a shmup, PyGame is based off of SDL), the frame rate of the game tanked after these assets were implemented. The game was originally running at 60 FPS. I had to tone it down to 30 FPS and adjust all the movement vectors, and even then, there's occasional slowdown.

I was also originally intending to implement a boss for the game, however, considering how close to the deadline I was getting, I scrapped the idea. As stated previously, the music for the boss fight is still in this game's assets, so take a listen, if you'd like. I'm kinda proud of that composition.

Speaking of which, that brings us to the music for the game. I'll be honest; I have little to no concept of music theory, and composed the music and sound effects for the game just by pressing random keys and sticking with what sounded nice. The pieces were, perhaps, the earliest assets created for the game, and were partly what convinced me to go ahead with the project in the first place.

Now, this is my first game that I've actually finished (sorta). However, the game is still plagued by a number of problems. The resolution, as mentioned earlier, is locked to 1600x900. The optimization is terrible (as much as a 1/3rd of your CPU will be eaten up by this game; maybe more). There's some delay in the sound effects (not sure whether this is my or PyGame's fault). Slowdown is an issue, partly due to bad coding practices (I'm constantly creating and deleting objects, whereas I should have used something akin to an object pool instead). I didn't get the finish the boss battle (which sucks, because I had this really cool animation I was planning to use leading up to it; it's still there in the code if you want to check it out). In the future, I'll probably be using something like Unity over SDL, which doesn't take advantage of the computer's GPU.

Yet, despite all these problems, I'm really proud of myself on this one. It's one of the few instances where I saw a personal project through, beginning to end. The game might not be perfect, but, in my humble opinion, it's pretty damn good for a first attempt. And besides, I'll be using what I learned here to hopefully create better tools, games, and mods. So, I hope you enjoy playing this game. While it may not get 1st place in the Bounty, it's still quite a personal achievement for myself. Plus, having my college-mates complementing me on the game while I work on it between classes is kinda cool.

Anyways, enjoy the game, and let me know what you think of it in the comments.

Binary Download (Windows):
https://mega.nz/#!tnBWxQhZ!hLblB_Q3iCi8Jki3sgfyaZXu4RJjvq1FEXN5Km0T0Ko

Source Download (Windows/Mac/Linux/etc., requires Python 3 and PyGame):
https://mega.nz/#!MvhiDaQA!0B76PEmKQudv5UMjdato3eerPNZMVZ-Ro-gUSKC2JHk

Special thanks to all the people who tested out the game for me. I would list them all here, but I kinda lost track, because I'm a disorganized little twat.
 
D

Deleted User

Guest
OP
0/10 no fidget spinners

Just kidding this game looks fun to play! :D
Interesting thing; I was going to implement a secret Fidget Spinner boss that would be unlocked through a special command, but I didn't have time to implement it, as the deadline was today.
 
  • Like
Reactions: AxlSt00pid

dAVID_

Well-Known Member
Member
Joined
Oct 23, 2016
Messages
1,405
Trophies
1
Location
The Game
XP
2,276
Country
Mexico
It's nice to see these kinds of projects with no economic purposes whatsoever.
Good job! :D
Only one problem: Window size is too big for my 1366x768 display
 
Last edited by dAVID_,
D

Deleted User

Guest
OP
It's nice to see these kinds of projects with no economic purposes whatsoever.
Good job! :D
Only one problem: Window size is too big for my 1366x768 display
Yeah, sorry about that. The game was originally supposed to run at different resolutions, though due to sloppy coding practices, I ended up settling for 1600x900. I should have set it to a slightly lower resolution, one that wouldn't have killed the game's physics entirely.

Works pretty nicely! Good job :)

View attachment 100965
Thanks!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Lesbians invented babies +2