Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(3 edits) (+2)

Hey Liam, awesome game! It provided a fun playthrough for me. The game has all the elements that I love.

Technical Questions, if I may:

  1. How do you make the toggle between HD/SD? Is it the Godot pixelize shader? Edited: I figured it out myself, it's `set_screen_stretch`, right?
  2. How did you make the dismemberment? Is it that each zombie has both a "full mesh" and another mesh with the parts cut and split?

Things that could be better:

1. Some of the sound effects and also the hostages' voices are too loud/too distorted compared to the other sounds.

2. Actually just one :D

(+2)

Thanks bud, means a lot :)

1. Indeed, pixelise shaders have always seen a bit odd to me as if you have an inbuilt scale function for the screen/framebuffer why bother?! (I suppose the answer is I'm lazy)

2. Each character mesh is split into each body part and has a mesh for each level of damage.  The relevant damage version of a body part is simply shown/hidden as necessary.   I originally wanted to implement this by swapping the mesh resource in the instance, but Godot doesn't allow for this.

Yeah, sounds could be quieter.  I was going for the over-the-top distortion, low-fi arcade sound effects.  As with all my games I experiment with things which leads to inconsistencies with various aspects.

(+1)

Thanks for the answers! I have just one more, if I may - as I said this game contains all elements I love about a retro game, so I'm curious about the process :)

Are the levels assembled in TrenchBroom + Qodot or do you do lay down the geometry + texturing in Blender?

(+1)

Each piece is modelled/textured in Blender.  Import/export scripts attach collision and the correct materials based on name look-up tables.  Levels are then put together in Godot.  At runtime the individual pieces are merged into a single room mesh.  The runtime merging preserves the collision nodes attached to each individual piece and parents them to the new combined mesh node.  I can also choose to have the mesh combining script simply generate a trimesh instead of pre-defined box collision meshes.

Each component mesh can be easily put into a scene and instanced with others to save having to make the same rooms over and over.

Hope that answers your questions, always happy to answer as I love talking about this kinda stuff.

(1 edit)

Thanks again for the answer. Quite an interesting process, very different from what I thought.

Due to what you explained, I researched a bit and found out about Godot's "-colonly" and other extensions to deal with collision objects. That helps the workflow a lot! https://docs.godotengine.org/en/stable/getting_started/workflow/assets/importing...

(+1)

If and when it works ;)