Follow through with my plan to create simpler game with Godot 4, I decided to create a 3D side scrolling run and gun for mobile. I don't want any major delay trying to fix too complicated codes with newer Godot updates as I plan to complete this game and upload to app stores for testing.

This is inspired by Contra, Megaman, Metal Slugs. It is not a true 3D, just a classic 2d run'gun mechanic with 3D models. Story would be like "escape from new York/ LA" type but more disgusting creatures emerges as you get to later stages. (At least 5 stages are planned but let's see if there could be more)

Let's see what I have done so far.

Features

Player:

  • WASD control with 8 ways diagonal aim, jump, shoot, weapon switch.

Enemies:
Running ground enemy
-Just run at you
-appears constantly when in the right zone
-only 3 on screen at a time
-damage flash: need to limit to individual enemy

8 ways shooting turret
-aim at player, limit to 8 directions.
-burst shot of 3

Moving Platforms:
Each done in different ways using codes, Path3D, animation, and tween. All are working as intended.

Extras
Coins popping when certain enemies are killed

  • still need to make coins disappears after few seconds.
  • need to fix coins doubling if killed with 2 or more bullets at the same time.

To do list:
-Scoring, Health bar, other UI elements.
-Player actions (Crouching, platform drop down, Ledge grab, and Rope Hanging)
-More weapons (laser, missile, flame thrower)
-More types of enemy (Flying, grenade throwing, tanks, bosses)

    Gowydot this looks really cool. I hope we see it with some assets next 👍

    make sure to add a picture so we can vote it to be highlighted.

    Quick update:
    -Simple scores and coins count
    -Drop down platform
    -Simple ledge grab
    -Player's crouching

    @Jesusemora
    Thank you! I'd like to get most mechanics to work first before adding any assets and sounds. But I guess I can make some placeholder assets for it just for this thread. 👍

    25 days later

    Done some player weapons: Normal, Spread, Flame, Laser, and "Heat"-seeking missile.

    Next up will do some variations of enemy weapons.

    Then will be putting the first level together and start the player modelling/animations.

    11 days later

    Been testing a few different enemy types and shootings.

    Ground enemy type:

    • Run and jump attack
    • Straight shooter
    • Throwing attack
    • Left/Right patrol
    • Crawling
    • Bouncing

    Fly type:

    • Up/Down sine pattern
    • Tween pattern
    • Wander and chase player if close enough

    Turret type:

    • 8 ways aim shooter
    • Limited angle shooter
    • Burst shooter
    • Spin shooter
    • Curve sine bullet shooter
    • Bullet hell style shooter

    Next will finally start on visuals. Time to fire up my blender program.

      Gowydot Nice! Looking forward to seeing this with some cool graphics! 😃

      @MikeCL Will do some animation testing before doing actual graphics for the game. placeholder model for now 😉

      Here's a little update on animation tree blending using placeholder model (from makehuman software) and a quick rig for testing.

      Can't decide if I should flip the model (so he looks the same on both side) or keep it natural as is (see his back when turning left)

      btw project updated from 4.2 to 4.3, no problem so far.

        Gowydot btw project updated from 4.2 to 4.3, no problem so far.

        That's because you didn't use shaders. And the animation is simple.

        Are you going to leave the hair as it is?

        Can't decide if I should flip the model (so he looks the same on both side) or keep it natural as is (see his back when turning left)

        This is purely to the creator's taste. I like it that way.

        It's nice to have a prototype like this. 👍

          Tomcat

          That's my plan 🙂 . Simple gameplay and codes save me a lot of headaches from fixing it with each minor versions. The game codes I got should last me at least godot6 LOL. I will add some shader for explosions though, but with basic shader codes only.

          I will be testing long hair movements but it won't be anything too complicated, maybe just keyframe it or with jiggle addon. I've not yet decide on how the player will look like but will definitely be throwback 80's macho vibe (think Arnold, Sylvester).

          I think I will make a web version for itch.io too so people can play test easily. Will update player's control for keyboard and mouse.

          I spent way too much time for the poster 😆 (placed on the first post). It's not about child custody I swear!

          Gowydot there is a reason military shave they heads, long hair can get jammed into gears and such. I suggest tie it to a pony tail, and add bandana

          6 days later

          I put visual/animation on hold last 2 weeks and went back to update my player control. New features are:

          • Now with Enum/Match statemachine
          • Climb ladder with shooting directions
          • Ledge grab with shooting directions
          • Rail with shooting directions

          Took me awhile to figure all the logics out. I had to separate the body, the aiming, and the raycasts detection into individual function group so I can update them in each state.

          In the end I will go with flipping my model left/right so you can see the gun all the time.

          I think I pretty much got what I wanted to work. Will continue on with visuals/animations next.

          @kuligs2
          I'm thinking along the line of him being military prisoner or deserter, so long hair is quite appropriate. Besides, it doesn't bother him because he's the baddest.

          Quick update:

          Add another version of player control to work with keyboard and mouse

          • A/D = Left/Right
          • W/S = Climb Ladder Up/Down/Crouching
          • LMB = Shoot
          • Aiming is now done with mouse.
          • Still not yet decide which button to jump (Either press W or Spacebar or RMB). I will add animations and some enemies to playtest it first to see how it feels.

          Will truly start modelling and animation now finally.

          a month later

          Update: Aiming

          Took awhile because in the beginning I had a player with 360 rotation aiming so I've been playing around with arm bone rotations. Suddenly I thought that wouldn't be fair for the enemies because they can only shoot in 8 directions! so I went back with 8 directions shooting for player and use animation player/tree instead (and much easier than bone rotations).

          • Player shoots in 8 directions
          • Aim by mouse, move by keyboard.
          • Testing aiming animations using animationPlayer only, no blending just yet.
          • The red thing is a placeholder for gun. Right now it is boneattachment to forearm so it looks a bit weird, will correct the placement later.
          7 days later
          a month later

          Away from Godot and been learning Blender on and off, especially for texturing body and face and doing haircard. Trying to find efficient workflow of creating game characters(low-mid poly). At the moment I'm creating characters for story purpose and not for actual game play.
          Right now I use makehuman software to get the base body up quickly then just photoshop face/muscle to that uv texture.

          This is my main player Viper K design. Trying to based him off some caveman. Retired special force, now doing some oddjob to make ends meet.

          This is The Director, Viper K's ex superior (not yet with hair). He's trying to get Viper K to do a new mission, anyway he can.

          I love cliche story 😃

          5 days later

          Looking sharp now isn't he? 😃
          A bit unnecessary,though, to model shirt/jacket since I probably won't be using them but anyway..good for learning quick modelling and texturing. I will keep the coat and texture the shirt/jacket onto his body instead.



          Then will rig and animate him doing something.

          24 days later

          Here I've made simple facial expression for my player.
          Blender 4.3, Godot 4.3


          (A) is using separate planes for brows, eyes, and mouth then just change the textures, with simple hand/foot rig.


          (B) is a facial rig with bone constraints and drivers, with full hand/fingers/foot rig. There are also no subdivisions on the models as I think it wouldn't matter much during gameplay (with camera zoom out).

          Originally I wanted to use A for in-game character and B for cinematic cutscenes but now I'm just gonna use A for both. I will use animated slide show to forward the story (old school NES style) instead of cinematic cut scenes. Just trying to keep things as simple as possible.

          Not really the best looking character (well, he's meant to be a bit clueless 😄 ) but overall I'm happy for its simplicity and glad that I got my Blender rig/textures workflow in the bag (lots of trials/errors). No problem import to Godot using .glb file with just Image Texture Nodes.

          Next will do some guns and other human characters.

            Gowydot Originally I wanted to use A for in-game character and B for cinematic cutscenes but now I'm just gonna use A for both.

            What is the reason for not using option B?

            How did you handle the emotions?

              Tomcat
              To save time basically.

              Although I only planned to have 3-4 acting characters, for (B) I'd have to weight paint the their faces and rig the fingers then keyframe a bunch of drivers for facial expressions. But for (A) I'd just photoshop eyes, brows, and mouths then just keyframe the textures change.

              I'm not too worry about making the top visuals for this game. I could see lots of work ahead to create items, stages, enemies..etc. in Blender. AND THEN I need to put them all together in Godot. I've been away from Godot for awhile now I forgot how my codes work already LOL.