this post was submitted on 06 Jun 2023
8 points (100.0% liked)
GameDev
2777 readers
1 users here now
A community about game development.
Rules:
- Adhere to the general lemmy.blahaj.zone rules (#1 being no homophobia, transphobia, racism or other exclusionary content)
- Self-promotion is fine as long as it's not spammy - share your progress, insights, techniques and mishaps! If you recently posted, update the previous post instead of filling the frontpage with your project
- Hide NSFW/NSFL content behind a clear warning, for example: [NSFW Nudity]
More rules might follow if they become necessary; general rule is don't be a pain in the butt. Have fun! ♥
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
tl;dr: I'm working on a falling sand physics-powered, 2d block-based open-world survival crafting game with spells instead of weapons and tools.
Working on a game that takes elements from Terraria, Noita and Wizard of Legend.
The falling sand physics of Noita intrigued me, but I always wondered what it would be like in a game like Terraria.
I watched the Noita dev talks about their engine (Games Now! Talk and GDC Talk), and they were nice to get started, but they definitely omitted some of the hard details (due to time restrictions I imagine), and for some reason, I found it real hard to find a good lighting algorithm online that worked for block-based games (I ended up finding a simple one that was easily parallelizable, works for day/night cycles and moving light sources that are grid aligned).
Like Terraria, the world is made up of blocks, but for my game blocks can become part of the falling sand physics when they crumble in some way, and they can be interacted with through the falling sand physics too.
So I've got the interactions of things like fire burning wood blocks one pixel at a time, acid melting through dirt and stone, flammable gas, water. Example of fire interacting with wood here And a full image of what the game looks like with its basic UI here
Now I'm working on implementing a bunch of spells as well as enemies. Spells have cooldowns unless they're basic spells. What I really wanted to do with non-basic spells is to have them be cast by taking the element from the world itself and then casting the spell with it, much like bending in Avatar. For now though, I just want to implement something so testing it isn't boring (falling sand physics alone took a bunch of time).
I really want to see multiplayer in this, too, so I've been careful not to make it completely impossible to do later (I did abuse RNG a bit, but I'm hoping I can fix that later ;))
I also decided to make it in Rust, using bevy_ecs (not bevy itself) and Vulkano (Vulkan rust library) with SDL for windowing and fmod for audio.
Since I don't actually have a dev log or anything, I mostly use my existing (Terraria server) community so at least some people are around to help me test things or give feedback, so I post it all here: https://forum.dark-gaming.com/c/game-testers/54.
If anyone needs details for any of the systems I mentioned, let me know, some of that stuff was difficult to implement (I'm still refining them) and a lot of information is scattered around the web that makes it hard to implement this stuff (seriously with the lighting, did I just miss some obvious post somewhere?).
Gonna be honest with you, about 90% of that went over my head lol. But I looked up what "falling sand physics" is an it sounds like a really interesting challenge! The elemental interactions are cool, and no doubt satisfying to watch something big burn up or dissolve one pixel at a time.
The games that use this mechanic are few and far between. I'm not sure where to find a complete list, but there's this wikipedia article on it. I can imagine why, though, because it takes what would be a small, simple game to run and turns it into a CPU using monster. I actually found quite a few game projects on github with this mechanic that were left abandoned.
If you've not played Noita, Powder Game or Powder Toy, I can imagine why my description doesn't quite make sense. I think a gif does far better than words in this case ha.
I was hoping that because there were few games that had this mechanic (and not just the mechanic as the game) and none of them were multiplayer, that it would stand out from games like Terraria in the genre.
Did you ever mention what you were working on?
Yeah I'd not played any of those but looked up Noita and immediately saw what you were talking about :)
I'm making a very uninteresting, very basic newbie project. Minimalist, generic low poly city builder where the city builds itself, basically. But very much just getting to grips with Godot at the moment so there's really not much to share! Still, having fun with it which is the main thing.
Well, that still sounds like a nice project. And a more attainable goal than I've set myself possibly. Are you doing it simply as a way into Godot, or are you planning to do something with it? Like, publish it somewhere?
First was just to see if I could in Godot, but now I've got to grips with some basics I'm hoping to turn it into a real published game. Still very early on obviously, but the only games I've "finished" so far have been jam entries and I think this is about as small as a scope can get while still being worth anyone's time. We'll see how it goes!
Generally post about it over on Mastodon since they're the ones who got me to try Godot in the first place, although I just moved instances there so my profile is kinda empty haha.