CGJ Postmortem Devlog + Future Plans


Hi! If you're reading this, it means the College Game Jam has finished and I successfully submitted a game. The idea for Flicker has been bouncing around in my head recently and I decided CGJ was a great opportunity to sit down and actually make my ideas come to life. This devlog pulls from my game design document as well as my own personal dev tracker, so what you're reading is straight from my personal records. I hope you enjoy!

Monday, March 29. 

Concept: A game where you walk around a graveyard turning off lampposts after sunset to stop attracting THE MOTHS BATS. 
Use Unity or GameMaker Studio 2. 
2d. Parallax in layers
Lamp on. Constantly trying to turn off. Cannot try if: already off, or player turned off “recently”
If try success, change appearance. STAY OFF and stop trying until player turns it off and cooldown finish. 
Player can only interact with lamp if off.  If lamp off, bats fly towards lamp. 
Random spawn points.
Lamp turning on spawns set # of bats that possibly scales as time goes on.
If lamps on, lamps fly “away” aka offscreen and despawn

After the theme reveal, I wrote down my game idea (for the first time) as well as wrote out some of the logic for the core mechanics. This helped me reduce time actually writing the code, since I knew what variables I'd need beforehand. I also started to build a timeline of what needed to be completed by when, as I wanted to have a functional demo for my Thursday office hour slot as well as for player testing over the weekend. I organized these into "dev rounds" of similar tasks and then assigned each round a due date. This is actually all I did on Monday! 

Tuesday, March 30. 

Dev Round 1, by EOD Tues: 
Moveable player that cannot exit world boundary
Camera follows the player and is limited within world bounds
One lamppost that turns on randomly
Escape quits the game (mostly for testing purposes)
Lamp is turned off by pressing a button

I had class for most of Tuesday, so I wasn't able to get to the last item on my checklist that day. I ended up doing it first thing on Wednesday. But, by the end of Tuesday, I essentially had a third of the core gameplay done. 

Wednesday, March 31. 

Dev Round 2: 
One bat that targets the lamp.
Bat moves towards the light if it is off, and away if the light is on.
Bat does damage when colliding with the lamp
Lamp has a visible healthbar
Game ends when the lamp's health is 0
Game Over screen with restart button
Lamp can only be interacted with when the lamp is off
Add timer and display it on game scene and game over screen
Bugfixes

At this point, all of my core mechanics were completed and I fixed almost all of my bugs (more on that later). None of the graphics were done, but you could consider this to be the first fully functional version of the game- one bat, one lamp, and super boring, slow gameplay. 

On Wednesday night I was even able to cross a few things off from the next day's work. 

Add more bats. 
Add another lamp
End game when all lamps hit 0 health.

And with that, it was time to start on graphics and other gameplay mechanics.

Thursday, April 1.

I didn't do anything. HA! April Fool's. I did a LOT on Thursday. 

Dev Round 3:
Create multi-layered background image
Implement parallax background
Create lamp post graphics - lamp base and two heads (on and off)
Lamps change from on sprite to off sprite appropriately
Implement indicators for off-screen lamps that are off, OR a minimap*
Pause menu instead of escape to quit, with restart and quit buttons
Expand the gameplay area and add another lamp or two
Disable "off" indicator when the lamp has "died"
Bugfixes

*I implemented the indicators earlier in the day, but by Thursday night I decided I still wanted to add a minimap. I ended up adding it the next day.

All of that, before my 8:10 office hour! I even had class and work from 9 to 5. Thursday was probably my most productive day despite having very little time to actually program. Luckily, most of these changes were quick and/or done out of the editor. At this point I was still unhappy with the original pathfinding algorithm I had written, and so I spent an hour or so tweaking variables to get the "feel" right. 

During my office hour ten minutes, I presented a very short demo to a Riot game designer who offered some really great feedback, mostly about giving the player a greater feeling of anticipation when the bats are incoming. We talked about options for that as well as some other gameplay elements I could implement with my remaining time. I left feeling a lot more confident in my  progress and direction, and updated the rest of my dev schedule. I also sent the build to some friends to playtest, and added some of their feedback as task items as the reviews came in.

Friday, April 2. 

This was the last day that I actually wrote code for Flicker. I knew I would be spending time with family all day Saturday and Sunday, so I needed to make Friday count. Still, I managed to get things done. 

Dev Round 4:
Implement a minimap showing lamps, bats, and the player. Minimap lamps should also change when they are dead.
Rework bat pathfinding. 
Add a second bat attack variant- one that circles the lamp instead of just hovering over it. \
Add in high score system
Create a title screen with options menu- volume adjustment, windowed vs fullscreen
Add in small, ambient particles to the background (fireflies?)

Not a lot on the list, but very programming-heavy and I spent a lot of time on the new pathfinding system. It took a lot of trial and error (and even more bugfixing) but completely scrapping the old system was worth the added time, because now the bats move a lot more smoothly between their spawns and their designated lamppost target. The firefly particles also helped make the background feel more dynamic and ethereal.

Saturday, April 3. 

I spent time with family on Saturday, but found time to finish up some graphics. 

Graphics to create: 
Logo
Background for title/end screens
Player, animation
Bats, animation (2-3 variants)
Change indicator colors to stand out more
Minimap frame, timer frame, healthbar frame
Update minimap colors to match new sprite colors

Since I was away from my desktop, I couldn't implement these right away, so I had to hope I wouldn't have any issues on Sunday night when I returned. It was a bit stressful!

Sunday, April 4.

I got back to my desktop at around 10pm, and then it was crunch time. 

Absolutely Necessary: 
Add in the player and bat animations
Update title, ending screens with backgrounds
Update indicator sprite, add in minimap, timer, and healthbar frames

After these were done, I had until 3am (since I'm on the east coast currently) to create and add in the music, plus a few other smaller features and "juice". Spoiler alert- I didn't get to those, and I am overall not satisfied with the track I ended up creating. I do still plan on implementing these post-jam someday, so I've listed them at the end of this devlog. 

Monday, April 5, 2021. 1:02 AM. Game submitted. 

At this point, I was so exhausted from eating too much and not getting enough sleep on Sunday night that I decided that my sanity was not worth staying up another two hours programming things that might not even work. So I built the game, played two rounds, and submitted it. 


Post-Jam Plans

Now that it's over, I have a new list of things I'd like to implement. These are, of course, subject to change. I'm a student with a job and a life, so I won't promise any sort of release date for these updates to go live, but I'm gladly accepting any and all feedback to potentially add to this list. 

Lamps should glow like the one in the player sprite
Small screenshake when a lamp "dies"
Sound effects! For lamp on/off, lamp death, and bat approach/attacks
Scene Transitions. Jump cuts are boring :(
Wave System- separate gameplay into 1 minute "nights" where lamps can regen health (but dead lamps cannot be resurrected)
Buff/Bonus- complete a small puzzle or task once a night in order to turn on all of the lamps. Useful in overwhelming situations, but takes more time to complete.
How to Play menu item on the title screen.
Ask a friend to create a new soundtrack, with multiple songs and an in-game track selector.

If you have any other ideas, comment them below or on the game page!


Thank you. 

Thank you for taking the time to read all of this, and for (hopefully) playing Flicker!

You can find me on Twitter and Twitch, and I plan on playing some of the jam entries throughout the week on my Twitch channel.

Good luck to all of the other entrants!

Files

flicker_jambuild 29 MB
Apr 05, 2021

Get Flicker

Leave a comment

Log in with itch.io to leave a comment.