Difference between revisions of "Development tutorials" - Pandora Wiki

m
(formating)
Line 11: Line 11:
 
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.
 
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.
  
 +
=== GLBasic ===
 +
 +
There is a [http://www.glbasic.com/ GLBasic] [[GLBasic tutorial|tutorial on this wiki]] which is still a work in progress, but should get new parts fairly frequently. More information can be found on the [http://www.glbasic.com/forum/ GLBasic forums].
  
== ARM Cortex A8 Tutorials ==
 
* [[Floating Point Optimization]]
 
* [[Assembly Code Optimization]]
 
  
 
== SDL on Pandora ==
 
== 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.
+
[[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]
 
You can locate a lot of SDL specific information at [http://www.libsdl.org]
Line 56: Line 56:
  
 
==OpenGL on the Pandora==
 
==OpenGL on the Pandora==
 
+
*[[Porting_to_GLES_from_GL]]
 
*[[OpenGL ES 1.1 Tutorial]]
 
*[[OpenGL ES 1.1 Tutorial]]
 
+
**[[Combining OpenGL ES 1.1 and SDL to create a window on the Pandora]]
 
*[[OpenGL ES 2.0 Tutorial]]
 
*[[OpenGL ES 2.0 Tutorial]]
 
*[[Combining OpenGL ES 1.1 and SDL to create a window on the Pandora]]
 
 
*[[Porting_to_GLES_from_GL]]
 
  
 
== The Kernel ==
 
== The Kernel ==
 
* [[Kernel build instructions|Compiling the Kernel from Git]]
 
* [[Kernel build instructions|Compiling the Kernel from Git]]
 
* [[Kernel interface|Kernel Interface]]
 
* [[Kernel interface|Kernel Interface]]
 +
 +
== The Chipset ==
 +
* [[Floating Point Optimization]]
 +
* [[Assembly Code Optimization]]
  
 
== Matchbox Window Manager ==
 
== Matchbox Window Manager ==
Line 74: Line 74:
 
* [[xoo on ubuntu|Setting up xoo on Ubuntu 8.04/8.10]] (Theme Testing and Development)
 
* [[xoo on ubuntu|Setting up xoo on Ubuntu 8.04/8.10]] (Theme Testing and Development)
  
== GLBasic ==
 
 
There is a [http://www.glbasic.com/ GLBasic] [[GLBasic tutorial|tutorial on this wiki]] which is still a work in progress, but should get new parts fairly frequently. More information can be found on the [http://www.glbasic.com/forum/ GLBasic forums].
 
  
 
== See Also ==
 
== See Also ==
Line 84: Line 81:
  
 
[[Category:Development]]
 
[[Category:Development]]
 +
[[Category:Tutorials]]

Revision as of 09:52, 20 April 2011

PND Quickstart

See PND quickstart for a quick and dirty packaging tutorial.

For common tasks, see the PND Cookbook.

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.

GLBasic

There is a GLBasic tutorial on this wiki which is still a work in progress, but should get new parts fairly frequently. More information can be found on the GLBasic forums.


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
  • START(ALT) button : SDLK_LALT
  • SELECT(CTRL) button : SDLK_LCTRL

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

The Chipset

Matchbox Window Manager


See Also

Top