ZeroKun265

Search

Search IconIcon to open search

//Developement: Sun Core

Last updated Aug 20, 2022 Edit Source

⏲ ReadTime: 4-5 minutes

The Making of Sun Core

It was summer and i had nothing to do but code, you might think it’s cool, what project did you build? You had an entire summer! Yeah.. i was lazy and costrained myself to a 72 hour game jam, not the smartest of ideas, i know.

Let’s get in some more details. I participated in the Ludum Dare 48 Game Jam( “What is a Game Jam?”) after learning how to use Pygame, a Python framework for making Graphics applications, mostly games as the name implies. I’ll divide this into 4 parts:

# Notes

As this “article” is beeing written a while after the jam, it won’t be that detailed. Also because I feel like like I was very unexperienced at the time, I’ll mostly share my struggles(and some code) and my thoughts

# The Beginning

So, we’re jumping into this nightmare, no one’s home and i can code all day, and the theme of the jam gets released. “Deeper and Deeper” My first tought was making a digging game(I know, wild imagination) but then (don’t ask me why) I ended on the idea of going deeper and deeper into.. the sun?! I didn’t have time so I jumped right into developement, started making a prototype ( With an AWFUL jump) And this is where the problems arrived

# A cronological list of all that went wrong

First of all, i couldn’t get 2d collision to work, for some reason.. my approach was moving the player on the x axis first, check collision, then do the same for the y axis. Somehow it didn’t work, so i ended up copying code from @DaFluffyPotato and his pygame developement series, which did the same thing but it worked(No idea what was wrong with my code) Here’s a rundown of how the code works(you can check it out on GitHub!:

After that I started making enemies. I planned to have 3 enemies, a static cannon, a static enemy that would emit “spores” on top of it’s head when you jumped and a ranged enemy. I ended up with the cannn, a static enemy that did not amit “spores” and not even sprite for the ranged enemy, so 1.5 enemies.. that’s 50%!

Well, things like that happen, and besides a little memory problem(enemies were spawning constantly and i was having thousands of enemies on the same spot, destroying performance) everything went smoothly. I hacked in a decent enough UI and an absolutely HORRIBLE level loading system (just that takes most of the game’s code, i copy pasted instead of making functions.. yeah, i know) Cool, the game is finished, right? WRONG, what about SFX?

# Music

Making Sound Effects wasn’t hard, I just used sfxr and made all the sounds that I needed, but music was like a demon approaching, and i only had about 1.5 hours to defeat it. So I spent around 30 minutes looking for the right software, web tools, “no skills” apps, fully fledged studio apps.. I couldn’t do it, and so I did the unthinkable. I ended up downloading some music from Incompetech and failed in the task of making a game from scratch( To be fair, participating in the 72 hours jam meant I could use them as long as I had the right to do so, which I had with correct crediting, but in my mind I still failed) The music was really fitting tho, and i found two related tracks, one faster paced then the other one, which i used for the final timed level. (You can check the credits for the songs on Sun Core’s game page

# Publication and results

I finally had a working game, and after finally beeing able to bundle it with cx_freeze(Python bundling tool for deployment of Python code in executable format) i submitted the Windows build(Couldn’t build for Linux or Mac at the time) and i suddenly felt the urge to go to sleep and wake up 12 hours later, and in fact, I did.

# Results

During the rating period(in which I admit, i didn’t participate that much) tons of positive comments and some constructive criticism came in, and after a bit of waiting the results were in! (The results are on a pool of over 10k entries in the jam)

# In Conclusion

It was my firstgame jam, and i can only describe it as stressful, but at the same time rewarding.. it’s an experience that every developer(especially game developers in my opinion) should try. The ratings were good enough for me, I was inexperienced yet i fought my battle well. Still, i don’t think i’ll ever touch pygame ever again, moving(actually moved, since this article is technically from the future) to the Godot Gang!