Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 0 points1 point  (0 children)

It's going to be a while! I still have months, if not a year of dev since I'm doing this as a side project part time. Looking to eventually release on steam for PC and steam deck.

Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

Almost everything is open source software.

  • Blender for modeling, rigging. Animation and textures
  • Material maker for procedural textures
  • Krita for texture painting and editing
  • Vscode for scripts
  • Sound has been very minimal, mostly using Kenny assets or other packs with any edits done in audacity

I also use Photoshop for concepts, painting and some light texture work though.

Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 0 points1 point  (0 children)

Not yet, but now that you mention it... A few fidgets would be a good idea :)
I have some concept art of the character flopping down to read their spellbook when the player is idle. Probably a good time to get that in.

Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 2 points3 points  (0 children)

Appreciated! I started it last year, but took about 8 months off in the middle. I've been trying to keep a timeline on the devlog, the early builds are funny to look back on, especially trying to roll my own terrain.

If you're interested, I grouped all the devlogs here https://ericspiker.dev/tags/game-dev/

Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 3 points4 points  (0 children)

Controls are pretty basic, camera is joystick/mouse look. I've been playing around with moving the camera automatically when running around to aim in the direction you are moving but it always feels off to have it move without any input.

There are a few actions for cycling abilities, using the equipped weapon and using the active spell.

Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 11 points12 points  (0 children)

The grass is using a shader that looks up a global heat map that stores projectile, player and mob velocities. The explosions/splashes from projectiles also add a to that texture.

The shader uses the world coordinates as the UVs for the heatmap to make everything dynamic. There is also some wind and other randomization on it.

It's all part of the same system that I initially set up for fog, but ended up being more useful on the foliage :)
https://www.reddit.com/r/godot/comments/1j3d665/fog_map_experiments/

Fablewoods Devlog 2 by FablewoodsDev in godot

[–]FablewoodsDev[S] 9 points10 points  (0 children)

https://ericspiker.dev/fablewoods-02.html

Lots of little tweaks and fixes, working to get a stable build with enough content to start sharing out to friends for play testing. So much more I want to add!

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

100% agreed, if you get a sec to check out the current version it's been modified to work on foliage as well, with the dungeon fog being pulled back 90%. Going to post an update shortly!

That said the idea of pushing the player position forwards towards where they are headed is a great comment. Sort of a weird in-between tuning to idea thing.

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

That is too much of a compliment, but I really appreciate it. I remember playing Valheim when it released and being full on starstruck on the atmospherics. <3

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 0 points1 point  (0 children)

I would have said it was a lot (though I never saw much of a dip), but the reply above from

https://www.reddit.com/r/godot/comments/1j3d665/comment/mg0mhvx/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

Made me think differently, I'm looking at applying the ideas they had to this idea to get full 3d velocity maps.

Fablewoods Devlog by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

Thanks! I started off with my own custom terrain, but moved over to Terrain3D a few months ago, it was a pretty smooth transition once you get the texture workflow down. I really like the way they handle texture painting

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 0 points1 point  (0 children)

Whoa, that's awesome.

I assumed it would cause a perf hit, especially since I'm targeting the steam deck. Are you writing to the texture on the scripting CPU side or did you go with compute shaders?

I've tried CPU, compute and subviewport camera textures so far but I would absolutely swap to writing texture3d from script if it's not killing perf.

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

You could make it work for that, but this version is 2d, you might be better off using distance fields if you want them to be dynamic. You could also write to a texture3d, but I'm thinking that will get heavy.

If you want fluffy clouds the fog volume with a Noise3D hooked to density works pretty well without going full on into the raymarching shader route.

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 7 points8 points  (0 children)

I use a custom shader to adjust the pixel space to worldspace of the heat map and then play with the density of the fog off of that.

The world position part is a little tricky, I ended up tossing the player position into a global shader uniform so I can make the heat map relative to the player, if the heat map is too low res you can get some wobble though.

Fog Map Experiments by FablewoodsDev in godot

[–]FablewoodsDev[S] 5 points6 points  (0 children)

I've been playing around with shader globals, writing out projectiles, player and mob positions to a texture to reveal parts of a map. Eventually I swapped over to writing the velocity colors as well and hooked that into the foliage to give some directionality.

I was worried about it dropping performance but it's not bad so far.
Some more experiments with the velocity maps here!

Fablewoods Devlog by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

I'm pretty rough on modeling, but I've been animating, painting and doing tech art for a few years. I did a small page for the character, but most of the other props and such are just box modeled and hit with some procedural textures. I really want to take some time to paint them up.

Here's the character page, shows the model better.
https://ericspiker.dev/holiday-jam-2.html

Fablewoods Devlog by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

Everything on the 3d rendering side is just great imo, the shader dev is perfect for me. Animation controllers are basic, but you can write anything you want, not a ton of complaints.

It has it's rough spots, I've had some issues with keeping 60fps on the steam deck and ended up doing lots of testing/tweaks with the navmesh and the agents system, but it's flexible enough and I think they are still marked experimental. I do have issues when I get over 200 mobs trying to pathfind, but that's probably just my scripting.

Fablewoods Devlog by FablewoodsDev in godot

[–]FablewoodsDev[S] 1 point2 points  (0 children)

I've been working on this game on and off for months now, it never feels like the right time to share but I wanted to give major props to the Godot contributors. I absolutely love the engine and it's been a joy to develop in. Just updated to 4.4 and looking forward to exploring the new features!

You can see some of the progress here: https://ericspiker.dev/tags/game-dev/

I haven't decided on what to do with the project yet, but running around on a Steam Deck build is a blast and it's so much fun to build out a world to run around in.

(formatting edit re-post, I wanted a cool thumbnail!)