Recent

Author Topic: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…  (Read 5339 times)

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
We’re proud to announce the release of Castle Game Engine 6.2!

Castle Game Engine is an open-source 3D and 2D game engine, with a support for many game asset formats, portable (desktop, mobile), with a lot of graphic effects and components. Check out our features here, take a look at our documentation, and of course download it from our main page.

New features in this release:

  • Trivially easy recompilation of your games for iOS using our build tool. See the iOS documentation for details.
  • CommonSurfaceShader is our new “material on steroids” that allows you to configure material by normalmaps, specular maps, shininess maps, ambient maps…
  • Improved Blender exporter. It’s now easier to install (it’s now a normal Blender add-on), and it can generate a CommonSurfaceShader node with all the goodies described above. This was implemented thanks to the support on Patreon --- if you like the engine, please consider supporting the engine development on Patreon. This really helps me spend more time on the engine, and develop cool features like this!
  • Other build tool improvements, for all platforms.
  • Other API and examples improvements: TSound.Offset, Sound/music player in examples/audio/audio_player_scrubber, STL format support, ray-tracer now supports textures and smooth normals, TCastleEdit...

See the full release announcement here !

Have fun with the engine :)

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #1 on: June 30, 2017, 08:41:19 pm »
I have found support for Spine skeletal animations, but I couldn't find anything about Dragon Bones support. If it doesn't exist yet, is there any plan to support it?

Dragon Bones is free chinese version of Spine:
http://dragonbones.com/en/index.html
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

Eugene Loza

  • Hero Member
  • *****
  • Posts: 674
    • My games in Pascal
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #2 on: June 30, 2017, 10:10:40 pm »
Looks like you can export to Spine format from DragonBones.
I've checked in the sources, it doesn't seem that DragonBones is supported at the moment. And it doesn't seem to be in the Engine roadmap https://castle-engine.sourceforge.io/planned_features.php either.
Michalis might have more info on this.

It does seem thou that the format specification is available https://github.com/DragonBones/DragonBonesJS/blob/master/docs/DragonBones_4.5_data_format_zh.md however, someone actually using DragonBones might provide more info on how the format is handled.
My FOSS games in FreePascal&CastleGameEngine: https://decoherence.itch.io/ (Sources: https://gitlab.com/EugeneLoza)

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #3 on: July 01, 2017, 12:06:40 am »
Looks like you can export to Spine format from DragonBones.
From what I have found on the net importing Spine to DragonBones is fine, but exporting from DragonBones to Spine has problems. Needs further investigation...
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #4 on: July 01, 2017, 04:20:21 pm »
Needs further investigation...
Exporting data from DragonBones gives 2 choices for Spine export: v2.1 and v3.3 compatibility. In both cases json, atlas and png file have been generated. However current Spine version always complains that json skeletone file is not valid and import fails. The only import that only partially worked was when I imported one DragonBones example which is given as an example of Spine import to DragonBones. Skeletone was imported and could be animated in Spine, but totally without images as shown on attached screenshot. Maybe I missed something obvious and someone with better knowledge on this topic will be of better luck?
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #5 on: July 14, 2017, 06:23:44 am »
(Sorry for such delay in answering -- I'm just back from vacations :)

I tried Dragon Bones. It can export to "Spine" format, which is actually "Spine JSON" format. Which is actually quite perfect for us, because the engine can read the "Spine JSON" format!

There was a small fix necessary to read the atlas files correctly, it is committed to GitHub now. So you should get the engine from https://github.com/castle-engine/castle-engine to try this. Alternatively, you could apply this trivial patch to the engine 6.2 (latest stable) sources.

So I was able to export from Dragon Bones to "Spine" format, and read the resulting ".json" file in view3dscene, and it plays animations, shows the texture and everything works quite cool :) So you can load it to TCastleScene or T2DScene in Castle Game Engine.

I tested by opening (importing) in Dragon Bones various files from their demos on https://github.com/DragonBones/Demos .

Documented now with screenshots here

P.S. In GitHub code, I also removed the warning "bone inheritRotation=false or inheritScale=false is only partially supported". This is declared by the JSON files generated by Dragon Bones, and in practice our support is OK, so the warning was not necessary.

P.P.S. In GitHub code, I also started an implementation of the "native" Dragon Bones JSON format. But that's not finished yet. The Dragon Bones JSON has a different structure than Spine JSON, so adding support for it would require a bit more work (a day or so). It is probably not critical anymore, since Dragon Bones can export to "Spine JSON" that works perfectly with our engine :)

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #6 on: July 14, 2017, 10:48:54 am »
So I was able to export from Dragon Bones to "Spine" format, and read the resulting ".json" file in view3dscene, and it plays animations, shows the texture and everything works quite cool :) So you can load it to TCastleScene or T2DScene in Castle Game Engine.
I am so glad to hear this. Thank you very much!  :D
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

michalis

  • Full Member
  • ***
  • Posts: 140
    • Castle Game Engine
Re: Castle Game Engine 6.2 released - iOS, CommonSurfaceShader…
« Reply #7 on: July 15, 2017, 01:50:18 am »
There was a small fix necessary to read the atlas files correctly, it is committed to GitHub now. So you should get the engine from https://github.com/castle-engine/castle-engine to try this. Alternatively, you could apply this trivial patch to the engine 6.2 (latest stable) sources.

Update: I did some small improvements to overly-verbose warnings from the Spine reader (also so, also Dragon Bones reader). So, I would advice to try the engine version from GitHub https://github.com/castle-engine/castle-engine if you want to play with this, instead of only patching the engine stable version :) The engine from GitHub should be quite stable today :)

 

TinyPortal © 2005-2018