That sounds very interesting. I dream of a virtual world environment such as Second Life, highly dynamic and completely open source.
Croquet was going in that direction and this is good to improve the infrastructure of Pharo in that direction. Better interaction with C and C++
is definitively a big plus.
But currently I would like to do a simple video game, with toon like graphic, using bullet for physics. I think that making an actual game development pipeline would be very interesting.
Yes :)
Now let us start small and focus on key elements. Clement was suggesting that we could even launch a kick starter :)
I would not create a full level editor, modeling software because it takes too much time, and there is Blender which is open source and very complete.
Some tasks required are as follow:
- An easy way to make bindings for C++ libraries. For this I am going to start extending SWIG(
http://www.swig.org/) so it can generate bindings for Pharo NativeBoost.
Did you see that esteban and JB did a binding to another physic engine (forgot his name).
- An importer for COLLADA. COLLADA is a XML based asset exchange format, with a wide support in different 3d model editors, such as Blender.
We could turn that into a student project.
- For Linux, a new VM display module is required. The current that uses just X11 suffers of severe tearing and flickering. I would like to make a display module for the VM that uses SDL2, which is a cross platform library that supports hardware accelerated graphics, or cross platform creation of an OpenGL context.
I�m sure that igor wants to have a look at that.
- I think that garbage collection would require some determinism/time constraint or write some guidelines to avoid triggering the gargbage collector. When I'm testing the particles, I can see some noticeable pause, that I attribute to the garbage collector.
Eliot Miranda is working a new GC and it is much much much better. No global GC needed anymore. So for Pharo 40 we will get
a lot of improvements from this part. We are really excited because it opens a lot of space