Platformer Update!

by Joe Flood on 16 August 2014

Been a while!

Nothing too exciting to report on here, except for one thing – libEquinox (our internal Game Engine!) now uses SDL2 under the hood instead of GLFW.

Why's that you ask?!

Well, GLFW is amazing, and I'd recommend it to anyone, but there's quite a hitch with it – you can't use it with iOS or Android! We thought of this and created a plugin-based system where you could use various "window creators" for different platforms; however this proved too ridiculous to support and got really messy really quick!

However, SDL2 allows you to target any platform ever with the same code – result! It also gives you access to other things like TTF font support, sound support, and lots of other little "nice to haves" (also notable: proper PS3 controller support!).

So, without further ado, I present to you Platformer2D running within SDL2, with SDL_ttf doing its stuff and showing a nice label for us:

Screenshot

The eagle-eyed amongst you will see that there's also a crazy ropey thing coming out of our little dude – this is his ninja rope! The graphics are not final (thank god!), but this feature allows the poor guy to navigate our terrain (which now generates using cellular automata – yum!)

Screenshot

And there's another shot showing another bit of terrain – this time showing off scaling too – the graphics scale to match the window size which is rather nice!

Watch out for much more coming soon!

8 Months of C++

by Joe Flood on 30 June 2014

Looks like I've been working in C++ for 8 months now... how time flies!

While a lot of people are moving away from C++ and towards "managed" languages like Java and C#, I'm staying native – and this is why:

  1. You can compile and run almost anywhere, because there's no need for anyone to write interpreters (JVM, CLR, ...) for the language. (Okay, so the JVM and CLR are more JITted these days, but I'm sticking with "interpreters"!)
  2. It's actually a really, really nice language!
And I don't think I need to go much further than reason #2.

For example, I can do things like:

vec3 myVector = { 20, 10 };
vec3 myOtherVector = myVector + 20;

Which is rather nice. And I can do colours like this:

Colour red = 0xFF0000;
std::cout << "Red has " << red.R << " amount of red and " << red.G << " amount of green" << std::endl;

And last but not least, compare this in Java and C++:

Vector3f javaVector = someOtherObject.getPosition();
vec3 cppVector = someOtherObject->position();

What happens when I change javaVector now? someOtherObject is changed too because the 2 variables point to the same object (gah!). But when I change cppVector? Well, it was copied so someOtherObject is left well alone... yay!

Long live C++!

“Platformer2D”

by Joe Flood on 29 June 2014

Presenting our newest project: Platformer2D!

Clearly this is a working title, but the game idea is more or less complete. Basically, we're building a randomly generated platformer. It'll be different every time you play it, unless of course you manually override the seed number (like in Minecraft!).

The idea of the game will be to manoeuvre through dangerous dungeons and treacherous terrain to find gold, jewels, and most important of all: the door which leads to the next level down!

And here it is:
Screenshot

Our next focus is on making the level generator WAY better. While it currently creates levels which are traversable (they contain platforms and the rooms are connected together), they are not fun to play, nor are they challenging. And some of the levels are completely impossible with massive jumps or jarring walls.

Our next attempt will be using pre-created slabs of levels cemented together at random (a bit like Rogue Legacy, actually!). Watch this space!

Easy does it...

by Joe Flood on 18 May 2014

I've been having some issues with our in-house engine Equinox – memory management isn't where it should be and crashes were becoming a bit of a pain. Damn, blast, and shoot.

Well, I've managed to coax the thing to at least work and not *seem* to leak memory, so that's great. Seems to crash under certain conditions in one game, but not in the other 2 test projects though, so I'm guessing I've borked up that one game somewhere!

In other news though... managed to get something pretty cool to potentially work:

PS3 Controller







Hmm... watch this space!

Over the final hump!

by Joe Flood on 11 March 2014

And now I'm pleased (and absolutely astonished!) to say that I've finally ditched Qt once and for all!

I've migrated over to CMake, which was about 2 hours' work to do for 2 small games and the engine tech – not very long at all.

I'm now using JetBrains' new C++ IDE with it too – and it's amazing! It's got its fair few bugs and issues, but no more than any other beta software has. In fact, it's not once crashed on me, and it's not really ever got in my way either... not bad going at all!

What about GUI apps you say? I'm not worried. Qt is really, really, really good at allowing you to make GUI apps in C++, but that doesn't mean it's the best. You also pay through the nose to actually use it outside of a very restrictive set of situations! So – what can we use instead? wxWidgets of course!

Next Page

©2012-2014 Javawag. All rights reserved.