Working on text input widget. Happy with the state of it, still need to implement some stuff (like password input, clipboard, deciding if I want to support multi-line later, etc) but works pretty alright for now!

#gamedev #opensource #dotnet #csharp #praxisengine

Wee, stylesheet loading & loading UIs from XML is implemented. Currently just displaying a basic label & button, but it's a start :)

Figure I can probably hack in a "UI preview" debug window that loads and displays a UI from a given path, similar to the entity preview window, to allow iterating on UIs.

#gamedev #opensource #dotnet #csharp #praxisengine

Implemented triggers, got collision+trigger enter/exit events implemented, and added a coin pickup which can be collected to increase a global score (as stored in a PlayerScore singleton)

#gamedev #opensouce #dotnet #csharp #praxisengine

Praxis Engine: PlatformerSample Animation (WIP)

YouTube

Progress on PlatformerSample: got camera following & basic character movement!

#gamedev #opensource #dotnet #csharp #praxisengine

https://www.youtube.com/watch?v=bDpGgBjRlF4

Praxis Engine: Platformer Sample WIP

YouTube

Anyway I fixed several bugs in my content pipeline & started working on a PlatformerSample for Praxis, ft. Leigh :)

Ignore the weird black striping, that's a Compressonator bug lol.

#gamedev #opensource #dotnet #csharp #praxisengine

Whew, jeez. Realized hot reloading was pretty busted in ResourceCache (it wasn't thread safe, totally failed if the file was still being written, etc).

Praxis also failed to ensure an unloaded asset was reloaded in many cases, so you could end up with a model just vanishing instead of properly hot-reloading.

Fixed everything up, now you can rebuild your content while the game is running. Not everything live updates, but a lot does (shaders, materials, textures, & models in particular). Anything that doesn't live update *will* get updated the next time that asset is loaded though (levels, entity templates, etc)

#gamedev #opensource #dotnet #csharp #praxisengine

Realized last night in bed that I could probably hack in support for "nested" entity templates, and let you do stuff like this:

#gamedev #opensource #dotnet #csharp #praxisengine

Working on EntityTemplate system, so you can load an EntityTemplate from JSON and then instantiate entities from it.

A little fiddly b/c right now it basically entails writing both a Component struct *and* an associated ComponentData class (which is what actually gets deserialized), but it does work!

#gamedev #opensource #dotnet #csharp #praxisengine

Praxis Engine: Debug Mode & Particle Systems

YouTube