Choosing a 2D solution

Community Forums/General Help/Choosing a 2D solution

matibee(Posted 2012) [#1]
We've recently embarked on a new 2d platform game and I'm wondering what 2d options are out there - which way would you go starting with a clean sheet of paper today?

I'm looking for reach (ie number of target platforms) vs cost.

At the moment it's looking like a pure Blitzmax version, then maybe port to Monkey (which I don't own yet.) But perhaps there are better ways - Unity 2d? straight to Monkey? Something else?

I'd be interested in your ideas. I wouldn't even rule out game makers if their scripting languages are powerful enough.

We're a long way off coding yet. We've got a good design down and working our nuts off on our artwork.

Cheers
Matt


GfK(Posted 2012) [#2]
Porting Blitzmax to Monkey isn't a trivial task, nor is impossible. The iOS port of Crime Solitaire took me about three months and that was just by going through the Blitzmax code and changing things to the Monkey equivalent, and learning Monkey as I go. A lot of stuff still needed a complete rewrite as, for instance, you don't have the luxury of pixmaps (or anything like it) in Monkey.


matibee(Posted 2012) [#3]
I realise 'port to monkey' is a tad optimistic. I actually meant 're-write without having to tune the numbers' :) It's *only* a platform game after all.

Despite this I have a couple of limitations that I know I can master in Blitzmax: The game takes place on one giant free roaming level so I need access to plenty of vram, even caching textures in and out of memory if necessary. This is where the 2d game makers may well fall over and expect me to break the game into distinct loadable areas.

I'm also planning on using bones-based animations from something like Skn's Objecty project, so will need good/fast 2d transformation code - again somewhere where games makers may fall over with their script speed.


Yasha(Posted 2012) [#4]
I'm currently working on a multiplatform engine that might help with this. On the other hand, since it achieves multiplatforminess by delegating as much work as possible to an embedded interpreter, it may suffer from some of the problems you're currently imagining (although it might not be as bad as you think: it is possible to get excellent hardware-like math performance out of an interpreter with the right tricks).

Unfortunately, platforms are different. You can either put the different code into your game, or you can put it into a delegation layer like an interpreter or game engine, but it has to be there. The question is, which is less painful?

I don't really know what level you're aiming for, but SDL and Allegro are available on just about every platform and easily used with standard tools. You may be able to get away with minimal porting work.


D4NM4N(Posted 2012) [#5]
If you do java libGDX is a very nice, easy and fast little 2D lib. It works on pretty much everything worth mentioning (lin/win/mac/web/android) except iOS unfortunately.

Last edited 2012


iprice(Posted 2012) [#6]
GLBasic allows you to code on the pc and compile for major formats like - iOS, Android, Linux, OSX etc.

Porting code from Blitz to GLBasic is pretty easy too - the languages are very similar.


matibee(Posted 2012) [#7]
Wow, I haven't heard allegro or sdl mentioned for years! I'm glad to see they're staying current. Dan, doing Java (or any other language) wouldn't be a problem. Although I tried glbasic a while back and iirc it didn't have any kind of oop support. The problem there is 'porting' (using the term loosely) to other languages.

I don't want to make this into a thread about non brl products, I was just hoping to find a free, powerful, cross platform platform-game maker with support for 2d skeletal animation and vram management :D

I will be buying monkey and testing monkeymax when the time comes.

I've found a few interesting libs and authoring tools on the net (google Stencyl) but do worry about its suitability for doing things outside its comfort zone.