Supernova


How it started

I had a great time making this little game for Como GameJam3. We have this event 2x a year at redi Economic development center in Columbia MO. The theme was stars this time. I did some initial brainstorming with my friends The Floor is Lava.  Initially sparksjam was going to work with me but we had creative differences.  He was wanting to make an online IO game and I didn't necessarily know what that was and I had different plans. unlike gamejam2 I settled on an idea and started working right away. Much good food (probably too much) from some great downtown eateries was eaten over the course of the weekend such as pizza from Pizza Tree, gyros form Olive Branch Cafe, BBQ from Buckinghams, and doughnuts from Harolds. I skipped out on 2 late Christmas parties, 2 church small group events, and eating dinner with my family after church to attend this event but it was worth it. All in all I feel like the idea wasn't as great as Ulma but I feel like I have progressed and it was easier this time. partially because I already had done it once and I didn't come into it with self doubt.  I was going to try to learn another engine if I ended up on someone elses team but i ended up by myself so  I used Gamemaker because that is what I know.

problem #1

The first big problem I came up on is that you cannot use physics methods with non physics methods in Gamemaker. If you use  phy_rotation physics must be turned on in the room and all objects it is being used on. if you use image_angle it causes problems when you are using any phy functions or if the physics are turned on. sorry I am writing this after the fact and i dont quite remember the details


New Feature #1: revamped controls


After coming home and playing the game for a bit I decided I didn't like the controls. I wanted to make the game handle more like Stunt Copter for the Mac Classic. As I remembered it, The mouse input changed the speed instead of changing the direction directly. This meant that you could set the copter speed so it matched the Hay-wagon that you are attempting to drop the person onto and leave the mouse in the same spot and the copter would follow along at the same speed. I actually wasted an entire afternoon getting my mac classic back up and running to take a closer look at this program. There is something wrong with the internal drive and I think I need to install a diffrent version of the os to see the data on it. as I remember sometimes the harddrive system would not work inbetween diffrent versions of mac os. I did get it running long enough to copy stunt copter onto a bootable floppy so I could play it whenever I wanted. Then i found out there is actually direct osx port now so I didn't even have to do that and if I was really serious I could find the source code because its open source now. I didnt do that. What I did figure out though is that stunt copter has a begin button in the middle of the screen. This button was most likely put there so that the mouse always starts near the same coordinates. Also the mouse only has to travel about 1/4 of the screen to control the speed. With all this info, and  once I figured out the physics issue the code for this feature was relatively simple to implement. Now the x axis of the mouse controls the rotational speed and the sun fires a solar flare at whatever angle it is pointing. The HUD at the bottom of the screen in stunt copter is another thing I may want to add later.

also it may interest you to know the sun sprite is actualy white and pink. It is tinted yellow, blue(aqua actualy) and red. in diffrent parts of the game. Initially the sun was yellow and orange but when tinting it blue it turned green. Green stars don't exist.

problem #2

At some point I was having trouble with things appearing under the sprite and I heard from a forum that draw_gui draws ontop of everything. This however caused things I drew ontop of the sprites to appear at the top lefthand corner of the sprite regardless of where the origin point is. Turns out this is just how the draw_gui layer works. Once I put my draw code in the draw event everything started working properly. I spent a long time trying to figure this one out.

New Feature#2: Targeting Line

Also I added a targeting line feature. This helps with targeting the planets at the edge of the screen especially since the sprite does not very clearly indicate the exact point where the flares fire. finding the endpoint of this line needed a function called lengthdir_x and lengthdir_y. I actually had used this code to make my planets orbit but I didn't know how it worked because I copied that code from a web forum and I didn't have time to figure it out the weekend of the jam. I had a lengthy discussion with my dad who knows trigonometry about converting linear coordinates to polar coordinates using things such as sine and cosine which largely went over my head. But searching for linear to polar coordinates found the  lengthdir function I needed. Someday I need to look into the way that function actually works though. Sounds like a good way to learn some math that directly applies to my life.

Future planned features:

controls change speed of rotation not angle like in stunt copter for the mac classic.

Multiple planetary bodies with different speeds including asteroids, comets, aliens and spacecraft. Aliens and spacecraft have the ability to change speed. 

sun animation

Paralax animation of background

Different flares for different sun sizes. 

Controler support

HUD display

Set automatic outgassing to random direction.

Orbital space invaders mode

Chiptune soundtrack (when I find out how to use lsdj)

Files

supernova.exe 2 MB
24 days ago
supernova1.01.exe 2 MB
13 days ago

Get Supernova

Download NowName your own price

Leave a comment

Log in with your itch.io account to leave a comment.