GP2X (noob) How Would I Get Started To Develop A Game?


OldSchoolShawnyMac

Still Fresh
Joined
Jan 28, 2009
Messages
6
I was wondering how user friendly it would be for a novice to the world of developing to make a game actaully play out on the gp2x or wiz or either one for that matter?

I am very interested in trying to make some basic games and this seems like a way to make that happen. Anyone have any tips or advice on how I would go about this?
 
Technologically, it is not a question about the platform; game design is nothign to do with tech, so you're talking about _implementation_, and if you stick to somethign not too ambitious .. well, then its about as hard on a Wiz as any other Linux based platform.

So get to it ;)

(Questions regarding language and toolset can be a big one .. Fenix, versus ports of various game makrers and so forth, could be relevent. Too early to tell at this point for the Wiz.. its not out yet, and so nothing is ported yet ;)

Anyway, getting started with coding is hard, but it depends a lot on you; certainly there are lots of resources for you to start right now, without any device in hand. (Make your game use a small resolution on your fat desktop, and it'll port easy, for instance.)

Get to it! :)

jeff
 
Well that's the thing...I'm not to up to par with the lingo. And code reading and all that jazz. Should I just google my way to the answers of how to read and write code? Or do some of you guys know what this is all about? Guess I'm asking how everyone got started here.
 
If you want to make games, C/C++ and SDL is my suggestion (I hear Python + Pygame is easy/fast (to code in), but Python is slow (as in run-time, fewer FPS)).

There are good tutorials out there, but I've found it easiest to just get books. I have a "Focus on SDL" book that is pretty nice. Any C/C++ book should teach you the basics well enough (I suspect tutorials online could do the same thing, though).

Hope that helps.

PS- Remember to (once you know how to code) lay out HOW you are going to do things ahead of time. It saves headaches later.
 
The two monumental hurdles of game programming for me, and how I solved them:

Hurdle #1: Finding out what kind of tools I needed, and how to set them up.
Solution: MS Visual C++ 6.0. Just install it, create a console app project, and do this:

#include <iostream>

void main()
{
cout << "Hello world!";
}

Unfortunately 6.0 is very old, and I doubt you can find a CD anywhere. But maybe the freely downloadable VC++ Express would be just as easy. Getting MinGW and Codeblocks installed and working is more tricky, but will get you much closer to compiling for GP2X/Wiz, and is what I use nowadays.


Hurdle #2: Drawing pixels instead of a text on a console.
Solution: DirectDraw. But boy is that a pain to set up and use. I could have saved several months of struggle if I'd known about SDL.

For SDL, basically all you need to do is download it, add its folders to your compiler's include paths and library paths, and add it to the list of libraries to link in. People here can help you with that after you get console apps compiling.

There are a few calls to set up the video mode and the main event loop, but it's many times easier than dealing with Windows/DirectX.
 
Re what dekutree64 said, Lazy Foo's tutorials guide to step by step how to set up the environment to getting SDL set up and working

http://www.lazyfoo.net/SDL_tutorials/index.php

I downloaded and installed Visual C++ express 2008 and followed his instructions, and got everything working pretty quickly.

The tutorials do assume you know a basic amount of C++ though, so it'd be worth finding some initial basic tutorials first, to learn the basics.
 
I started with small things... Processing, a java-ish language, Python, LUA, and web scripting stuff. I moved onto C# but quickly switched over to C++. So if you have the time, I would recommend learning several languages, because the knowledge you gain from each will compound upon each other and will make the next language you learn much easier, and makes learning what for many people is the penultimate of all coding languages, C++, a much more accessible task to complete
 
benjymous said:
Re what dekutree64 said, Lazy Foo's tutorials guide to step by step how to set up the environment to getting SDL set up and working
+1 to Lazyfoo. He has tutorials you can download and detailed instructions on getting everything set up. Get those tutorials, see if you can compile them, take them apart, break them, put them back together again. If you can get to "Hello World", you can get pretty far. Heck, I got my 11 year old daughter programming in SDL...

There was a mention of Fenix in this thread. I developed three apps with Fenix, one was released on the GP32x archive. It's pretty interesting and guys like Ruckage have done some amazing work with it. It might be tailored more to old school programmers used to sprites. In retrospect, I would have started with C++/SDL, but it is a steeper slope to climb.
 
Last edited by a moderator:
Hello,

The trouble with this kind of question is everyone is always a little biased towards their own personal choice of language. I'm no different and think that Fenix is definately the way to go especially if you just plan on making games. It has many functions tailored specifically to game creation, its been ported to many systems so your game will be easily portable to multiple platforms and it's pretty fast. That's not to say it's easy to use - it will still take time to learn but I believe for making games it will be easier than C++.
I'm still learning new things with Fenix and manage to push it a little bit further with each game I make, and there is already a WIZ runtime and it works brilliantly. I may delve into C++ in the future but at the moment Fenix does everything that I want.

One limitation - documentation can be tricky to find as most forums and sites associated with Fenix are in spanish. Luckily there are lots of users here who can help you out with useful links and advice.
 
