Difference between revisions of "Development tutorials"

From Pandora Wiki
Jump to: navigation, search
m
(Moved most of what was under SDL tutorials (see discussion), resturctured and then added a bit of SDL specific information.)
Line 1: Line 1:
 +
== General Game development ==
 +
Just start basic. Follow the Jump'n'Run tutorial (or any of the others). Copy their code. Change bits. Break it.. fix it. Write it over and over until you know what is happening where and why. Get a pandora or GP2X and cross-compile it for those platforms. Run your little creations on other devices (Android phones and iPhones are great). Little milestones like this will keep you motivated to continue learning.
 +
 +
Making a game, or programming a whole project is a massive undertaking. Be prepared to fail the first few attempts... quit at least 5 times only to come back and give it another go... and even then you might have only programmed Mahjong. If, at the end of all this, you are still keen, you can step it up to 3D graphics and start working on "bigger projects".
 +
 +
Remember.. no one can learn to program in a day... and I wouldn't expect anyone who started programming tomorrow to be able to produce a Mario clone, let alone quake 4 in a month.
 +
 +
 
== ARM Cortex A8 Tutorials ==
 
== ARM Cortex A8 Tutorials ==
 
* [[Floating Point Optimization]]
 
* [[Floating Point Optimization]]
 
* [[Assembly Code Optimization]]
 
* [[Assembly Code Optimization]]
  
== SDL Tutorials ==
+
== SDL on Pandora ==
 +
 
 +
SDL is NOT a game engine, but it will provide you with the foundations for putting stuff on the screen, getting keyboard and controller input and making sounds. All of these are basics in programming games.
 +
 
 +
You can locate a lot of SDL specific information at [http://www.libsdl.org]
 +
 
 +
=== Getting started with SDL on the Pandora ===
 +
(This portion assumes you already have a dev environment ready)
 +
 
 +
First, you need to grab the SDL libraries, you can either compile them yourself or grab some pre compiled libs.
 +
You can get the sources for SDL [http://www.libsdl.org here] and compile it yourself.
 +
 
 +
Or
 +
 
 +
You can get the pre compiled libraries [http://www.angstrom-distribution.org/unstable/feed/armv7a/base/ here] (they are named libSDL... etc).
 +
These are ipk files so windows user might need 7zip in order to open them.
 +
You will need both the 'normal' lib and the -dev library.
 +
You might want to get the SDL_image, SDL_mixer and other SDL_* libraries, since these add to general functionality of SDL.
  
These tutorials assume you know the basics of C++ programming, and know your way around a C++ compiler.
+
=== Basic Pandora specific SDL Information ===
  
* [http://www.lazyfoo.net/SDL_tutorials/index.php Lazy Foo's Tutorials].  Not Pandora specific, but a good guide to getting your programming environment set up, along with many SDL tutorials.
+
SDL maps the controlls on the Pandora in the following fashion:
* [http://iki.fi/sol/gp/ Sol's Graphics for beginners].  Not Pandora specific, but a good place to get started with SDL graphics coding.
 
* [http://jnrdev.72dpiarmy.com/ 2D Jump'n'Run Tutorial]
 
  
SDL is NOT a game engine, but it will provide you with the foundations for putting stuff on the screen, getting keyboard and controller input and making sounds. All of these are basics in programming games.
+
* The Left and Right nubs are represented as Joystick 1 and 2.
 +
* The D-Pad is linked to SDLK_LEFT/RIGHT/UP/DOWN.
 +
* The abxy / lr buttons are (A):home (B):end (X):pgdn (Y):pgup (L):right shift (R): right ctrl
  
I think I've got the basics down now and I'm moving on to getting a basic 2D sprite-based engine together. Once done, I can use it to make some simple games (beyond Tic-Tac-Toe and Tetris :P ). The main thing I am struggling with is The Object-Oriented stuff, whereby you separate out the graphics/rendering, system functions, game functions, sounds, players and objects all into separate classes and handle them all through a central "Engine". It's a struggle to wrap my head around, but I'm making some progress.
 
  
Just start basic. Follow the Jump'n'Run tutorial. Copy their code. Change bits. Break it.. fix it. Write it over and over until you know what is happening where and why. Get a pandora or GP2X and cross-compile it for those platforms. Run your little creations on other devices (Android phones and iPhones are great). Little milestones like this will keep you motivated to continue learning.
+
=== SDL Tutorials ===
  
Making a game, or programming a whole project is a massive undertaking. Be prepared to fail the first few attempts... quit at least 5 times only to come back and give it another go... and even then you might have only programmed Mahjong. If, at the end of all this, you are still keen, you can step it up to 3D graphics and start working on "bigger projects".
+
These tutorials assume you know the basics of C++ programming, and know your way around a C++ compiler.
  
Remember.. no one can learn to program in a day... and I wouldn't expect anyone who started programming tomorrow to be able to produce a Mario clone, let alone quake 4 in a month (or 6, in my case :P ).
+
* [http://www.lazyfoo.net/SDL_tutorials/index.php Lazy Foo's Tutorials]. Not Pandora specific, but a good guide to getting your programming environment set up, along with many SDL tutorials.
 +
* [http://iki.fi/sol/gp/ Sol's Graphics for beginners]. Not Pandora specific, but a good place to get started with SDL graphics coding.
 +
* [http://jnrdev.72dpiarmy.com/ 2D Jump'n'Run Tutorial]
  
 
==OpenGL on the Pandora==
 
==OpenGL on the Pandora==

Revision as of 13:23, 2 June 2010

General Game development

Just start basic. Follow the Jump'n'Run tutorial (or any of the others). Copy their code. Change bits. Break it.. fix it. Write it over and over until you know what is happening where and why. Get a pandora or GP2X and cross-compile it for those platforms. Run your little creations on other devices (Android phones and iPhones are great). Little milestones like this will keep you motivated to continue learning.

Making a game, or programming a whole project is a massive undertaking. Be prepared to fail the first few attempts... quit at least 5 times only to come back and give it another go... and even then you might have only programmed Mahjong. If, at the end of all this, you are still keen, you can step it up to 3D graphics and start working on "bigger projects".

Remember.. no one can learn to program in a day... and I wouldn't expect anyone who started programming tomorrow to be able to produce a Mario clone, let alone quake 4 in a month.


ARM Cortex A8 Tutorials

SDL on Pandora

SDL is NOT a game engine, but it will provide you with the foundations for putting stuff on the screen, getting keyboard and controller input and making sounds. All of these are basics in programming games.

You can locate a lot of SDL specific information at [1]

Getting started with SDL on the Pandora

(This portion assumes you already have a dev environment ready)

First, you need to grab the SDL libraries, you can either compile them yourself or grab some pre compiled libs. You can get the sources for SDL here and compile it yourself.

Or

You can get the pre compiled libraries here (they are named libSDL... etc). These are ipk files so windows user might need 7zip in order to open them. You will need both the 'normal' lib and the -dev library. You might want to get the SDL_image, SDL_mixer and other SDL_* libraries, since these add to general functionality of SDL.

Basic Pandora specific SDL Information

SDL maps the controlls on the Pandora in the following fashion:

  • The Left and Right nubs are represented as Joystick 1 and 2.
  • The D-Pad is linked to SDLK_LEFT/RIGHT/UP/DOWN.
  • The abxy / lr buttons are (A):home (B):end (X):pgdn (Y):pgup (L):right shift (R): right ctrl


SDL Tutorials

These tutorials assume you know the basics of C++ programming, and know your way around a C++ compiler.

OpenGL on the Pandora

The Kernel

Matchbox Window Manager

See Also