Pressing middle mouse now shows a
radial menu HUD element that allows
selecting active controlled element.
At the moment there only is "Creative
Building" but in the future you may be
able to select weapons and such.
Currently not networked.
- Add IntegratedServer to ClientScene
- Prevent _Draw from being called by
making Player invisible on server
- Use _UnhandledInput in CreativeBuilding
- Add Cursor.ScreenPosition property
- Add SaveRegistry and SaveAttribute
- Add Save, which handles Saving / Loading
- Add SpawnRegistry and SpawnAttribute
Allows spawning objects by ID or Type
- PropertyDeSerializer handles de/serialization
of any [Sync] and [Save] properties
- Removing objects now done by
removing it from the scene tree
- Add "World" tab to EscapeMenu
- Modify Heartbit font's 1 and V characters
"Singleplayer" now connects to an integrated server
which runs in a completely separate scene tree
- Update to Godot 3.3.0
- Reorganize code into multiple subfolders & files
- Add Client and Server scenes & scripts, extend Game
- Add NetworkSync, syncs state for networked objects
- Add NetworkRPC, allows for C#-friendly RPC by
adding attribute to instance and static methods
- Replace most packets with RPC
- Allow de/serialization of Node / synced objects
- Remove LocalPlayer for now, add IsLocal to Player
- Add BlockPos and Facing structs
- Add CreativeBuilding node / script,
handles placing and breaking of blocks
- Move spawn block packets to static
BlockPackets class, add destroy packet
- Move Cursor to its own canvas layer so
its position can be used in other scripts
- Use viewport transform instead of
camera position in Background script
The escape menu pauses the game and
will allow for creating and connecting to
multiplayer games.
- Move scenes to scene/ folder
- Move scripts to src/ folder
- Add Hearbit font and CREDITS.md
- Remove git integration (we have VS Code)
Game now uses the default viewport instead of
a separate one that's then drawn as a texture.
This makes anything involving mouse position
much easier to deal with.
- Disable camera moving depending on cursor position
- Start work on an "escape menu" with
controls to join multiplayer sessions
- Move player to scene, instanciate on start
- Change application icon