Alien Blitz, continuing on 3d

Model

I began adding the mecca model to the 3d environment

capture_2014-06-07_16-25-11_ capture_2014-06-07_16-24-31_0714

And the first big issue became visible: the sprite is not visible enough, it is just some tiny pixels on the screen. I think 2 things could make it look good : outlined borders and shadows.

So I tried to quickly find a solution to both problems, but I ran into some troubles

  • There are some samples on using toon shaders for Libgdx, but it will either: not work at all, crash, have massive glitches depending on the video card I use
  • There are some samples included in Libgdx itself for shadow casting, but I couldn’t make it work, I just ended up with a black screen, and furthermore classes are marked as deprecated/experimental
  • To get a shadow on the model itself I would need some lighting, and included lightings in Libgdx don’t really suit my need (slow, no distance,…)

I also tried to change camera, in order to make the model more visible

capture_2014-06-07_15-14-34_0828

It’s a bit better, but not by much, and then I run into a problem with textures, they become too much aliased (I switched to simpler textures in the screenshot, it’s better but far from perfect).

3d support in Libgdx

I have no idea if Libgdx team is planning on continuing 3d support, it’s a long time since last commits on the project (> 3 months) and as it is now if I want to continue working on it I would have to go deep into OpenGL programming… Problem is it can take a very long time, and I can’t afford that.

So if I want to continue on working on Alien Blitz in 3d I would have to change engine I think… The only other Java engine I can think of is jMonkey. But I don’t know if I want to rewrite all the Libgdx specific stuff in jMonkey (especially the UI, Libgdx has a great UI system).

At this point I could also change language, it might be best for future projects.

C#, MonoGame

I love C# and I have already coded lots of stuff using this language, so it could be very interesting. I already looked into MonoGame a few months ago, it seems good, but:

  • Microsoft itself has dropped XNA… so I’m not sure if this project will continue
  • I ran into some troubles running it on Linux: outdated version, outdated libraries, won’t run at all. But maybe once compiled it could run better (Bastion and FEZ are working well afaik)
  • And I also ran into some troubles running it on Windows: can’t compile anything, nothing on Internet to help me…

So I don’t know about this solution, I will take another look but I’m afraid it might not work…

Unity

Unity seems promising, but I have always been afraid that it might be too restrictive, I love going deep into code and make my own adjustments, I don’t know if it is possible with Unity, I guess you mostly have to use their IDE and only code in a few selected places…

Linux support seems to be very poor (from what I read)

It costs way too much, I could use the free version but it seems very limited (no iOs, no Android, small things such as changing loading screen are not possible).

Unreal Engine

It seems to be a nice engine, it costs less than Unity, and Linux support is being worked on (not finished, but promising).

Problem is it seems it won’t work very nicely for Alien Blitz, in Unreal Engine you have to build the levels in their IDE, and they seem very static… Not really adapted for voxel-like environment.

Other engine ?

I will have to look for more engines, I’d prefer an engine where I can code in Java or C#, but C++ can work too.

Alien Blitz ?

At this point I’m wondering if I should continue working on Alien Blitz if I want to go into 3d…

I love Alien Blitz, making it look nice, for PC, and in 3d could really help getting a few bucks out of it (Snorms was pretty much a failure), but it’s risky. I could also begin working on Alien Blitz 2, but from what is planned it’s a lot more complicated than Alien Blitz 1, so I could end up having to work around 1-2 years on it (without counting my freelance job).

I guess I’m going to continue working with Libgdx for a few days, and if I can’t get anything nice then I’ll consider doing something else

Comments are closed.