SuperDoomKing

I've increased player's speed only for the preview, otherwise it would take a whole minute to watch to the end. I aim for the player to finish the level with enemies/bosses in about 5 minutes average.

15 days later

Update : First level first scene background.

Testing object models and lighting. First I tried doing all the textures/lighting in Blender and baked them because I don't worry too much about dynamic shadows for background. However, The result was blurry and look terrible. The solution was basically I need to bake into large image to look decent. I read that vanilla bake from Blender is bad so I dropped that and now just export plain models and do the textures/lighting in Godot.

Quick Update : The wall becomes invisible when player is near.

When the door is destroyed it sends signal to activate area3D collision to true. When player hits this area3D it triggers the on_body_enter/exit to activates/deactivates the lerping of material opacity.
*note: The grey "rectangle" is still left visible because this wall was made with CSG boolean mesh for prototype. I plan to use imported blender mesh later.

6 days later

Now using Godot 4.4 - converted fine except occasionally editor shutdowns when re-importing .glb. To be fair I re-import my model everytime I add a new animation so few shutdowns here and there isn't much of a problem and after re-start everything works as normal.

Update : Rail actions

-Player hanging on rail using raycast on the head.
-Aiming while hanging using animationTree blending hanging animation with arm and head from standing aim animations.
-When moving he can not shoot.
-There's a misalignment when coming down to the rail or jump when hanging, maybe I will fix it by lock the player to desired position , disable raycast for split second, or simply disable jump while hanging altogether.

Update : Ladder actions

-Same system as Rail actions

Quick update:

  • I fixed rail hanging misalignment by shorten raycast length and disable raycast for a split second using timer.
  • Rotate/reposition player collision (not visible here) using animation player.

6 days later

Update: Baked Lightmap

Visually not much different but I've been learning the bake lightmap and using it for the first time.

Original lights:

Baked Lightmap:

After trials and errors, these are the steps that I used (not sure if correct but it worked as shown above):

  • Make sure the model has UV2. You can do this by clicking advance import on your model and in "Generate" check both "Shadow Mes / Lightmap UV" then re-import.
  • Make sure the lights you want to bake is on bake static mode.
  • Add LightmapGI node the scene then Bake.

It works OK even though it's a bit flat and I couldn't get the hightlights on the sofa to show like the original.
Any Idea on how to do it?

10 days later

Update : Level objects

Made 3d objects and added to the level. Experimenting with sprite3Ds and alpha materials..etc.

8 days later

Some dancer

7 days later

More dancers I guess..
(Just learning Blender to quickly customize lowpoly human with animation for godot export)

10 days later

UPDATE: Test Shooting enemy and Running enemies

  • Add some test Shooting enemy.
  • Add Spawner for running enemies. The spawner will follow player when visible on screen (VisibleOnScreenNotifier3D).
  • Randomly appears at left / right of screen at random time. Limited to 3 enemies per screen.
  • Queue_free spawner at the end.
12 days later

Update: Test adding running enemy animations.

Unfortunately I realized I didn't apply all transform to all my rigs (player, dancers, enemies). I didn't know that the scale properties in Blender Object Mode and Pose Mode are different!

Blender's Object mode

Blender's Pose mode

..and so they were out of scale when imported to Godot. I plan to use these rigs for other human enemies and I don't want to re-scale them everytime in Godot so I decided to just gonna re-do all my rigs and animations again. 😞

18 days later

Update: Hit flash and bullet bounce (mega man style)