Updates from November, 2016 Toggle Comment Threads | Keyboard Shortcuts

  • frankiezafe 19:35 on 2016-11-20 Permalink | Reply
    Tags: , programming,   


    Here is the output and the code of the empty example. It is using polymorph package.

    Once installed (the tricky part, soon fixed with a magic installation script), you just have to extends PolymorphApplication class and start working.

    As you may notice, the class CustomApp does nothing on its own. It just calls the mother class’ methods. The purpose of this empty project is to enlight crucial methods to overwrite in order to start coding something.

    I’m now working on a basic example, showing how to add primitives, load meshes, add lights and animate them.

    • frankiezafe 21:34 on 2016-11-20 Permalink | Reply

      @xuv & @balt : i think it’s important to be obvious on what is polymorph and what is ogre by keeping the namespaces as they are. For instance, creating a PNode requires to call polymorph::PNode. When you want to create a vec3, there you have to call Ogre::Vector3.
      In the example above, the using namespace is only used in cpp => for all class params (.h), they have to be set this way. It will be explained in the basic example.
      What d’u think?

      • xuv 14:19 on 2016-11-21 Permalink | Reply

        @frankiezafe : seems coherent.

        • frankiezafe 15:53 on 2016-11-21 Permalink | Reply

          i’ve started working on a “PObject”, wich is a common ground for PNodes, PLights and PSounds. It’s a abstract object defining anyhting located in the 3d world, with possibility to attach them together or add physics on them.
          Result: ultra tuff conceptual work, using an abstract class + a template class for PObject – will work in a few days.

  • xuv 22:00 on 2016-09-09 Permalink | Reply
    Tags: , , ,   

    Polymorph weekly news #6 


    If you’re following this series of weekly news, you’ve noticed there hasn’t been any for the past few weeks. I apologize for this. It does not mean Polymorph was on hold or that I lost contact with the team, but I just did not have much time to write a post and do the regular interviews of the different participants. But this week, I’m back on track and was invited to participate in the dev meeting with @frankiezafe, @balt and Olm. So let’s summarize this 3 hours meeting in a couple points that hopefully will invite you to dig further and come to the next one. Because, since Polymorph is actually an open source game development platform, you are all welcome to join, anytime you want.

    Out of the many things that have been developed around Ogre for the past few weeks, the last notable one is an addon to handle game controllers. François has finished and tested it with Olm and Balthazar. They’ve even tried to plug in multiple mouse controllers in one machine to see how that would work. But although this could be possible on a Linux machine, it’s not as easy as it sounds. While the idea of creating a game for multiple users on the same computer, each with his/her own mouse, is appealing, the complexity and the limitation in terms of OS choice don’t make it a priority for Polymorph at this time. If a project comes up that requires it, further research will be done in that direction. As for now, the Ogre addon for game controllers works. It’s not going to be an official addon as the Ogre community requires that unit tests must be written for it in order to make it into the official list.  But since it’s open source and the code available here, if someone wants to jump on it and do it, you’re more than welcome.

    The conversation went on about PEEL’s gameplay and especially how the player moves around and manipulates objects. As you can see in the video below, things run smoothly. But an interesting conversation happened between Olm, Balthazar and Francois on how to improve things and make it even smoother.

    François then introduced his plan on how to configure each levels using XML files. Basically, each level is fully described by a tree of options and parameters, which makes it a fast and convenient way to create new levels. Discussion went around the structure of the XML, where to add and define sound parameters and so on. Which then evolved in a whole conversation on how to best use the sound engine (aka Pure-Data) that is now fully part of the Polymorph Engine. Pure-Data, for those who don’t know, is the open source equivalent of Max/MSP. A very powerful realtime sound synthesizer, making the Polymorph Engine a musical instrument in itself.

    As for PEEL, being a minimalist game in  terms of 3D objects and environment, the sound will be crucial to give a sense of space and set the overall mood of the game. We’re taking about spacial sound and realtime sound effects, of course, done with the help of Daniel Perez Hajdu.

    Regarding the development of Polymorph Engine, many questions are still open. What about the compilation on Android? Lacking tools and access to proper Android hardware, Francois has not managed to compile it for this platform yet. There is also big questions hanging in the air regarding shadows. Francois has not figured out how all that works. It might be not so important for PEEL, but the next project will require it.

    And since we are already talking about the next project, @louise will be joining Polymorph next week to start working on the Contredanse application. She will be doing research on the gameplay and work on the integration of the 3D elements in the game engine. While @frankiezafe will be in charge of integrating Bullet (the physics engine) and finding all the help in can get from the Ogre community to get the shadows working.

    So stay tuned, come visit us and pass on the information around you, that’s also a way to show support to this project. And see you next week.

  • frankiezafe 12:12 on 2016-08-05 Permalink | Reply
    Tags: , Inkscape,   

    Algorithmic object creation.

    The work started yesterday wit @balt starts to fall into place. All vertices are generated at the right location and in a logical order (see right part of the image), making it possible to construct the faces “easily”. But it’s anyway a hell of +, -, * and % 🙂


  • xuv 22:39 on 2016-07-29 Permalink | Reply
    Tags: , open source, , Unity3D, Unreal Engine,   

    Polymorph weekly news #3 

    Going for the third week now, I scheduled an appointment with @balt, the second developer of Polymorph Engine.

    I never met Balthazar and so this was more an introduction meeting and a discussion to get to know each other. The other reason is Balthazar has tasks to do on the Polymorph Engine but he has not found the time yet to get to it, so it was pointless to talk about what he had achieved so far. Nonetheless we did talk about it and what he sees in Polymorph and that’s equally interesting.

    So Balthazar de Tonnac is a developer and system administrator from Brussels. He has worked with artists helping them integrate open source tools in their workflow. He also has knowledge in Blender, Unreal Engine and Unity3D. One of his previous work was to develop a visualizer for atk.io. ATK! is an audiovisual duo, composed of Ofer Smilansky and Isjtar, known for doing live performances using light and music in relation to architecture. Balthazar created an interactive application for ATK! using the Unreal Engine. This permits them to visualize their set up and show what it could look like to their clients. Using the Untity3D engine, Balthazar is now working on a VR application to help companies visualize the installation of heavy industrial equipment in their final environment.

    All this experience with proprietary solutions is very useful for Polymorph and it’s also the reason why he wants to invest time and energy into it. As Balthazar says it, there is an incredible amount of resources and tools already available in the free/libre and open source world regarding the development of games and interactive applications. But where proprietary still beats everyone is that there is no packaged solution yet. Ogre3D is a very powerful engine but it’s very complex to start using it. There is an enormous amount of code that needs to be rewritten every time someone wants to start a project and this should not be the case.

    Also, we need something that can compile for all platforms and from whatever platform you’re working on. And to achieve that, a lot of configuration needs to be done. Ogre is not easy and one needs to dig into its documentation first, which is also a little scattered all over the place. But it’s a very promising tool and, as we can see, @frankiezafe and Pieter have achieved a big step this week (check previous posts by François).

    Balthazar believes that Polymorph is working on an incredible and very ambitious project. Something that the open source community needs and that in the long term could be really successful, but it also requires a great amount of resources. He sees the Polymorph Engine as an open source alternative to Unreal Engine or Unity3D. But for that, so much work needs to be done in terms of ease of access and more intuitive interfaces. The problem with Ogre is that, whatever you want to achieve, you have to do it with code. There is no preview window, no icon that tells you where your camera or your lights are. You have to write it, compile it and then see it running. Which makes game creation very tedious. Balthazar is hoping that with Polymorph Engine, those aspects could be solved, one day.

    For now, though, building PEEL, the first open source game project from Polymorph, is the real goal and the best strategy according to him. It allows the team to see what’s working and what needs to be improved. And once Polymorph has something to show, than the bigger goals can be put on the table. But as Balthazar says it: “All we need now is a very good Makefile”.

  • xuv 20:38 on 2016-07-15 Permalink | Reply
    Tags: , , , , ,   

    Polymorph weekly news #1 

    This is the first post of what we hope to be a series, where we try to summarize and explain what happened at Polymorph during the past week. For this one, I interviewed @frankiezafe and asked him about the development of the different projects at Polymorph.


    Peel is the code name for the first game developped inside Polymorph. François was working on this project since a while and started with a first concept, which gave it its name. As portrayed in this video, the idea was to solve a puzzle, to find your way through a labyrinth by peeling a 3D sculpture. This concept came after a workshop François gave about Three.js.

    If you’ve followed some posts from this week, the concept is evolving into something completely new and different. The name is kept, but the principles have evolved into a different game, one where the player has to assemble different 3D pieces in order to solve a puzzle.


    Since this is going to be the first game published by Polymoph, Francois is looking for something more interesting in terms of gameplay than just a little project that you would discard after 2 minutes. The goal behind PEEL is to test the workflow and the tools, but not only. The purpose of Polymorph is to also test new gameplays and new approaches in game design, this is why PEEL had to evolve in something more challenging, more interesting.

    The inner workings of the game are now more complicated and hard to put into words. So Francois is laying his ideas into schemas and graphics, both as a way to express them but also possibly ease the work of programming it afterwards.


    Let’s see how that evolves over the next weeks.

    Polymorph Engine

    What we call the Polymorph Engine is an assembly of different tools, with at its core, the open source 3D engine called Ogre. Every monday, the dev team of Polymorph meets to discuss the tasks and needs to achieve compilation and running examples of Ogre on all the operating systems possible.


    Taking OpenFrameworks as an example, the Polymorph Engine would be Ogre and some other components nicely packaged so that a game developer could easily start working on projects without having to recompile Ogre each time. The same way you just clone an empty example from OpenFrameworks to start working on your next digital art project, with Polymorph Engine, you would copy the basic default empty example and start coding and testing your project from there. This means that the compilation of Ogre would only be done once, most certainly just after downloading the latest version of the Polymorph Engine. Then just the example you are working on would be compiled each time some code is changed.

    So far, Francois had achieved compilation of Ogre 1.9 on Linux and even published a tutorial for those who would like to try it also. But the dev team of Polymorph has decided to use Ogre 2.0 for the Polymorph Engine and this is much much less documented than the previous versions of Ogre. Work needs to be done in that sense, to document and ease that process.

    During the past week, Peter has managed to compile Ogre 2.0 for Android and Debian and also compiled the first examples that come with it (aka. the Purple Screen of Joy aka “Yes, it’s working”). @balt has also managed to compile Ogre 2.0 for Linux Mint and has investigated into build farm software to automate compilation on different platforms.

    Plans for next week

    By the end of next week, we expect to have Polymorph Engine working as it should (Ogre + an empty example to be copied) for Linux. The whole Polymorph team working exclusively on Linux machines, this is priority in terms of platform so that game designers can start implementing their ideas.

    Compilation of Polymorph Engine will also be tested on Windows 10.0.

    And François will take some time off from game development because he will teach Blender for the whole week at the summer workshops of iMAL. Don’t hesitate to join him if you’re interested, there might be some seat left.

    Thank you

    If you found this post interesting or want to follow Polymorph’s activities, don’t hesitate to subscribe to our RSS feed or our Twitter account. Don’t hesitate to leave us comments, ask us questions and, of course, forward this to those who might be interested.

  • frankiezafe 10:10 on 2016-07-07 Permalink | Reply
    Tags: , meeting, , , VR   

    Engine kickoff meeting yesterday with olivier, @balt, pieter and @frankiezafe.
    We choosed to go with the version 2.0 of Ogre3d, and talked about bullet, puredata and OSVR integration.


Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc