Playing with physics and water. With no particular purpose yet, just testing everything works so far.
Playing with physics and water. With no particular purpose yet, just testing everything works so far.
I think I'm done with improvements of the environment, for now. This was quite an overhaul already 😊
It's not finished, has lot of remaining issues (popping 🫣) and missing stuff (proper rocks and cliffs), but I think it's now "good enough" for the upcoming first playable version.
Which means I now need to focus on all the other stuff that are needed for that first playable version 😅
These screenshots are taken two months apart. And #Godot rocks!
One thing I still needed to do after the environment overhaul, was to optimize things a bit.
I've managed to make the game run at 30fps on my reference hardware (a 10 years old laptop with a GTX 850M)
I had to sacrifice some of the rendering quality though (second image)
Now I need to create an options menu so that you can adjust quality for your hardware.
Among the main changes, I reduced the density of grass instances. I can't reduced the density of trees because that would impact gameplay (but maybe at some point I'll make a less detailed LOD level for trees)
I also modified the grass shader, so that it uses alpha scissor instead of alpha blend. This makes rendering faster, but it means grass can't have translucent pixels, which is important in distant mipmaps, when each blade covers less than a pixel. Have to find compromises...
Another important change was to reduce rendering resolution. In the screenshot I've set it to 75%, and upscale with FSR1. This makes things a bit more blurry and looses details, but so far the result seem reasonable. Don't worry, it's just classical image processing, nothing like #DLSS5 😉
There is #NoAI in the game, I use no AI to make it, and don't intend to ever use any AI tool.
First version of the options menu. In this video I overlay the #Godot GPU graph (lower values means it takes less time to render the frame, so lower is better performance).
We can see the huge performance impact of alpha-blended grass, especially with high densities (lot of overdraw, I guess?)
The above video has been captured on my main dev machine, so it's powerful enough to run at 60fps no matter the settings.
Grass density has almost no impact in "alpha scissor" mode, probably because the Z-prepass makes it cheap, but I suspect it could be different on a less powerful GPU, I'll need to double check on my laptop.
I can't really capture the result on my laptop though, since the capture itself already puts a bit of strain on the hardware 😅
I think the graphics settings are complete enough for now. This allows to easily scale up to 30fps on my 10-years-old laptop.
I've also improved the lighting of distant trees (impostors).
There is still noticeable popping, but it's better than before. There's also the issue of the shadow split separation. This is a worst case scenario though, since players are not supposed to fly above the forest.
Unless... Wouldn't it be cool if players can build a suspended monorail above the forest?
So maybe that kind of camera movement is possible after all 😅 I'll see when I get there!
My next task for the #game is... to think about what the next tasks are 😁
My focus is to release a first playable version. What is mandatory for that? What can wait for later?
What do you think, what would you want first, as a player?
(see other #poll next)
I'm interested to know, what would you want the most, as a player? Knowing that each additional feature pushes the release date 😅
Also interested of course to know if you have other ideas, let me know!
I didn't wait the end of the poll to implement "lift/manipulate" which I think is among the most critically needed... and received the least votes 😁
https://mastodon.gamedev.place/@youen/116642965349107977
But I realize that I didn't manage to give enough context, mastodon is a difficult format.
Anyway, thanks for your feedback! I see there is no very clear trend, excepted maybe the most wanted "Plot and/or objective to follow", which honestly is not the easiest 😅 I'll see if I can do (the beginning of) something 🤔
Which brings me to another subject... how do you discuss the #story of an upcoming #game, we could say in "#EarlyAccess"?
This would obviously spoil all players that read about it before playing...
Ok, so, as a compromise, I won't disclose more than what I intend to implement in the first version: beginning of the story, as you would experience it as a player, without explaining what would be revealed only later in the game (with a CW since it's still spoilers)
My objective here is to get feedback if you think it's worth spending time integrating in the game, or if it's lame and I should focus on a pure sandbox game instead.
I just need a bit of time to finish my other work day first...
Here it is, my current plan for the story mode of the game!
The game starts with a black screen, becomes overbright/blurry, then slowly focus. An artificial voice explains this is an emergency wake procedure (temperature rising, adrenaline injection, etc.) Vision stabilizes to a first-person view of the ceiling, then camera moves as the player character stands up from a cryogenic pod. Then the player gets control and can walk around
This would be a high-tech/futuristic but makeshift installation, in a storage room, with cables on the ground, computers resting on lightweight tables, basic chairs, and several cryogenic pods. Everything covered in dust. Only one door, which is closed, no windows. In the first version I don't plan to model details, only placeholder assets. Nobody is in the room, except the player character.
The player character mutters "where am I, what's all this? can't remember anything"
The artificial voice reminds the facility is in emergency mode. The player can interact with a computer:
* events log: pods were activated around year 2050, nothing for ~100 years, then alert about low power from the radioisotope thermoelectric generators, emergency mode starts waking the designated pod using backup battery
* pods status: people are frozen, only one shows vital signs, another is empty
* controls of the pods (disabled because of low power)
* button to open the door
When the door slowly opens, lights flicker and go almost dark. The player can then explore the rest of the small facility, but I'm not going to model this for now.
The player can pick a smartphone which was connected to a wall charger. UI shows a connection to wifi, full battery, and apps:
* "New Dawn": knowledge base of the game for crafting, etc.
* "Home Automation": control lighting, can open the main door of the facility
* "Journal": quest interface automatically updated
The main door leads to a short tunnel dug in the rock, and to the surface. Near the main door, inside the facility, the player can see ancient generators (not futuristic). One is split in two parts for maintenance, with the electric alternator showing an exposed port on which a rotating axle can be connected to bring mechanical power.
The quest log gets updated to explain that mechanical power needs to be brought to the ancient alternator to wake the other person.
This is where the construction game actually begins with a first objective: the player must build a water wheel on a nearby stream to bring enough mechanical power, using a system of rotating axles.
This will charge the backup battery, located next to the main door, outside the facility. Once charged the player must manipulate a circuit breaker to enable it. This puts the facility out of emergency mode (power restored).
An artificial voice then announces an intrusion alert (sensors near the door turn red: they are detecting the player) and the main door closes automatically. This breaks the rotating axle the player built, because it had to go through the opening. The player is stuck outside.
The smartphone can still connect, but the "Home Automation" app shows "access denied" now that the facility has received an intrusion alert.
The smartphone still shows the status of the cryogenic pods, and the player can remotely start the wake procedure of the other person, now that the battery is charged. But the player still can't enter the facility.
Later the other person will wake and contact the player using the smartphone, but this is where the story ends for this first upcoming version! That's already going to be a lot of work! What do you think about it so far?
I was happy to find ways to suggest what I wanted while staying within my technical constraints, but re-reading this I realize it falls flat. Very little happens so far, and it's not possible to gauge the overall interest without revealing what happens next.
My constraints are to avoid 3D characters (modeling, texturing, animations, skinning, behavior...), and even voices (I'll use closed captions in the first version). Even the environments and props need to be basic, small scale.
The intro is supposed to be short, so that the player quickly begins the actual game, getting to the surface, in the open, starting with survival, resource gathering and construction gameplay (though some of this won't be implemented in the first version)
By contrast, getting to the part where the water wheel is functional could take a long time, and the player has no pressure about that anyway. I mean for the scenario to make the game more engaging, but without getting in your way.
@lenzj interesting... That would be the best way to spoil a lot of things I have in mind so far 😅
Maybe I could instead talk about what the player knows quickly at the beginning of the game: the player character has lost all personal memories (I know, this is really not shining with originality, sorry about that!)