# Cross-platform game development



## Runefox (Aug 31, 2011)

So I've gotten inspired to do something rather ambitious, and while I'm by no means capable of completing it on my own, I'm going to start out by exploring all of the options available to me so that if/when I do begin, I'm armed with the information I need to move forward (or perhaps more importantly, have had some practice/learning experience).

The project is for a commercial 2D fighting/beat-em-up game.

There's a few requirements that I have outlined for this project:


Windows Vista+ and X-Box Live compatibility at minimum
Minimum system requirements not to exceed dual core Athlon X2 or Core 2 Duo, GeForce 8000-series or Radeon HD 2000 series graphics (lowest detail, 60FPS)
Recommended system requirements not to exceed Core 2 Quad or Phenom II X4, GeForce 250 or Radeon HD 5770 (high detail, 60FPS)
Graphics are to be drawn entirely through 2D vectors rather than raster sprites or 3D models
This aims to resolve the scalability issues inherent in traditional 2D graphics; Vector sprites will be smooth regardless of zoom level, screen size or resolution
This is to be achieved via standard SVG(Z)
To achieve level of detail controls, shading and effects should be on layers separate from the base sprites to allow for lower end graphics, and enabled/disabled based on the graphics settings
 
 
Audio/multimedia should be handled either by Ogg Vorbis/FLAC libraries or a low-cost library such as FMOD
X-Input native controls, plus configurable keyboard+joystick controls
X-Input and standard input controls should be as distinct as possible
Controls for player 1 and player 2, if applicable, should not assume the same input device class on PC
 
So, with that being said, does anyone have any recommendations as to which languages, libraries, etc I should look into that would be best suited for this project? Any resources that might help me on my way to getting this put together? It's a very lofty goal for a single person, but I can visualize it so clearly in my head that if I didn't know any better, I'd already played the game before.

I should note that my only programming experience right now is in VB and PHP (scripting).


----------



## Onnes (Aug 31, 2011)

At least in my mind, the hard part of those specs would be cross-platform vector graphics. Obviously there's Flash, and I've heard there are tools to convert Flash programs over to XNA and other compatible formats--no idea how well they actually work. Not to mention the fact that Flash is a slow, buggy piece of shit.


----------



## Tissemand (Aug 31, 2011)

You should really look into XNA, OP. It's very easy to get cross-platforming with the Windows environment and Xbox. As long as you know pretty basic  programming knowledge and the basic concepts of OOP, you should be able to figure out C# + XNA.

Getting started is relatively easy: if you don't have Visual Studio, you can get Microsoft Visual Studio C# Express Edition 2010 (or whatever the hell it's called) and the XNA Game Studio Kit (whatever that's called too). You should probably do a few tutorials on C# before just jumping in to XNA game development though... but if you know PHP it's pretty much the same concepts: variables, loops, objects, data structures, abstraction/inheritance, etc.


----------



## Dr. Durr (Sep 2, 2011)

MUGEN has ports like InfCat, which add more.


----------



## Mr PyroCopter (Sep 18, 2011)

If you need any help i code for a living


----------



## Runefox (Sep 18, 2011)

Flash is definitely *not* the way I want to go with this; I'd like to have quite a bit more control over things than that, and Flash doesn't exactly support the things I want it to do. I'll be needing hardware 3D (well, 2D, but still) acceleration for this, and Flash *animations* running at full HD are nearly impossible to make smooth. I'm pretty sure that hardware accelerated vector graphics are available as of DirectX 10, but as for how to get that from standard SVG's, I believe a third party library is necessary for that.

Mugen is also not what I want; I don't just want a fighting game engine, I want one that will do what I want it to do, and that's a tall order for Mugen. Not to mention Mugen isn't open source and I'm sure it wouldn't be appreciated very well if I sold a game based on it.

I think what I need to do is learn C# (which is an ECMA-standardized language under the .NET framework). For the time being, I'm looking at SlimDX, which should cover my needs as an SDK for DX/XNA. However, relying on DirectX/XNA libraries is a very Microsoft-heavy approach, and I'm fearful of the consequences for other platforms later on down the road. I'm looking at Axiom for that, which looks like it could handle cross-platform graphics and input, to boot. That said, it doesn't appear to directly support vector graphics, which might be an issue... I'll look into it later I guess unless anyone has any suggestions.


----------



## Gremlin (Oct 20, 2011)

Go Unity. 
It is a pretty powerful game engine.
http://unity3d.com/unity/
The only issue is that it cost $$$ 
You can get a major discount if you're a student though. The good thing about it, is it can go multi-platform with ease and it doesn't take a ton of C# knowledge either. 
As a game designer, I know you can pull of a lot with just basic coding, but an actually in-depth game engine will probably get you the results you want. 
You can always get a trial of the program to see if its worth the investment. 
I am also open to any questions about this stuff... Its kinda my thing


----------



## Plantar (Oct 21, 2011)

Gremlin said:


> Go Unity.
> It is a pretty powerful game engine.
> http://unity3d.com/unity/
> The only issue is that it cost $$$
> ...


I thought Unity was free, but you had to pay if you want to release a game commercially...


----------



## Gremlin (Oct 21, 2011)

Crocodile said:


> I thought Unity was free, but you had to pay if you want to release a game commercially...



The hardcore/barebones version is free, I say give the trial a shot, so you can see all of its potential..

(and there is this nifty little app that runs a program at a specific date, so technically your trial never expires) It can be found here.


----------

