MOTH P11 - Devlog 1 (Post Game Jam)


Okay Devlog 1... Of any project ever. Uhh, Introductions; My name is Dillon Abo, I am a 34 year old father of 2. My chosen Engine for development is usually Gamemaker Studio as I have used this product for about 20 years now (Gamemaker 5 is where it all begins for me). My Cousin and I are co-owners/operators in an indie game studio known as Oshkii Games and are in the middle of our first commercial product.

March 8th - I'm currently in the middle of developing our first IP; when I get the great idea to take a break from the crazy development and hop into a game jam... idiot. Thinking I could flesh out a decent Bullet Hell in a few days I decide: "yeah!, I can do this in about a day or 2...", After 34 years you think I would know to go against my timeline judgement but here we go. 

So Planning Phase - Theme: Unstable, me "Mind = Unstable = Therapy = Dialog = Branching Options = No Problem".

 - This was my original Patient and this wouldnt fit into the MOTH name a little better, I'm huge on Claymation Graphics in Videos Games as you will soon see.

After about 5 hours of non stop programming, I had something that looked like a bullet hell game. It was filled with Primitive drawings and other junk, but it was fun.
INITAL PROGRAMMING:
My Programming in Gamemaker usually invovles not utilizing Gamemaker at all at this point. I end up making nice Modular Constructor Classes that will transfer over to other projects when finished (also a bad idea during a game jam, Spaghetti code goes hard in these type of situations for myself personally). I create a patient class and a player class. This was a bad move, My OOP Practice should definitely consist of more than NPCs and Non-NPCs (Real world influence coming in).

So I spend the next bit of time breaking down this perfectly good code into nice modular chunks that do nothing but spit out errors... great progress, but after a bunch of fixes and thanks to the GMLive gods, we get back on track (leaving a ticking time bomb behind...).

DIALOG PROGRAMMING:
Next was the dialog options, this should be super easy, ill make all my dialog structs, with branching options lime a maze, I should definitely plan this out... I don't. The one thing I do plan out is a great little dialog that wouldve dealt with actual mental patients quotes etc, and I spend way to much on this part. I end up creating the outline for how to process the dialog trees and get to work on wasting my time on something I have never done before! Yay!

March 9th - Day 2 - Wake up get my daughter ready for the day and grab a coffee, Tell my Fiance I'm taking a break from my main project, she give a nice sigh of relief, short lived as I tell her about this game jam that I entered and need to submit to in about 3 days... Shes already walking away, I can tell its to hide her excitement.

I get to work on the dialog system... I have something that works, but for some reason I cant navigate the damn maze of options Ive created. The dialog just seems to "Normal"... So i take all the dialog down and replace it with some Hillbilly Low IQ sounding non-sense (lowered the dialog to my IQ so I can process is what Im getting at). Once I have this more manageable, I start on the scope creep part of my project. (Always write down an idea and stick to it, or you end up releasing a mess as I did.) 

SCOPE CREEP PHASE:
This is my favourite part of any game development, also my most hated part. After I've developed all my core features and have a viable product its time for polishing... as in time to add more ideas! "Skill Tree Tied to the Dialog System", My game is all about avoiding bullets and navigating dialog trees... So "Bullet Farming", yeah that makes sense! and what about a cool "Path Ability", where you can draw on the map in slow motion and your player can tackle any bullets! "Combo System", because COMBOS. "Roguelike Mechanics" because I'm basic. Maybe I could implement my "Claymation System" for the graphics and my "Midi Generation System" and I cou... okay, enough scope creep, no midi generators this time, im getting crazy here, midi generation in 2 days...

