DevLog: GameDevJS Jam 2025 - Part 1

on by in development with tags

I’ve been putting off for some time doing a game jam. Seems like a fun exerice to get into game development, but always end up either way too busy or distracted by other projects.

So I’ve decided to finally just go for it and joined the Gamedev.js Jam 2025.

Jam Details

Hard requirements

Evaluation criteria

Games will be voted based on: Innovation, Theme, Gameplay, Graphics, and Audio.

Challenges

There are a few challenges set by some sponsors that one can choose to complete. To keep this log simple I’ll only list the ones I’ll be attempting to complete:

Pre-Jam preparations

Before the game jam I spent some time brainstorming ideas, outlining a rough schedule and doing some testing with Phaser.

I had inititally planned to use Phaser with Svelte to save time on the UI by keeping a clear separation of concerns by using Svelte for the UI and Phaser for the game logic. However when testing the Phaser+Svelte starter template (https://github.com/phaserjs/template-svelte/), and uploading a test project to itch.io noticed that the game would not load due to sveltekit not being able to use relative paths for the build.

To be honest I didn’t spend too much time on this. So while there’s probably a solution I did not find it.

In the end I decided to just use Phaser with React using the Phaser+React starter template (https://github.com/phaserjs/template-react/). Uploaded a test project to itch.io and it seemed to load properly.

If you’re interested in the ideas check out the following Gist:

Day 1 - 2025-04-13

First day starts.

Tasks for today are

Game concept

Game where the player controls a strongman that lifts a log over his head and balances the log.

The game is controlled by the player using the arrow keys to balance the log left and right and walk forward/backwards.

The player must reach a goal while keeping the log balanced.

The idea is to have a set of levels with increasing difficulty and a procedurally generated infinite mode that becomes increasingly difficult. That way we can go introducing the game mechanics and then have a mode where the player can just play for fun.

To list some of the things that can be done with this idea:

We can add a timer so that the best time is recorded and the player can try to beat their own time.

Asked ChatGPT to generate an image for this concept and it came up with the following:

Strongman log game concept

Not exactly what I had in mind but I think it serves to illustrate the idea.

Schedule

Onto the schedule…

So, we have 13 days to deliver, meaning that we actually have 12 days to work on the game. For simplicity I’ll use 12 days for the planning.

Since we need to test, polish, add levels, etc. I’d say we actually have 6 days to work on the core game and the rest of the time to polish it.

Current schedule is as follows. At the end of the project I’ll compare between the real schedule and the planned schedule to see how well we did. (Using my see the future spell: it’ll be off 😂)

Proof of concept

I started working on the proof of concept. The idea is to create a simple game where the player can move the strongman and the log.

After a bit of research looks like the right physics system to use is Matter.js. Since I want to be able to tilt the log, stack trhings on top and have them fall, etc.

The initial mechanic for balancing the log sideways was fairly straightforward. Just update the angular velocity of the log based on the input from the player and when the log reaches a certain angle just make it drop.

The problem came when I tried to add the ability to stack items on top of the log. The log would come down due to the weight of the items. In the end I resolved this by adding a second “ghost” log that would be set to static and make the boxes collide only with this ghost log that is synced with the real log position and angle.

Finally added some forward and backwards movement. This is done by moving the strongmand forward and backwards a bit and having the environment move to create the illusion of the strongman moving forward and backwards.

This is really rough and clunky but serves as a proof of concept for what I intend to build.

The proof of concept is available on:

The code is available on GitHub:

End of day progress

According to our schedule we had planned the following

So far we’re right on track.

I’ll likely be updating the schedule along the way to reflect new findings.