Difference between revisions of "Development"

From Pandora Wiki
Jump to: navigation, search
m (Kingu moved page Getting started with Pandora development to Development: "Getting started with Pandora development" is long and ardious.)
(merged development tutorials)
Line 15: Line 15:
 
* [[http://bugs.openpandora.org/ Pandora Bug Tracker]], [[Reporting bugs]] instructions
 
* [[http://bugs.openpandora.org/ Pandora Bug Tracker]], [[Reporting bugs]] instructions
 
* Learn more about [[firmware_governance|submitting patches]] and getting involved in firmware and library development
 
* Learn more about [[firmware_governance|submitting patches]] and getting involved in firmware and library development
 +
 +
== development tutorials ==
 +
== PND Quickstart ==
 +
See [[Introduction to PNDs]] for a nice and welcoming intro.
 +
[http://www.gp32x.com/board/index.php?/topic/58363-two-tutorials/page__p__935745 quick make pnd 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 [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].
 +
 +
== 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.
 +
 +
=== Basic Pandora specific SDL Information ===
 +
 +
See [[SDL Controls]]
 +
 +
=== SDL Tutorials ===
 +
 +
These tutorials assume you know the basics of C++ programming, and know your way around a C++ compiler.
 +
 +
* [http://www.gp32x.com/board/index.php?/topic/58490-yactfeau/page__view__findpost__p__940518 Getting started with SDL on pandora]
 +
* [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]. (Page not loading since at least 03/03/2011. Still available on [http://replay.web.archive.org/20090523104747/http://jnrdev.72dpiarmy.com/? archive.org])
 +
* [http://gpwiki.org/index.php/Category:All_SDL_articles The Game Programming Wiki's tutorials]
 +
 +
==OpenGL on the Pandora==
 +
*[[Porting_to_GLES_from_GL]]
 +
*[[OpenGL ES 1.1 Tutorial]]
 +
**[[Combining OpenGL ES 1.1 and SDL to create a window on the Pandora]]
 +
*[[GLES]]
 +
 +
== The Kernel ==
 +
* [[Kernel build instructions|Compiling the Kernel from Git]]
 +
* [[Kernel interface|Kernel Interface]]
 +
 +
== The Chipset ==
 +
* [http://www.peter-cockerell.net/aalp/ ARM Assembly Language Programming (1987)]
 +
* [[Floating Point Optimization]]
 +
* [[Assembly Code Optimization]]
 +
 +
== See Also ==
 +
 +
* [[Development Tools]]
 +
 +
== development tools ==
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:FAQ]]
 
[[Category:FAQ]]

Revision as of 13:17, 26 October 2013

Compiling Software

Porting and Writing Software

Distributing Software

  • PND quickstart - Quickly learn how to make PNDs (using Linux) for your software.
  • Learn more about the PND file format that is used for distribution.

Kernel and Firmware

development tutorials

PND Quickstart

See Introduction to PNDs for a nice and welcoming intro. quick make pnd 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

See SDL Controls

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

See Also

development tools