Starter Kit - 3D Top Down Shooter

Hello!

I took some past work I have done for a gamejam and I will be trying to make a 3D TwinStick Shooter Starter Kit (e.g. HellDivers: Dive Harder, Nuclear Throne, Magicka). I was inspired by the Starter Kits from Kenney :slight_smile:. I would like to post my progress here to keep myself motivated and gather feedback.

Here is a quick video of what the project look like at the moment.
demo_controller4

The github repository:

The current features:

  • 3 controller schemes for Gamepad:
    • Left Stick to Move/Aim, Right Trigger to Aim, Button B to shoot
    • Left Stick to Move, Right Stick to Aim, shoot with Right Trigger
    • Left Stick to Move, Right Stick to Aim, auto shoot
  • Collision layers are set up to reproduce the infinite_inertia property which was dropped in Godot 4
  • Character Controller based on a State Machine (inspired from GDQuest tutorials)
  • Animation System based on a Blend Tree (rather than a State Machine)
  • Fully modelled and rigged character
  • Easily switch Character’s Skin
  • Camera follows Main Character
  • One Laser Gun
  • Debug Layer which can be toggled with L key

Next features, I am thinking of:

  • add Pause menu to select Controller Scheme
  • add keyboard + mouse Controller Scheme
  • make a level with Kaykit Prototype Bits
  • adding breakable box
  • adding juice / game feel
  • add ennemies
  • add multiple weapon support

Please let me know if you have any feedback, and/or what you would like to see in a such a starter kit? To be honest, I am thinking that it could be a starter kit for any top-down view game :smiley: but well, better keep the scope small for now.

4 Likes

Hello there!

I updated my project with a new feature. We can now open a menu and select between 3 controller schemes:

  • One Stick Controller (move with Left Stick, aim with Left Trigger, shoot with B)
  • Two Stick Controller (move with Left Stick, aim with Right Stick, shoot with Left Trigger)
  • Two Stick Auto-Shoot Controller (move with Left Stick, aim and shoot with Right Stick)


Does not look like much on-screen without seeing the gamepad!
Is there an easy way to show the gamepad input on screen :confused: for demonstration purposes ?

Anyway, you can try it for yourself by cloning the repo :smiley: !

4 Likes

Small Update! I made a my first EditorScript to build basic AABB collision boxe for my level modules (I am using KayKit Prototypes Bits).

bulding boxes

Just pushed the script into Github if you want to use it (in the branch make-new-level).

1 Like

Hey your project is looking really good! Starter Kits are incredibly useful so I am sure it will help a lot of people. I would suggest doors + switches. Weapon ammo pickups once you’ve implemented multiple weapon support. From your own list; enemies and juice are the big ones.

1 Like

If you get to a state you are satisfied with, it would be awesome if you submitted your project to the Godot Asset Library, like Kenney ! :smile:
https://godotengine.org/asset-library/asset?filter=starter+kit

2 Likes

Yes I would like to submit it to the Godot Asset Library when it is a bit more mature!
I will defintely add picking up ammo in my todo!

I added a small level using Kaykit Prototype bits and the Gridmap node.

The Gridmap node is pretty neat, only problem is that we can’t change the spacing of the painting brush. It would be great to be able to work on 2x2 grid with 4x4 pieces.
I opened a proposal here: Add a Brush Spacing property to GridMap to control spacing between tiles when using paint/fill tools · Issue #9612 · godotengine/godot-proposals · GitHub

Next steps:

  • Adding destructible elements
  • Adding some juice
2 Likes