Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Aeledfyr

15
Posts
9
Followers
A member registered 97 days ago · View creator page →

Creator of

Recent community posts

(2 edits)

Thanks! Regarding the bug, what web browser and version are you using, if you don’t mind? Currently I can only reproduce it on a phone, which will make debugging it a bit more of a challenge.

Edit: I’ve found the bug and fixed it, though I’ll have to wait until voting ends to upload the new build. Thanks for the report!

(1 edit)

Huh, that’s weird. What browser and version are you using?

(I think I can actually reproduce it on my phone, but that also has other issues that I’ll have to debug first.)

I’m glad you could still play it, though, and thank you!

Edit: I’ve found the bug and fixed it, though I’ll have to wait until voting ends to upload the new build. Thanks for reporting it!

Besides for the packet routing (which is just computing the shortest path along the graph using Dijkstra’s algorithm), most of the math that went into it is in the generation of the starting graph.

The general approach is that it generates a bunch of points in a circle-ish area and then connects some/most of the points together with edges. I had 4? different ways of generating the circles:

  • Pick points randomly in a circle, and then space them out with some heuristics (in this case, badly-implemented llyod relaxation)
  • Pick points in concentric rings, with each ring having a multiple of some number of points. (Basically, ring 0 as 1 point; ring 1 has n points at distance 1; ring 2 has 2n points at distance 2; etc, where n is randomly generated for each cluster)
  • Pick points according to a Fibonacci spiral (see the first part of this SO answer for an explanation)
  • Pick points randomly using Poisson-Disc sampling

Then the points are connected together with edges:

  • Create an initial set of edges using Delaunay triangulation; I used a library for this
  • Compute a minimum spanning tree of the cluster’s graph
  • For each edge that isn’t in the minimum spanning tree, remove it with some probability

Maintaining the minimum spanning tree edges means that there will never be disconnected segments in the graph, since the MST connects all vertices.

The top-level map is actually just another generated cluster of points, where each point was replaced with another generated cluster, and the edges are replaced with edges between the outermost points in the inner clusters.

If you have any questions or clarifications, feel free to ask! This was an interesting project to work on, and the graph generation and visuals were much more interesting to make than the actual gameplay.

Very cool atmosphere and art style, and a surprisingly large level for a game jam game!

A few minor issues that I encountered:

  • The mouse sensitivity is very low on high-dpi displays when the mouse is captured.
  • There’s no indication that smaller blocks can be picked up; maybe a sound cue when failing to pick up the larger block could work, to show that the key can do something to cubes?
  • You can soft-lock yourself in the tutorial by clipping the box through the ground

A great game, and a great core mechanic! The art-style is works well, though there are some cases where the player isn’t distinguished from other 1x1 boxes in the room. Sound effects and music would also add a lot to the game.

(Also, a shorter death to restart delay would help with frustration from players who aren’t great at this genre (me).)

I’d recommend adding a bit of input buffering for the inflate/deflate, so that if you press W/S just before the current “boost” ends it won’t ignore the input. Another minor issue is that the force from scaling down from the base size isn’t enough to counteract the increased gravity.

Overall, it’s an interesting mechanic for a platformer, and with tweaking it could make an interesting (though difficult) game.

Thanks for the bug reports! I’ve fixed #2 and will put out an updated version once the voting period ends.

For #1, what specific issues did you run into with keyboard input, and on what browser? (If it’s specifically about using Tab to navigate through the menus, I can improve it a bit, but the UI library that I’m using has a number of bugs with keyboard navigation that I can’t easily fix.)

Thanks for playing! I could group packets (and will if the rendering becomes a bottleneck), but it’s currently doing some other absurdly inefficient things that should be easier to optimize. There’s a lot of low-hanging fruit for fixing the performance that I didn’t get to during the jam itself.

(The number one thing is improving the search for routes; whenever a node is captured, it has to traverse the whole graph and recompute every route, which creates lag spikes.)

Thanks! The UI is made using egui and uses the default theme, so I can’t take credit for the design – but egui is a great library, and I’m glad it fits stylistically without having to mess with re-theming it.

Unfortunately I ran out of time before getting enemy AI into a workable state (and interactions between the player and enemies), so for now enemies don’t appear naturally.

If I continue working on this after the jam, I’ll aim to have a few type / factions of enemies that appear in clusters around the map. Factions would have basic AI with different dispositions; passive clusters that defend their own territory, active clusters that act like a player and grow, or aggressive clusters that seek out and attack the player.

(In theory this could also be generalized to make this a multiplayer game, with a lot more work.)

Thanks for the bug report!

It looks like some versions of Chrome say that WebGPU is supported, but then fail when you try to use it. For now, the only real option is to use a browser that either has WebGPU enabled, or that doesn’t support WebGPU. Firefox should work, and recent versions of browsers on Windows should work. (My guess is that Chrome on Linux is the main browser that has this issue?)

I’ve patched it locally, but unfortunately I can’t upload the fixed build until the review period ends.

Thank you!  I didn't have chance to add them during the jam, but sounds and background music (as well as general ambiance) are on the top of my list for future additions.

I love the art-style and music!  It could probably benefit from a short tutorial to experiment with the tools, since the time limit can be hard to beat at the start.

(1 edit)

Uh, looks like I forgot to remove some logic!  A blue node is created by right-clicking (which I forgot to remove, whoops), and you can re-capture it by left-clicking on it.  Packets disappearing means that something in the gameplay logic crashed, which I'll try to fix once the uploads are unlocked.

Thanks for playing!

No problem!  It's light on actual gameplay and goals at this point, so it ended up as closer to an ant-farm style game than I intended due to time limitations.  I may expand on it when I have time, since I have ideas on how to improve it (and make it more goal-oriented, rather than a a just a (hopefully) interesting-looking idle game).