For 30 days I took part in a JavaScript gamejam hosted by http://js13kgames.com
Js13kGames is a JavaScript coding competition for HTML5 Game Developers. The fun part of the compo is the file size limit set to 13 kilobytes. The competition started at 13:00 CEST, 13th August and ended at 13:00 CEST, 13th September 2019. Theme for 2019 was back.
View my entry here: https://js13kgames.com/entries/quick-wins
Decided on a gameboy style platformer, simple levels whereby you collect coins to open a portal which leads to the next level. Got the basics in place quite quickly, standard entity, camera, hero and tile classes.
The usual suspects: entites, viewport, camera, tiles, IO and basic collisions are working #JS13K #gamejam https://t.co/SenHbaL7KZ
—
Careless Coder (@CarelessLabs) August 13, 2019
With the basics in place I started implementing some levels and refactoring code, with very little space early on aiming to keep the byte count down.
Happy with day one progress, using HTML5 and Javascript. Needs refactoring and will need grunt to check min sizes s… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) August 14, 2019
I played around with several different types of blocks which reacted in different ways, ice blocks that melted that you moved down with but this spoiled being able to run over several of the blocks, these later changed to blocks that melt but dont move the player downward.
Squished some bugs, implemented audio in code ( gist.github.com/tyler6699/2f2f…) and added melting ice blocks. #JS13K… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) August 16, 2019
The colour scheme I had gone with was pretty boring but determined to keep it simpe I search the web for some inspiration.
I have just found and am testing @KerrieLake Mist GameBoy colours for the #JS13K gamejam, really added some life to… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) August 18, 2019
Escalators seems like a neat way to control the players movement and would allow for some interesting levels.
WIP #js13k Added conveyor belts and one way platforms, some code cleanup also. Spritesheet needs implementing tomor… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) August 19, 2019
Ladders were quite a challenge to put into the game but an essential part of any platformer.
Added ladders, bouncy exiting was a pain, but fixed! Improved ice blocks, I clip the image rather than decreasing t… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) August 17, 2019
Walls are solid and cannot be passed through but platforms can be jumped through, a simple test of the heros Y position against the platform Y position was used to check if a collision with the tile should be checked. Quite a simpe solution to what seemed complex at first.
One way platforms, so simple to implement once I thought about it as a simple problem! #js13k #gamedev https://t.co/1TlnEdUNMT
—
Careless Coder (@CarelessLabs) August 18, 2019
Added in some dust affects to give some feedback to the players movement and a simple transition between levels. At this point the code did start to get messy, with 30 days of coding it would have been better to build some systems or a simple state machine rather than dealing with many IF statements, before taking part in the next Jam creating a basic engine would be really worth while.
Building some tutorial levels, will then add as many levels as I see fit. Leaving enough time to work on the theme… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) September 09, 2019
Originally I had planned to implement a Git menu, the idea behind this was playing a level and commiting the time taken to a branch or reseting, going back and retrying. The game would be about progressing once you had enough time to do so. This menu was a pain and was removed for something much simpler.
Quick draft of terminal screen, commit to move on, reset to retry, will allow checking out branches etc. Logic and… twitter.com/i/web/status/1…
—
Careless Coder (@CarelessLabs) September 02, 2019
Early on I had time to work on features, test out colour schemes and mess with the UI, but later only being able to work the odd hour each evening I was running out of time, I dropped many ideas and polish to finish the menus and build levels. The game code did get messy and hard to work with which often lost me time.
Working on some more challenging levels for #JS13k #js13kgames #gamedev https://t.co/pW64a9x4Ic
—
Careless Coder (@CarelessLabs) September 11, 2019
Ther hero was always going to be updated to pixel art but as it reminded Lee of the Github contributor square, I left it as is:
@CarelessLabs I'm not sure if it's intentional, but I love that your #JS13K hero looks like a green ■ from the GitH… twitter.com/i/web/status/1…
—
Lee Reilly (@leereilly) August 25, 2019
I enjoyed the jam, having plenty of time was great but the keeping the game within 13kb compressed meant minifying to code and really limiting the sounds and graphics. Looking at other entries I could have added much more polish and tighened up the movement of the player. The music that was created by ModalModule really added to the quality of the game, I spent hours listening while testing the game.
The levels were put together very quickly and while there are a good number of them more time should have gone into testing them, a few more enemy and tile types could have made the levels more enjoyable, I probably didnt explore the use of the different tile types enough.
I used some of of Xem’s tools, a level and sound editor to help produce the game, there are so many talented coders taking part in the jam who are all really helpful and were often in the Jams Slack channels advising or just having a chat.
Over all a great jam, I am enjoying voting at the moment and look forward to seeing how I did!