I'll take the opposite tack, don't just dig in and start programming at all, cruise ebay, research cheap titles on amazon, get and read a good book or two on game design, understand the task at hand fully, pick the niche where your interest lies and then look for the best tool set to accomplish your goals.
 
As I understand it, you wanted to know how people got started, so here's my story.

The way I started out was, at http://www.cprogramming.com/ and read their basic tutorials on c++ (for console applications)
I did that as preparation during summer vacation for a basic (basic as in easy, not the programming language :p) programming course at school later that fall. I also got some PDF books, I think one of them was this:
http://www.amazon.com/Sams-Teach-Yourself-...f/dp/067232072X

But if I remember correctly.. I never finished it.
Anyway, so once school started, it was basically too easy for me. Everything we got to learn in class I already knew just by what I had read earlier on cprogramming.com .. (because, the truth is.. once you understand how to use variables, if, else, switch case, while, for and functions.. you can actually do quite a lot. and even more once you learn how to use arrays and structs) so the class was very easy for me and didn't require me to work very hard either because of that.

The next year, we were to study more advanced programming (two different courses) but there was a change from C++ to Java.
The three Java books we got were all very good and it was nice to get something graphical with swing and JOption compared to just a boring console application. (Unfortunately, by a Swedish author and not translated so I can't recommend it, but I'm sure there are books just as good in english. :p)
It was also very easy for me, probably because I've always been very interested in programming and I tend to understand everything almost instanstly.

In between the C++ and Java courses, I had bought a GP2X. I found the mentioned lazyfoo tutorials and tried to hop on SDL. i found it a bit difficult at the moment, and thought it was a lot of code most of the time. (but in reality, it only looks much because of the way he writes his code safe and checks for everything to be initialized without errors)
Either way, I did try some of his tutorials and did manage to get it working, but I felt it was a bit too much for me at that point.

So that's when I discovered .. Fenix! :)
Now, Fenix can be _very_ easy to get started with for a first game project, has built-in functions for most of the things you need to easily create something graphical to run on windows or gp2x and I highly recommend it.
As Ruckage also mentioned it's available for many platforms (such as Windows, Linux, GP32, GP2X, Wiz, Dreamcast and others) and off-topic, the mac version isn't that great and the last binary is very old. I've tried to compile a 0.92 version but I can't get the configure script to find SDL_config (none seems to exist for mac)

Anyway.. I can tell you that by reading the basics at cprogramming.com and using the Flamebird IDE for Fenix which has a box popping up as you write with different commands and reading how fenix syntax works and checking some exemples here:
http://fenixonfire.gp32x.de

By using only the above, I could experiment and make a first game in Fenix EASILY. What helped me the most was the Flamebord IDE however as I could browse a list of what to write.
I found such as "set_mode", "put_screen", "load_png" and so on.
And before I knew it I had loaded an image of a placeholder sprite to a screen of 320x240 and allowed myself to control this with help of the arrow keys. And it was as easy as downloading Fenix for the GP2X and modify the included example scripts to get it working on the GP2X!

A note.. a graphical hello world with text scrolling from the left side of the screen to the right side.. is only about 5 lines of code.
And what I mentioned above, loading an image file and drawing it to the screen and allow the user to move it left/right, add a background image and some music.. Is less than 30 lines. :eek:

After that, I just kind of built on that game, it's amazing how much you can do in Fenix with only very basic programming knowledge.

Since then, I've studied some more Java and C++, and I have used SDL and it's not too hard for me anymore.
I've also tried out Allegro and also done some PSP programming (again using SDL) and for Nintendo DS by using PAlib. (which is almost as easy as Fenix)
I do know how to write object oriented in Java and C++ .. But out of lazyness and old habit, I keep writing code the "bad and old way" :unsure:

I still stick to Fenix (and for NDS PAlib) because.. I will only make simple 2D sprite games.
From Atari-style games to SNES or GBA-style as the most advanced I can think of creating.. Fenix is capable of doing that just fine and very easily.
And as of yet I haven't stumbled upon any limitations of the language.

http://www.fenixdocs.com/ is also a great help sometimes when you make games in Fenix and don't know how something works.
http://sourceforge.net/project/showfiles.php?group_id=103691 Flamebird IDE. (I use MX, can be buggy sometimes)
http://sourceforge.net/project/showfiles.php?group_id=2714 Fenix Project. 0.92a would be the version to get for ufxi for GP2X. (Wiz use this version too?)

Good luck. :)
 
Last edited by a moderator:
As mentioned previously people will tend to recomend what they use. I would say I had only used BBC basic many many years ago and was looking to write something for the GP2X.

I looked at quite a few things and ended up trying Fenix. I have written a couple of games now and they are on the archive with my best to date Asteroids on Steroids.

This was only my second attempt at a game and it has full scrolling, looks good and wasn't that hard to put together.

Fenix is great for old school 2D games. I am sure you eventually hit limits but I think it probably gives quicker results in the short term which helps keep motivation up.
 
Last edited by a moderator:
Back
Top