Sep 3, 2013 - GLESGAE and YoYo

So, I had an interview with YoYo on Friday.
It was interesting, being the first interview I’ve been to in a number of years, and with the added bonus of anxiety… probably came across as a gibbering monkey! And a couple of questions put me on the spot and I froze – even though they were really rather easy. Oh well, they certainly made me feel welcome enough, and I’ll find out in a few weeks if I’ve managed to get away with my cheekiness of pointing out GM:Studio doesn’t run on Linux ;)

Not being one to take nothing away from any interview, it made me rethink a bit on what I’m doing with GLESGAE.
I’m being rather lazy and relying a fair amount on STL.

Now, STL is nice and all, but it’s a specification that each compiler has to implement… and not all compilers are created equal. Earlier versions of certain compilers had rather spotty support for some STL standards, and being aware that just a simple call like std::string myString; can allocate more than you think!
Actually, std::string is a funny one if you’re not sure what it’s up to….
It does contain a bog-standard char* buffer for quickness. But, it’s rather small, and if your string is bigger than it’s buffer, it’ll allocate a new pointer *somewhere else* instead. Where that is, is anyone’s guess but the programmer shouldn’t really care… right? Of course, not all implementations will do this optimization, you may be unlucky and have it new some memory wherever it feels like anyway.
Dealing with consoles, you have a very tight amount of memory, and you need to know exactly what is allocating where and how much it is. It’s fairly common sense to keep track of your allocations anyway, but on memory constrained devices it’s paramount – especially when the bug bear of fragmentation rears it’s ugly head; not knowing what’s where and can be safely moved around is a nightmare waiting to happen.

Therefore, to prevent such nightmare scenarios, GLESGAE is being rewritten. Again. In straight C and providing my own containers for things.
Why?
Because.
Or more eloquently; there’s some nasty template hacking going on in JESSIE due to binding things with SpiderMonkey.. and it’s not nice. The only reason is for type safety, and while type safety is nice and all, having to perform odd looking things to make it work isn’t really worth it. It makes the code nasty to read, and a right bugger to maintain. GLESGAE has a few of these mad template things as well – and this is also what made the Resource System such an arse to deal with. So let’s just ignore all that and stick with C!

Also, I’m wondering about Emscripten again… do I just leave JESSIE and focus on GLESGAE and have Emscripten compile to JavaScript for browser platforms, and push directly to native platforms from GLESGAE? It’s an interesting one.. of course, I’m more interested in compiling out to JS by Emscripten, then pulling it back in through JESSIE. But I’m a lunatic.

Of course, I still have other things to do in the mean time.
August didn’t go hugely well for the Badgers… we got our funding in, but due to schools just starting up and illnesses in the family, it’s been hard to get any work done. The Germies patch is a bit behind schedule, for instance.
It also means there isn’t anything coming in at the moment.. so to remedy that, September is going to be an interesting month for the Badgers. We’ll be working on three games – Germies, and two others – to try get something coming in.
We missed Ludum Dare, sadly.. which is a shame as we had an awesome idea for it, but hopefully we’ll get to the October Challenge instead and get something released then. And then by November, it’s back on to engine work in a mad push for a Christmas project.

Aug 3, 2013 - Clean ups!

I’ve been doing some clean up recently.

For this site, I’ve wiped out a huge amount of spam accounts, disabled trackbacks, and some other things to stop my email getting inundated with spam nonsense. If I’ve accidentally deleted an actual human account, let me know and I’ll reinstate it. Though why you need an account here is beyond me, really!

Over on the Badgers’ site, I’ve added a game detail page for Germies! and tidied things up a bit as well.

It’s also been three weeks since Germies! was released. It’s been an interesting learning experience, to say the least!
It’s made a grand total of $0.72 in ad revenue so far… though we did manage to get a couple of non-exclusive license deals which helped get us going. We got a lot of good feedback, and some critical feedback. One of which was immensely helpful, and we’re working on an update to address some of the issues raised. I’ve also got two additional major revisions of Germies to do, but they’re likely due towards the end of the year.
We have also started work on the next game. Diving deep within my archive of game designs, we’ve pulled out another one to have a look at and tweak. We’re hoping to get the first release of that one out by the end of the month.

In the midst of this, I’ve been working on GLESGAE and it’s JavaScript and Canvas implementation, which I’m naming JESSIE. Annoyingly, it’s taking a fair bit longer than I expected, due to some technical headaches in ensuring VBOs are updated in the best way possible. As Canvas is effectively an immediate mode system, I’m filling up a ring buffer of vertex buffers on the fly and passing them along to draw when they’ve reached a certain size. This gives me a choice of glBufferData, glBufferSubData and glMapBuffer… as we’re not sure how much triangle data is coming in each frame, mapping the buffer should be the best way.. but it’s going to require some hardware to test on – and I’ve only got access to a couple of Android tablets and phones so far. Either way, recreating the entire buffer every frame is going to be expensive, so let’s not do that one.

So, lots to do this month.
And there’s a Ludum Dare sneaking in too… should be fun!

 

Jul 14, 2013 - Madness Prevails!

On Friday, 12th July 2013, Arcade Badgers Limited released Germies! upon the world.
Only a week late! Must be a record for me; though it’s not quite that impressive if you take a look through it’s history.

Back in December 2010, for Ludum Dare 19, I was attempting a big project.
This failed disastrously, but in true Stuckie-style, I would not be beat. In the remaining ten hours of the Jam I literally threw together a little puzzle game. It was horrific, had nasty controls, ear bleedingly painful sounds, and almost no clue as to what to do. However, it had something in it that showed some promise. You can see this abomination over here: http://www.ludumdare.com/compo/2010/12/20/germies/ and even with Claire and another artist friend throwing new art at it, it still didn’t save it.

So, it was put on the back burner. It was looked at a few times as a possible project, but it wasn’t until January 2013 when we had another serious look at it. We used it as our first ( and till this point only ) One Game A Month submission! You can have a gander at it here: http://www.arcadebadgers.co.uk/projects/1gam/january/ and I’m sure you’ll agree it’s already looking better. This time, the premise of the game was more visible, so we started pulling it apart to it’s core concept and building from there.

Arcade Badgers Limited was officially incorporated on April 30th 2013. It officially began trading on 5th July 2013, and our first game was released on 12th July 2013. Not too bad, eh?

So yes, the new version of Germies! What’s this one got?
It’s got Clay.io integration, so it has a Leaderboard, and 20 Achievements to test your skills with.
It’s still very much an Arcade Puzzle game, with a strong emphasis on Arcade as it’s not easy! Though once you learn the rules, you get the hang of it and can start doing some of the harder Achievements.

Interestingly, our 7 year old daughter loves it. To the point that the tablet is almost dead from her playing it all morning and she won’t give me it back! Her highest score? 4,107. Not too shabby for an Arcade Puzzle game that’s firmly rooted in the old-school ways of eating your money! However, from watching her play it, I can see a few more improvements that we can do to it, so the adventure of Germies! is not over yet!
That, and we’ve got to get it on more platforms, as it’s currently a mobile/desktop HTML5 web game. And we don’t quite have the distribution network for it yet, so the more platforms we can release on, the better footing we will get for future products.