An incremental game where you play as a rogue AI, "repurposing" a network for your own goals.  Made for the 2024 GMTK Game Jam.

Controls:
- Left mouse to pan, scroll to zoom
- Left click on nodes to interact with them
- C to toggle the UI

Basic tutorial
There's also an in-game tutorial that walks through the basics.
- Click nodes to start capturing them
- Capture more nodes to capture faster
- Click the core to open the research menu
- Research gives general upgrades for your network, like auto-capture
- You can change the color / visuals of your network in the settings menu
- Goal: expand!

There isn't that much progression at this point, so it may be worth treating this as an idle or ant-farm style game where you watch your network grow.  I aim to improve progression and add better goals after the jam, if I have time.

(If some parts of the game start disappearing, that means you found a bug; there's an error message in the browser console, but I don't have an easy reporting system yet.)

Tips and interesting things (Click to expand)
  • Once you have some nodes, try changing the colors in the settings. It's animated!
  • The game saves automatically; if you need to restart, there's an option in the settings.

Known bugs in the jam version (Click to expand)
  • Fails to start on Chrome on Linux
  • Circles fail to render on some devices
  • Right clicking creates an enemy node, which may crash the game
  • If efficient routing is enabled, clicking on a node that isn't adjacent to a controlled node crashes the game (might be recoverable by toggling efficient routing)
  • Randomized targets will crash the game if the number of targets is greater than 3

Partial Credits

The full credits list is available within the game under the settings menu, but here are the core libraries:

  • The engine is fully custom and was written by me (Aeledfyr)
  • uses egui for the menus and ui
  • uses piccolo as a Lua VM for scripting; all game logic was written in Lua
  • uses wgpu for rendering
Updated 20 days ago
Published 28 days ago
StatusPrototype
PlatformsHTML5
Rating
Rated 3.8 out of 5 stars
(4 total ratings)
AuthorAeledfyr
Made withRust
TagsGame Maker's Toolkit Jam, Idle, Incremental
Average sessionA few minutes
LanguagesEnglish
InputsMouse
AccessibilityInteractive tutorial

Download

Download
network.html 23 MB
Download
original-jam-submission.html 23 MB

Comments

Log in with itch.io to leave a comment.

Great game, beat it in two days, would love more :)

(1 edit)

1) Game does not handles keyboard properly. Use preventDefault in the handling code.

2) Packets stops if #of targets for randomization 4 or 5. They return if # dropped below 4 or randomization disabled.

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.)

Firefox. There are multiple input fields for numbers. Attempting to edit them either pops up browser's search panel or (in case of backspace) goes back in browser history.

(+1)

it gets a bit laggy late game (when you have taken over half the nodes) can you make a setting to cump the packets?

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.)

How Do Enemy's Normaly Apear?

(+2)

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.)

Will you continue working on it to get the enemy AI in a working state? Would honestly love to see more from this game, pretty fun

I get an error in browser:

panicked at src/lib.rs:56:21: Error: Failed to acquire adapter

Error at imports.wbg.__wbg_new_abda76e883ba8a5f (blob:https://html-classic.itch.zone/4c703f83-12e7-404c-992a-39da139ad17f:419:21) at engine_demo.wasm.console_error_panic_hook::hook::h4150eac16ea3f9bc (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[3863]:0x78cd7a) at engine_demo.wasm.core::ops::function::Fn::call::h7a0e4d0f9cadb115 (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[24982]:0xb5a556) at engine_demo.wasm.std::panicking::rust_panic_with_hook::h6731baa78621a747 (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[10527]:0xa502d8) at engine_demo.wasm.std::panicking::begin_panic_handler::{{closure}}::hb6cd8464ed39ae71 (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[12208]:0xaa508b) at engine_demo.wasm.std::sys_common::backtrace::__rust_end_short_backtrace::hbdf3ddeb21a1e747 (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[24930]:0xb5a37f) at engine_demo.wasm.rust_begin_unwind (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[16352]:0xb16249) at engine_demo.wasm.core::panicking::panic_fmt::h5c7ce52813e94bcd (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[16957]:0xb1f98e) at engine_demo.wasm.engine_demo::run::{{closure}}::{{closure}}::h7788e4588d165c92 (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[612]:0xc2254) at engine_demo.wasm.engine_demo::run::{{closure}}::h7c61492b0e18defc (wasm://wasm/engine_demo.wasm-04255cde:wasm-function[2590]:0x65996a)

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.

After a blue node appeared all my packets disappeared and their count in the stats window only rose up

(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!