game dev

Long time no see but polymorph engine development…

Long time no see, but polymorph engine development is back on track! The XML describing a polymorph’s project is now able to configure the Ogre’s compositor, understand the post-processing module. The first screenshot is using a custom compositor with this configuration: <workspace name=”TuningScoreWS”>   <script group=”General” workspace=”CustomCompositor” />   <colors>     <color name=”background_center” value=”0,1,0″ node=”0″ pass=”1″ index=”4″/>     <color

It’s holidays in schools this week in belgium…

It’s holidays in schools this week in belgium, a good occasion for me to pull out of the grave an old project: disrupted cities. 4 years ago, the scenes have been generated within blender: city maps, meshes and uvs. I was certain it wouldn’t be too hard to port in real-time, and that’s what i’ve

I’m currently working on a more user friendly…

I’m currently working on a more user friendly mesh, skeleton & materials converter. For the little story, when you export a model from blender, the blender addon outputs xml files. These files have to be parsed by the OgreXMLConverter to produce the final files. *.mesh & *.skeleton files are binaries. It’s a tedious process, especially

3D puredata communication Starting to work on the…

3D – puredata communication Starting to work on the first external to enable an easy integration of puredata in the polymorph engine. The idea is simple: you place a pobject_in object in your patch to receive position (translation), rotation and scale of the 3D objects. In edit mode, meaning you have pd with ui and

Currently working on PCamera class a class to…

Currently working on PCamera class (a class to manage … camera!). The new samples/0.1/example.cam shows how to create one and render it onto a texture. In these images, the pink texture on the cube is the rendering of the camera rotating in the center of the scene, the tall pink cone. It is very ogry

New example ready for skeletons manipulation In the…

New example ready for skeletons manipulation. In the example, the skeleton debugging is enabled by default. It shows the bones hierarchy and the local orientation of each bone. There is 3 transformation spaces for bones, inherited from Ogre3D: LOCAL PARENT WORLD All methods to get or set orientation, scale and position are sensitive to this

Triggering sounds when there is a collision between…

Triggering sounds when there is a collision between 2 objects is now feasible with the code. A message is sent to pd with the name of the objet and a “contact” flag (left of the image). It has been a hell of a fight to get extract “useable” collisions information out the physical engine. There

Dynamic scenes loading Based on an #XML description…

Dynamic scenes loading. Based on an #XML description of the project, that looks like this: <polymorph version=”0.1″ date=”20161124″> <scenes> <scene id=”3″> <pobjects> <plight name=”main_sun” visible=”1″ debug=”1″> <pnode name=”floor” visible=”1″ debug=”0″> and so on, it is easy to load a new scene. The deletion and creation job is managed by a cool object call “PObjectManager” see:

Polymorph package is on its way Until today…

Polymorph package is on its way! Until today, polymorph was a collection of Ogre addons, independent from each other. The approach has changed a lot during the development of Tuning score. All extra libraries are now linked into one big package: Bullet – physical engine; libPD – sound engine; OSC – Open Sound Control messages,

Tuning scores first screenshots of the game Because…

Tuning scores, first screenshots of the game. Because we present the first prototype to Lisa Nelson and the Contredanse crew very soon, we rushed a lot this week and first results are promising: a bunch of objects are ready to be manipulated; it’s possible to play on 2 different computers seamlessly (identical physical world); each

Demo of physics in polymorph engine A lot…

Demo of physics in polymorph engine. A lot of stuff has been fixed since yesterday, but severe improvments are still to be done. In the video, only convex hulls and simple colliders (cubes & spheres) are used. To add a custom collider on a PNode, you call: pnode.load( sceneManager, “General”, “my-high-resolution.mesh” ); pnode.physics( polymorph::BT_DYNAMIC_CONVEX, “General”,

Bullet integration Working on a wrapper to ease…

Bullet integration. Working on a wrapper to ease access to the ogre objects, in a namespace called polymorph 🙂 For instance, here is how to declare objects. polymorph::PBullet::start(); // simple nodes n0.sphere( sceneMgr ); n0.orientation( Vector3( 0.3,-0.1,0 ) ); n0.scale( 2.46 ); n0.move( Vector3( -12,8,0 ) ); n0.debug( true ); n1.sphere( sceneMgr ); n1.debug( true

Sound source linked to Puredata After the work…

Sound source linked to Puredata. After the work of yesterday, a bit tedious, and a bit of cosmetics in pd, sound sources are now correctly linked with the sound. Pan is controlled by the x coordinates of the source. Source also send the file path to play to the track. The 3 tracks you see

Edition tool first draft This is the first…

Edition tool, first draft. This is the first step towards a game editor based on #ogre. At this stage, the application allows to reload all resources from the drive and therefore to change the materials manually without having to stop/start the viewer each time. Lights are also selectable and modifiable. It’s obviously much less clean