@itzSaasified Not really testing either yet. I’m finishing up the engine for the 0.1.0 release right now. After that I’ll get the basics syncing between players first, like digging and building, and then properly test the multiplayer side across two machines.
Left the camera still over a valley in my game and let a couple of in-game days go by. Plus a couple of shots from the same world.
The game is a multiplayer survival game, and I’m building it on Frame Engine, my own engine written in Rust. Everything you see here is the engine’s own renderer, terrain and sky. The game is how I find out what the engine is missing, then I go and fix it. Frame Engine 0.1.0 goes public on Friday 30 October.
The streams are new. The world now works out where rain would run downhill, cuts small channels and ponds for it, and the water follows them. Getting them to actually show up on screen took a lot more attempts than I’d like to admit.
The bushes are new too. Each one is built from its own seed so no two are the same, and they’re shaded the same way as the clouds. Still a first pass, they go far too dark at night and I’m already fixing that.
What would you like to see happen in this world?
#screenshotsaturday #FrameEngine #gamedev #indiedev #rustlang
Day 100/100 of building a city-sized zombie simulation
It started as a GPU simulation experiment. Now, unexpectedly, it's going to be a playable sandbox game on Steam.
Excited to share the announcement trailer for Zombie Outbreak Simulator!
(wishlist link in the 🧵)
Snow used to be one flat white cap at a fixed height.
Now it follows the land: shaded hollows hold it, ridge crests and steep faces lose it.
Same mountain, same camera. On this tile hollows are 74% snow, crests 10%. Then one word in the world plan (“winter”) snows 89% of the ground.
Rebuilding the 0.6 km tile with snow takes 6.8 s.
Right now the multiplayer lives in the game, not in the engine release. It’s a small server that both players connect to, and so far I’ve only tested it with two windows on one PC. It’s on TCP for now with no smoothing, so movement is choppy, and digging and weather aren’t shared yet. Moving to UDP is something I’m looking into.
Both, sort of. The channels are made with the terrain, and erosion carves them from the world’s rainfall, so they’re always in the same place. Near the player there’s also a live water sim, and rain builds up and runs downhill in it. The streams themselves don’t rise yet though, so no floods so far. A crossing that’s fine one day and risky after a storm is a really good idea, and exactly the kind of thing I’d want the water to do.
Frame Engine now comes with an example project, so the first thing you see isn’t an empty scene.
Open it from the launcher, press P, and this is what you get: a row of entities each running one of the scripts from the getting started guide, a few steps to climb, and a character you can walk around with WASD. Every script is a few lines of Rhai you can change while it plays.
Building it found two real bugs. Entities resting on the ground counted as colliding, because touching was treated as overlap, so everything on a floor was tinted red and fired a hit every tick. And a cube 0.3 m tall placed at 0.15 m sank six nanometres into the ground, because positions are f64 and scales f32 and the two round differently. Now anything closer than a micrometre is touching, not colliding.
New projects also start with a ground, a sun and one cube instead of three entities floating in nothing. It’s not perfect yet, and I’m open to suggestions: anything you’d recommend I’ll look at, and if it fits before the release I may well add it.
What do you think belongs in a starting scene?
#FrameEngine #gamedev #indiedev #rustlang
One week to go. Frame Engine 0.1.0 goes public next Friday, 30 October, at 10pm UK time.
It’s a source release: clone the repo, build with cargo, open the editor. No installers yet. It’s been tested day to day on Linux, lightly on Windows, and not at all on Mac, and the README says exactly what it has and what it doesn’t.
Between now and then it’s testing, release notes and making sure a stranger’s first ten minutes go smoothly.
That’s where I could use help. If you’re on Windows, Mac, or a different Linux setup and you’d like to be an early tester, join the Discord and say hello. I’ll give you the current unstable build, and any feedback you send back before release goes straight into it: https://t.co/KAyFwgP1up
What do you check first when you try a new engine?
#FrameEngine #gamedev #indiedev #rustlang
This clip is my game’s world running in the Frame Engine editor: the sun coming up and going down over the valley while the clouds build and fade. It’s nice to look at, but most of what went into the engine lately is the stuff you can’t see.
Getting Frame Engine ready for its first release is taking a lot longer than I thought. Most of it isn’t new features. It’s testing, keeping the libraries it’s built on up to date, polishing, and making it easier for someone new to pick up.
I cloned a fresh copy and went through it as if I’d never seen it before, and kept a list of everything that tripped me up. Creating a project used to drop its files straight into whatever folder you picked. Now it makes a folder of its own. When Create or Open fails, the editor now tells you why instead of doing nothing. If you drop in a model file it can’t read yet, like a .glb, it says so instead of quietly drawing a cube.
The README now covers what you need before building, and there’s a new getting started guide. It starts with small scripts in Rhai you can change while the game runs, then shows how to write your own features in Rust and hook them up so scripts can read and tweak them.
I also checked that the oldest version of Rust I support really builds it, and tidied the whole codebase so a clean build has no warnings. Along the way I found that spawning from a script had never worked at all. “spawn” is a reserved word in Rhai, so any script using it failed to compile. It’s now spawn_new, and a test runs every script example in the docs so they can’t quietly break again.
If you’ve tried a new engine or tool, what made you stick with it or give up early?
#FrameEngine #gamedev #indiedev #rustlang
Made a few tweaks to our water in Frame Engine, our own engine written in Rust, and it’s already looking a bit better. The stripes are gone, and after a storm the runoff now soaks slowly back into the ground instead of vanishing. This is all running through a local server.
Did you notice the wall melt away at the start? Those dry mud bricks, with grass worked in, are the start of the first gameplay loop we’re building: dig mud, shape it, dry it, build with it. Max rain turned it back to mud a lot sooner than I expected, but fine.
60x in-game speed for the first 2 minutes, then 600x. The rain fills the valley through the day and night.
Still very early and everything is made in code. What would you want to build or test next in this loop: roofs to keep the rain off, fire to dry bricks faster, or something else?
#gamedev #indiedev #rustlang
Testing the new main menu prototype scene, played through a local server. Game builds can now run more than one scene per project, so the menu finally has its own world behind it.
Everything is still very early. Our first basic gameplay loop is working, but there are no real 3D models yet. Most of what you see is made in code.
As you can see at the end, the water system still bugs out at times, but we’re slowly getting there.
What would you want to see first in a survival game like this?
#gamedev #indiedev #rustlang
Free Download of my Game (190 mb):
https://t.co/NTpOPLudmj
This version is more stable and better balanced,
if you experience crashes let me know. It's still Alpha / work in progress.
Follow me for the newest version - currently i'm updating it frequently.
Two players in my game for the first time.
Both windows are on my PC, joined to a little server I wrote today, and each one sees the other walking around. Watching the other character move when I was controlling the other window was a weird good feeling.
It’s very early. Movement is a bit choppy because there’s no smoothing yet, digging and weather aren’t shared, and it’s only been tested on one machine. Next is getting a friend to join from their own PC.
The networking lives in the game for now, not the engine, so 0.1.0 on the 30th ships without it.
#screenshotsaturday #gamedev #indiedev #rustlang