Difference between revisions of "Development tutorials"

From Pandora Wiki
Jump to: navigation, search
(SDL stuff moved from Getting Started page)
m (Redirected page to Development)
 
(21 intermediate revisions by 14 users not shown)
Line 1: Line 1:
== ARM Cortex A8 Tutorials ==
+
#REDIRECT [[Development]]
* [[Floating Point Optimization]]
 
* [[Assembly Code Optimization]]
 
 
 
== SDL Tutorials ==
 
 
 
These tutorials assume you know the basics of C++ programming, and know your way around a C++ compiler.
 
 
 
* [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]
 
 
 
If you have some basic programming knowledge, then grab yourself a linux machines (or Virtual Machine)... or even Windows with Bloodshed DevC++ and SDL Packages and learn C++ and SDL programming:
 
 
 
www.libsdl.org
 
www.sdltutorials.com
 
 
 
The following really helped me a lot:
 
 
 
http://sol.gfxile.net/gp/
 
http://lazyfoo.net/S...rials/index.php
 
http://jnrdev.72dpiarmy.com/
 
 
 
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.
 
 
 
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.
 
 
 
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 (or 6, in my case :P ).
 
 
 
==OpenGL on the Pandora==
 
 
 
*[[OpenGL ES 1.1 Tutorial]]
 
 
 
*[[OpenGL ES 2.0 Tutorial]]
 
 
 
*[[Combining OpenGL ES 1.1 and SDL to create a window on the Pandora]]
 
 
 
== The Kernel ==
 
* [[Kernel build instructions|Compiling the Kernel from Git]]
 
* [[Kernel interface|Kernel Interface]]
 
 
 
== Matchbox Window Manager ==
 
 
 
* [[Matchbox|Matchbox version]]
 
* [[xoo on ubuntu|Setting up xoo on Ubuntu 8.04/8.10]] (Theme Testing and Development)
 
 
 
== See Also ==
 
 
 
* [[Development Tools]]
 
 
 
 
 
[[Category:Development]]
 

Latest revision as of 13:19, 26 October 2013

Redirect to: