No description
  • GDScript 100%
Find a file
2025-07-21 12:40:35 -05:00
.helix great progress, but I seem to be crashing the editor 2025-07-11 14:32:08 -05:00
component he's beginning to understand shading and lighting 2025-07-21 12:40:35 -05:00
entity he's beginning to understand shading and lighting 2025-07-21 12:40:35 -05:00
font chore: work on some debug stuff 2025-07-14 21:21:43 -05:00
img feat: work on player cursors 2025-07-14 21:45:01 -05:00
scene he's beginning to understand shading and lighting 2025-07-21 12:40:35 -05:00
sfx fight! 2025-07-12 10:18:32 -05:00
shader he's beginning to understand shading and lighting 2025-07-21 12:40:35 -05:00
tileset Add readme ideas 2025-07-17 22:33:30 -05:00
ui he's beginning to understand shading and lighting 2025-07-21 12:40:35 -05:00
.editorconfig feat: proof-of-concept navigation for a kodotag-like game 2025-07-08 17:13:53 -05:00
.gitattributes feat: proof-of-concept navigation for a kodotag-like game 2025-07-08 17:13:53 -05:00
.gitignore feat: proof-of-concept navigation for a kodotag-like game 2025-07-08 17:13:53 -05:00
default_bus_layout.tres feat: absolute basics in place to start working with 2025-07-14 15:23:28 -05:00
global.gd chore: mostly cleanup, add cooldown bar 2025-07-16 14:29:39 -05:00
global.gd.uid chore: work on some debug stuff 2025-07-14 21:21:43 -05:00
project.godot chore: mostly cleanup, add cooldown bar 2025-07-16 14:29:39 -05:00
readme.md feat: basic automapping/fog-of-war working 2025-07-18 13:54:10 -05:00

kt Project

A Kodo Tag clone.

You and some friends avoid the terrible (but stupid) monsters until you become strong enough to start slowly destroying them with your traps, towers, and clever mazes of obstacles.

Todo

Everything I need or want to work on in this project:

MVP

The MVP should be fun to play, even if it's not juicy or pretty to look at.

Please be ruthless about what gets into the MVP!

  • Navigation server proof of concept
    • Support multiple enemy sizes (small enemies can maneuver through smaller portals)
    • Should rebake navigation polygons as obstacles are added
  • Add an attack and damage system
  • Tiles
  • Fog-of-war -- enemies should be able to sneak up on you
    • Automapping ???
      • I think I can do this very simply with a "real map" and a "revealed map"
        • Hide the real map completely and don't draw it (but use it for collisions and stuff)
        • Reveal tiles as we collide with them and add them to a separate layer where they can be drawn freely
        • Otherwise, have a big old texture with roughly one pixel per tile and edit the pixels as we collide with tiles and figure out how to draw the "fog" texture over the map
  • Abilities and powerups
  • Floating damage text
  • Towers and mazes and maps (mapgen?)

Alpha

  • Automated testing
  • multiplayer via webrtc
  • Sprites will need animations at some point
  • sfx
  • music ("He's escaping! Kill him!")

Debt

First, I want to (should?) read the Godot manual cover-to-cover as is often recommended for technical tools.

I went through a few videos with good tips I want to be sure to incorporate:

Videos

  • 50 Godot 4 Tips: https://www.youtube.com/watch?v=1xjoExMwrMc
    • Drag nodes (even multiple) from the Scene list into a script to create an @onready variable for that node
    • Double-clicking an instance scene takes you to the scene
    • Alt+Click in text editor to place multiple cursors
    • Ctrl+Shift+I to fix indents (space to tab)
    • There are project settings for layer names (such as for collision and rendering) which for staying organized I'm guessing is gonna be a must
    • Setup good run shortcuts (F5 sucks)
    • Alt+RightClick to choose from a list when trying to select overlapping nodes in the editor viewport
    • Script templates
    • Use type annotations (performance and autocomplete reasons)
    • Setup instant autocomplete
      • Editor Settings -> Text Editor -> Completion -> Code Complete Delay
    • Godot has a debugger - stop using print statements
    • If you must use print, use print_debug to show the source
    • Setup the editor to switch to the remote scene when debugging
    • Hover over the "multipurpose transform tool" in the editor viewport to see hotkeys for moving, scaling, and rotating all-in-one
    • Use built-in scripts for testing?
      • Why?
    • Also use temp/test scenes for testing
    • Scene hot-reloading when editing
  • 14 tips and tricks: https://www.youtube.com/watch?v=7Sf62lC3yGI
    • Docstrings with ##
    • F1 for docs instead of googling, though probably missing tutorials
    • Favoriting "FileSystem" entries, also choosing a color for entries/folders
    • Markers and ruler tool in the editor viewport
    • OS.is_debug_build
    • 'Embed Game' plugin: https://fabimakesgames.itch.io/embedgame
  • Fixing Rookie Mistakes in Godot: https://www.youtube.com/watch?v=uA2qqLrf_5Y
    • Using the underscore prefix to indicate a "private" variable or method
    • Uniquely-named nodes
  • State Machines: https://www.youtube.com/watch?v=ExuzWQ077n4&t=335s
  • Tiles using the Dual-Grid System: https://www.youtube.com/watch?v=jEWFSv3ivTg
  • Prep for release: https://www.youtube.com/watch?v=3iGHpha-DmE
    • Application icon
    • Project name
    • Splash screen
    • Ensure game starts in full-screen in release mode
    • Custom mouse cursor
    • Specify main scene
    • Cleanup anything unused for smaller binaries (remove .blend support, etc.)
    • Graphics options, such as AA

Draw Layers

  • Background
  • Revealed Tiles
  • Objects
    • Visible Enemies
    • Player
    • Pickups
  • HUD