Voxeliq is a block engine crafted with C# that can be used to develop block based worlds with any type of gameplay you can imagine. Sandbox games, RPG's or even RTS games within a blocky world! Engine is still being developed & optimized for production though we already started kicking in our first games with it.

Post news Report RSS Voxeliq now supports MonoGame 3D (OpenGL)

We've introduced basic support for MonoGame (OpenGL) in Voxeliq which allows MacOS, Linux, Android and IOS targeted builds.

Posted by on

If you aren't aware yet, those great guys over Mono project works on creating an OpenGL based implementation of XNA framework which can target MacOS, Linux, Android and IOS (those latter two of course will require MonoDroid and MonoTouch). So their website already mentions the ever first 3d game powered by MonoGame and I couldn't resist giving it a try to get Voxeliq running over MonoGame! Here goes the story;

It took me a few hours to figure things out. At the very first I tried my chances on wrong branch - MonoGame/develop - which at the time being is the furthest branch. Though I got my answer on irc.gnome.org #monogame, which 'develop' did not have support for MojoShader - which allows HLSL shaders to run over GL (it converts them actually).

So I checked out the develop3d branch as mentioned in irc channel, which was the correct branch to go for 3d games. Within my initial try, I got lots of error messages from compiler complaining about missing HalfVector2.cs. So I put in the XNA implementation, fixed a few bits here and there and all the errors were gone! When I hit run button, things started up but I got an exception where MonoGame was complaining about threaded creation of GPU resources were not supported yet (which will be fixed later). Bingo! It was all okay and I was able to run Voxeliq over MonoGame using OpenGL. So Voxeliq is not the first 3d game/engine running over MonoGame but I guess it's one of the very earliest ones Posted Image

Oh and I had to disable few bits / components (bloom effect, my music manager implementation and console which uses Digital Rune libraries that was compiled against XNA4) of Voxeliq which may need fixes - though that's for another story Posted Image I'll be updating you guys on the progress.

Posted Image


PS: If you need HalfVector2 fix, you can find my patch here.

Post comment Comments
Pabo
Pabo - - 179 comments

Thank you for mentioning the XNA implementation project, I wasn't aware of that. If I understand correctly, does that mean that games using DirectX can use OpenGL as well to run (at least when the project is finished)? Congratulations on getting your engine to work in Mono!

Reply Good karma Bad karma+1 vote
raistlinthewiz Author
raistlinthewiz - - 1 comments

Yes, exactly. Monogame uses OpenGL as it's graphics API and allows further porting your c# games to linux,macos, android and iphone.

Reply Good karma+1 vote
Pabo
Pabo - - 179 comments

These are great news! There are so many games using DirectX which could be ported to Linux/Mac! Let's hope more developers show the same interest as you in MonoGame.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: