Monday, July 28, 2014

Ugly Terrain

Getting tired of pure voxel terrain again, so I'm going to move voxel system to more of a detail terrain painting system.  GPU Clipmaps are cool again, and much more flexible when it comes to foliage deco -- so hopefully this will be the last ugly terrain screenshot.  Making the system to generate foliage with raycasts as seen in ye old island demo as fun for programmer art, however for deco painting artists don't like that kind of thing.   ;)

Sunday, July 27, 2014

Sublime Text 3 Game Engine RPC Integration

I've been using Sublime Text for a while now, and as you know I have integration for Kagura.  Today I want to share a basic skeleton sample on how to add integration for your project.  Kagura provides both a telnetd and httpd for accepting RPC commands and content, which are the basis of the web based tools such as the editor and profiler charts.   Hooking sublime up via HTTP is easy as it's all python.

I would like to make a full tutorial and go step by step for this, however blogger has no source code formatting / syntax highlighting options via the editor.  Basically, all you need to do is make a small GET / POST request function to push embedded script commands to the game.  Then you can get responses back to process if needed.  Given this is integration into a text editor you're not going to request JSON + js to make pretty graphs or edit content, so responses are ignored.  :)

As far as the game engine side of things go, you'll need to implement or integrate an httpd -- such as mongoose httpd -- to your project and have that feed your main logic loop the script in a thread-safe manner.  Notice all these samples assume local to game engine file modifications to avoid pushing entire files and mirroring during development.  Kagura development is "uncooked" as you can't ship with this enabled for security reasons anyway.  Would make the game a little too easy to hack.  ;)

Sample menu, keys, and plugin files at github:

Sunday, July 13, 2014

In-game editor UI prototype to get full binding support

Here's some screenshots with no context as promised.  You can see the optional in game editing UI is type based instead of GameObject grouped as it's focused more on quick edits.  The prototype was useful enough to to warrant adding a macro system to allow auto binding per KaComponent and/or KaGameObject.

Sunday, July 6, 2014

While you were eating BBQ

I got hopped up on some strong marsala chai and cranked out a ton of updates to kagura3d.  Getting ahead of schedule for my DK2 demo!  :D

* Updated BRDFs and material IDs including a more optimized GGX.  Thanks John Hable!
* Added back some in-engine editor features using antweakbar!  This was mainly to allow editing when you can't have a second display / tablet handy to control the editor remotely via HTML5 UI.
* Hand painted dozens of new textures to convert most of the old assets to Physically-Based Materials.
* Made dozens of new materials for PBS.
* Removed tons of old shaders that existed before PBS support in the engine.
* Updated a few of the old pure voxel terrain and pure heightmap terrain based test scenes.
* Got out blender and worked with exporter, so I can finally export some new animated meshes!
* Updated all the documentation.

Yeah, there is still a lot of support lacking in the in-game viewport editor vs remote editor:

I'm looking for an artist to animate some basic sets like walk / run for MakeHuman meshes.  If you can do original character models or environmental deco contact me as well.  Mainly looking to get assets better than my programmer art and fanart I can't reuse later.  If you have Unity Store Assets I may be able to use those FBX in my engine now blender can import that format.  I am also willing to donate cash to people to fix some commonly used CC0 assets such as the viewmodel arms that need rerigging with a common root to export with animation.  BTW those arms aren't even UV mapped the material is applied magically.  :)

If the models work with this md5mesh exporter then good to go: