Aught-infinium-Prototype - 0.0.1


Main post:
This is an early prototype version of the game

Aught-infinium, or ø-Infinium meaning Null Infinite.

I had this idea of a game, I've been wanted to create for a while now. I want a procedural generated worlds the user can explore, each being completely unique in their own right. I want to go as far as making procedurally generated ores, metals, jems, tools and weapons. Each with their own mix of strange randomness, magical properties and modifiers. A crafting system that can create dangerous tools and weapons the user can use, kill enemies with... or accidentally themselves. Some Worlds that look familiar, and others that are completely alien, and worlds in between those. But I'm getting too far ahead of myself.

For now, I've made the start of my endeavor, mainly doing this with the goal of gaining experience and becoming a better game-dev over all.

So here is everything in the game so far:
Boxels: The game uses Boxels, simple 2d tiles that store only one value, the tile ID of what they are.

World generation: I knew if I wanted the large world sizes I want, I would need a chunk based system. The game uses Chunks of 32x32 boxels, I limited the world generation to 9600 chunks in each direction, meaning a world size of 614400*614400 boxels or a little under three hundred eighty billion boxels total in the world. The game uses 1d and 2d Perlin noise for its current generation, having 4 possible biomes for each chunk. Being air, surface, underground and border chunks which each have their own custom generation to fit the biome. Though currently the only biome with any real generation is the surface biome which generates rolling grass hills atop a layer of dirt that fades into stone.

Chunk saving: Only chunks that are changed by the player are stored in memory to save on resources. As world gen is deterministic, we can simply destroy unchanged chunks and regenerate them as needed without storing them in memory if the player leaves the area. Changed chunks are stored into memory and reloaded with their changes as needed.

Boxel objects: To get the interactivity I will want in the future, I wanted to use gamemaker objects for tiles close to the player, but having to many objects will destroy performance. So only Boxels that are on the surface (tiles that have Air as a neighbor) are 'simulated' with an object that links to them. Changes to the object are linked to the tile, making placing and destroying blocks possible. You can see this system work if you toggle draw debug mode in the game.

So boxels, a chunk system, and world gen is what I have done so far.

What I'm currently working on for the next few weeks is being able to generate dungeon like structures into the world, a save file and load file system, basic enemies and player health/combat.

Small patch - fixed camera jitter in web view

Files

ø-Infinium_001_html.zip Play in browser
May 31, 2024

Get ø-Infinium

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.