Plan Ahead
This year, I started with a 20 day plan, you can see it here. Though I finished in less than 15 days. I started from scratch, and used my boilerplate starter code using webpack. It supports code minification and live reloading. I spent as less as possible for low level API's such as input events, asset loading, game loop, creating a canvas, and drawing on canvas.Keep it Simple
I decided to not have any text in the game. I had a single 128x128 spritesheet with 8x8 tiles for assets. It took 5kb, which later I figured It could go down to 2.5kbs by using a png optimizer. I used the Pico-8 palette with 16 colors. In the plan, I was to do placeholder art, later replace it with polished art, but I didn't have the skills to make it any better so I kept the polishing to minimum. For level design, I chose 32x32 tiles for a level, and added total of four levels. The levels were in 1D array format, and it took the most inefficient space, more than 11kbs. Next year I will use a custom format to fix that.Challenge yourself
For mechanics, Player had horizontal movement, jumping, and wall sliding. There were falling blocks, bouncy springs, collectibles, and deadly spikes, and the camera. I also added fall damage for the red tiles and placed them on various places. I asked about wall jumping on SO but couldn't really nail it. And the bouncy springs didn't feel good, but it was OK.Get social feedback
I shared my game on social media and got some feedback from /r/gamedev Feedback Friday, and from my twitter post.They said, the movement is too fast, and putting springs underneath the spikes wasn't nice. I slowed the player a bit, but kept the springs there. I figured it wouldn't be no challenging otherwise, the hitboxes were small so you could easily avoid them if you learn the way.12kb on #js13k. Play live at https://t.co/RmvcSTINx6 pic.twitter.com/NiTLal08hN
— Emre Guneyler (@eguneys) August 29, 2020
Decorate and Polish
One feedback was to add atmosphere. I added decorative decals, background with animation, water drops, grass tiles, and a spider npc. At first spider was supposed to have attack but I cut it out. I had no music, but I added sounds using Sound box. I played three different notes and played them randomly on water drops, so it created sort of a tune to the game. I added camera shake and background animation when the player died.Make it presentable with User Interface
I had an intro scene, gameplay, a status scene, and an end scene. Status scene shows the collectibles and stats for death count and time. They were both progress bars so both are compared to author's stats. In the end I added a little coin spinning animation just to show the player something nice for collecting all the collectibles, thus finishing the game.Better luck next year
See the source code.Comment on on twitter.
Support me on on patreon.
Have fun, stay safe 💙.