Silver & Steel is a game I'm using to explore the basics of Godot.
This section will cover how to setup the repo for development:
To install dependencies for your host system, run:
tools/bootstrap/install.ps1
on Windows (uses winget)tools/bootstrap/install.sh
on Mac or Linux (uses brew or system package manager)
This will install:
- Dotnet
dotnet
will be added to your machine's%PATH%
- Git
- Git & Unix Tools will be added to your machine's
%PATH%
- Git & Unix Tools will be added to your machine's
- Godot
C:\opt\godot
will be used as the root path- The
%GODOT_BIN%
env var will be set
- Make
make
will be added to your machine's%PATH%
- Python3 (for GDLint and friends)
python
will be added to your machine's%PATH%
- VsCode
This project uses a top-level Makefile
runner for convenience. Use
make setup
to setup git
and install gdtoolkit
into a .venv
. Once this
completes, simply open in the godot editor!
- Make
HSM
just use_PhysicsProcess
,SetPhysicsProcess(false);
HSM
Auto-lookup InitialCastingState
: Player Ability Animation when cast
- Coins + score
- Start Screen
AudioBus
?[OnReady]
? (godotengine/godot-proposals#2425 (comment)) (https://github.com/dkaszews/GetNodeAutoProp) (https://github.com/FlooferLand/GodotGetNode)- more Abilities, Enemies
IAbility
?
- Handle fall off cliff
- Avoid fall off cliff AI
- Rename
owner
toactor
in AI - Extract AI, death logic, into Enemy
Phantom
|-- Collider (CollisionShape2D)
|-- Animator (AnimationPlayer)
|-- Audio (AudioStreamPlayer2D)
|-- Directional (:Node2D)
| |-- Sprite
| |-- DetectionRadius (:Area2D)
| |-- CollisionShape2D...
| |-- Hitbox (:Area2D)
| |-- CollisionShape2D...
|-- Hp
|-- Beliefs
|-- Hsm
---
title: Types
---
classDiagram
class Hp {
+Damage(int amount)
}
class Hitbox {
+OnBodyEnter()
+OnBodyExit()
}
class DetectionRadius {
+OnBodyEnter()
+OnBodyExit()
}
class Beliefs {
+bool IsPlayerInRange
}
Hitbox o-- Hp : OnBodyEnter => Damage
DetectionRadius o-- Beliefs : OnBodyEnter => IsPlayerInRange = true
DetectionRadius o-- Beliefs : OnBodyExit => IsPlayerInRange = false
- Pixel Hero for protagonist
- Oak Woods for tileset
- Skeleton enemy
- Energy Shot Sprites by Luis Zuno (@ansimuz)
- Shaders:
- Sound Effects:
- Engine:
- Fonts:
- https://luizmelo.itch.io/fire-worm
- https://clembod.itch.io/bringer-of-death-free
- https://kyrise.itch.io/kyrises-free-16x16-rpg-icon-pack
- https://ansimuz.itch.io/warped-shooting-fx
- https://shikashipx.itch.io/shikashis-fantasy-icons-pack