DOOM PHASE:
March 10th - Day 3 - Alright, I have a nice healthy list of failures ready to pump out, Lets gets this show on the road. First things first, I need to make a tutorial so I start working on Skill Tree... (yeah... doesn't make sense in retrospect). After a good 4 hours straight on this part, I come up with a very beautiful and symmetric looking skill tree, its tied beautifully into the dialog system and influences how strong the emotions will be when we respond... At this point, I realize I only have responses from the patient... oh crap I need to develop more Dialog... So I quickly finish up the skill tree polish as a tear rolls down my face at its beauty. The idea comes to me, We are a mute, we have responses in the form of a laser shot that will clear the bullets and I will gain Knowledge points from this, and we can buy our options to keep the player coming back for more, and we can tied the dialog into the bullet generator to unlock bullet patterns as we go through, and unlock different abilities that will help farm more bullets and then the bullets drop powerups that affect the current run only and this will be amazing...

MARCH 11th - Day 4 -
As my brain rambles on as much as that last paragraph, well into the morning light, my wrist starts to buckle under the pressure of my hands vigorously typing away at whatever my "auto-piloted-sleep-deprived-mind" could think is a great idea. I get my daughter ready for the day, and Im off to take a nap before work.

FINAL PHASE: 
I get back from work, and it was a damn busy Mothers Day this year. Good thing I finished all my work in the most sleep deprived state, should have no problems in testing, I expect a couple bugs, but i remember playing it at least... I Hop on load up the game and cool, my start screen looks good, my skill tree looks nice, lets start.
As I do my first run, im immediately hit with a massive bug causing all the bullet systems to fire off at once, looks pretty as hell.
"My work is complete, lets crash everyone's PC and call it a night". 

In all seriousness, I panic and get right to work, I tell my Fiance "Im almost done babe, give me like 2 hours to get the music and this little bug out of the way, be in bed by 11".

2pm: Bug still exists, Screw it rework the whole dialog system, tie the bullet system directly in the dialog system, time to spaghetti some wonders up here. I find the bug, and its as simple as calling a script before calling another script. thats it, swap places on function with another... 4 hours on that part, done, hopefully all the other changes I made to fix this 1 error that was tied to 2 lines of code doesnt do anything to bad right!?

GAME OVER PHASE:
Okay "Fkn Game Dev, I hate this shit so fkn much ahhhhhhhhhhhh!".
I take a break, look at the clock and see 1:34, wait, 4:31. Perfect that makes sense, Game is due is 3 hours, Got everything I needed, Got My new Path Ability, Added some more abilities that should break nothing like a path fire and a projectile system, and a pulse system that destroys bullets and a full powerup system and a pause menu and a tuto... Oh god, I still don't have a tutorial.

Okay, I can do this trough dialog, so lets create a basic branch from my dialog tree, and done easy, tutorial, tie it to a bust fire that has terrible aim so the player can figure out the controls and follow along... I load it up to test, and Yay, the system works, the patient tells the player how to respond then... the patient glitches out and unleashes a full on attack at the player causing more bullets than Ive ever seen. 
"Okay, easy fix" I think to myself, It must be i dont have the dialog tree setup right... As i look into that code I realize Ive hard coded my bullet system into this in my sleep deprived state. Oh okay, no new dialogs got it, so I remove that dialog for tutorial and come up with a pause screen...

"When did i program a pause screen"  - Spolier alert: I dont fkn know.

I pause the game, load it back up, and holy fkn shit, dialog circle disappeared and im soft locked. What idiot programmed this shit.
I get back to work on the pause menu constructor, hmm nothing wrong here, check the game manager, that should be in charge of pausing the game right? (Nope, My dumbass put it in the Enemy Code... The enemy had my pause controller in it... wtf... I guess the word Patient Looks like Player? anyways, screw that, got no time, lets just make a global.just_paused variable and tied it in somewhere. Ok good i can pause now. I do a run, damn that felt good, skill tree work lets continue.

Game soft locks into the pause menu... stupid global variables... I hate em, so i reprogram the global variable execution and run the game, another 3 minute game as im nearing the end of the first test, I die... games too hard. Shit.

I tone down all the bullet spawning, spending more time on bs, I run the game again. Finish my run, soft lock is gone, start game, and oh shit, the patient doesnt restart, and now everything is going to hell. Ill create a new patient on restart perfect.

The NAIL PHASE:
530AM Final Day. 2.5 hours remaining...
Run the game with a dev mode I come up with quickly to test some features, Hopefully I can test all 56 branching paths in 2 hours should be no problem... I play a run, and load up one after to test that everything works... hm weird glitch, why is pause menu acting funny on new games... ah whatever cant be that big of a deal. 

"I HAVE MADE NO SOUNDS OR MUSIC YET" 
As Im playing my final test, I realize I dont have any sounds or music, and the lofi channel ive been jamming to all night has been my downfall! Time to open up OpenGameArt for some sick CC0's. I find a couple by CynicMusic, Guys a beast. I load them up add some filters to slow t he game down, and ill program some temp changes in with progression, and ahh shit... I usee DLLs for that shit, gamemaker aint got no Temo changing... and I dont have my midi generator attached here, that wont work, gotta make just 2 tracks, heavy edit and send them off this takes about 20 - 30 mins in audacity. I steal some other sounds from my archive of probably not CC0 bs, but i need something so here we go.

THE COFFIN PHASE:
630AM Monday Final Day. 1.5 hours remaining...
As I listen to the bs sounds I have created, I realize my sounds are shit, my enemies attacks involve spawning all bullets at once usually, so I get a loud pop and then silence, great for bullet hells... 2 options and a delay burst sound effect, or program the enemy patterns to have a delay.
As I dont know what that sleep deprived idiot (myself) did with the bullet Constructor, Im just gunna do a burst sound!

I load up thew skill tree, and yup burst sounds alright, a whole bunch of nope cant buy the skill... it works, but im not doing anything and hearing the denied sound at 120bpm is probably not the vibe i want. Ill ignore it for now, its hardly noticeable... I load into the game, and crash, cant find sound... wtf why not, the pause menu should exists and... oh FFS, my pause menu is controlled by my enemy which is created on a new game... ugh lets fix this real quick... like 5 minutes quick. bam works, perfect. But now difficulty is stupid hard. Put some scotch tape on that hole, and perfect. I load up no error and I play for 10 seconds because I dont respect the process or some stupid reason I cant explain and submit. 

Yay Done! Im going to Bed.

GAME JAM POSTMORTEM: 
I wake up at 11, not very proud of this moment, but I drag myself to my chair to test out my game.
I do one run, it feels good, im getting into the groove... then Pause menu softlock... I removed the pause menu from the patient, and put it in the game manager, So i could create a new enemy... I did create a new enemy right? and a new player... I called my RESETSESSION?? Right??!?!?

Wrong.

I Realize my faults to late, game is submitted. I spent sleepless hours on this to fail in the last step. Well, when the game works its okay, but the game is heavily tied to buying skills and doing the next run... but there is no next run in the submission :(

Well hopefully I can learn from this, I want to finish my project and implement some of the things I wanted to ultimately, I keep my code clean when im awake So ill just be battling the sleepless crunching version of myself to fix it up, but Im really liking this concept, and I think I can get it to what I was thinking with a lot less sleepless development.

I've learned that planning and scope creep are always the enemy, As much as I love coming up with a feature and rapid prototyping. This should be kept to the first 25% of game jam development.

Music and Audio should never be overlooked... I lucked out with my collection on this one... but I was panicking for a while.

Anyways, Im still running on fumes here. I hope this helps someone, I enjoyed writing my first postmortem.

"Buh Bye have a Beautiful Time" 

Files

BulletHellJameUNSTABLE.zip Play in browser
5 days ago

Leave a comment

Log in with itch.io to leave a comment.