Where To Start?


lucidchaos

Member
Joined
Sep 14, 2008
Messages
104
Location
Grand Rapids, MI
Website
Visit site
I hope to, one day, contribute to the Pandora development scene.

I have looked at the wiki and it seems like there's nothing there for someone who needs to learn how to code. Lots of resources for newbies and for coders but not much in between.

Here is my history:

When I lived in a basement some 15 years ago I began writing games for BASIC. I then progressed to C and ASM. The fastest computer I coded for was a 486@50MHz. My greatest accomplishment in that time was writing what is basically a top-down vertical scrolling shooter in the style of Tyrian, as well as collaborating on a multi-player pac-man deathmatch game. I never learned C++ as I wrote and compiled in Microsoft C version 7.

Now I have fallen out of the loop and rusted. I know there's some great ideas and good code inside of me, it's just a matter of getting it out in a useful manner. I never wanted to code for the PC, as it seems that anything I want to do, someone has already done.

For the experienced coders out there: What are some good resources for someone like myself? What tools, languages should I look into? What would you recommend reading? Once again, I know there's lots of good information and tutorials out there, but there's so much to it I'm overwhelmed. I feel like the grandparent that doesn't know what to do with the mouse.
 
lucidchaos said:
I hope to, one day, contribute to the Pandora development scene.

Great :) So do I.

lucidchaos said:
For the experienced coders out there: What are some good resources for someone like myself? What tools, languages should I look into? What would you recommend reading? Once again, I know there's lots of good information and tutorials out there, but there's so much to it I'm overwhelmed. I feel like the grandparent that doesn't know what to do with the mouse.

If your C is not that rusted, go ahead with this : http://www.libsdl.org/tutorials.php.
Else I'll go with PoisonedV favorite language : Python :p
 
Last edited by a moderator:
It's like riding a bicycle... gcc, ddd, vi, make, start with helloworld.c and write larger and larger programs. C has not changed, everything you've ever done applies although it'll be a bit more like using msc 5 at the command line. The subject of asm, depending on what your planning, may never even come up.
 
Everything is easier now! You have the Internet to help you when you get stuck. Just get ahold of a copy of K&R, google for LazyFoo SDL tutorials, and you're set. Once you get a segfault, you'll need to learn how to use gdb to do a backtrace. It's pretty easy. These days, you don't even need to have to worry about freeing pointers in C. You can just plug in a garbage collection library and let it worry about it. Playing music and sounds is a complete breeze with SDL_mixer.

These forums are a good source of information.. Add "site:gp32x.de" to your search terms.and google will help you find stuff better than the built-in search feature. I've literally never had to make a single post requesting help with a problem.. I've solved every single problem just by searching here and elsewhere on the Internet.
 
Last edited by a moderator:
hey

Well firstly if you are using Windows (I'm guessing you are), and you want to write very portable code then I would recommend you use MinGW (Minimum GNU for Windows), just download the installer. If you want an IDE then I would recommend Bloodshed DevC++ (it comes with MinGW), I just use Notepad2 on windows myself :).

Linux usually comes with the GNU compilers, and I use the Scite text/code editor.

Anyhows if you are not using an IDE then you would usually make ya own Makefiles and use GNU Make to compile. Well there are GNU tools for building/generating ya own Makefiles, but I usually manually construct them myself :).

Now if you want to learn SDL, then I think you cannot go past Sol's Graphics for Beginners tutorials. Just going over Part A might be enough. Well I learnt from these myself, and found I was up to scratch even before doing all of Part A.

Umm, for audio ya should checkout SDL_mixer, the documentation is quite nice. You may want to checkout this SDL_Mixer Tutorial, or find some others with google.

If you wanna do 3D graphics then ya might wanna learn OpenGL, there are tons of OpenGL tutorials around, I think the most well known are probably the Nehe tutorials (although some say these arn't that good). You should always keep the Red Book (OpenGL Programming Guide) handy, so to the Blue Book (OpenGL Reference Manual), but you probably better off refering to the OpenGL 2.1 Reference Pages than the Blue Book now days. Otherwise you might wanna wait until some easy to use 3D engine is ported to the Pandora.

Ohh, there is also the OpenGL SDK website. Beware of the lighthouse3d.com (refered to in the SDK) GLSL perpixel lighting tutorials, their GLSL code from that tutorial is flawed and I have tried to contact them a couple of times about it without success. BUT, their theory is solid and great to learn from :). There is also the Nvidia OpenGL SDK, and ATI OpenGL SDK. Please note that Nvidia use the Cg (C for graphics) shader programming language, I prefer GLSL myself :). If you do wanna learn GLSL then you might wanna get the Orange Book (OpenGL Shading Language), I got this book myself :).

Hmm, speaking of OpenGL... the Pandora uses OpenGL ES, which seems to have it's own SDK that you can download. I'm not sure how compatible it is with regular OpenGL code, nor with GLSL.

I have probably overwhelmed you a bit here, umm... I say start by installing Bloodshed DevC++ and try compile a basic SDL program, then go through some of Sol's tutorials.

edit
I forgot to mention, you should also keep http://www.cplusplus.com/ref handy, there is also http://www.cppreference.com. Ohh and not to forget the C++ FAQ Lite, the Newbie Questions / Answers section is quite nice.

Anyhows I will leave it at that.

cyas
 
yosh64 said:
Well firstly if you are using Windows (I'm guessing you are), and you want to write very portable code then I would recommend you use MinGW (Minimum GNU for Windows), just download the installer. If you want an IDE then I would recommend Bloodshed DevC++ (it comes with MinGW), I just use Notepad2 on windows myself :)


Dev Cpp is out dated and also comes with an out dated version of MinGW. I recommend either Code::Blocks or Visual Studio Express instead.
 
Last edited by a moderator:
hey

yaustar said:
Dev Cpp is out dated and also comes with an out dated version of MinGW. I recommend either Code::Blocks or Visual Studio Express instead.
I wouldn't say DevC++ is outdated, you can always download it without MinGW and install the latest version of MinGW along with it.

edit
Also, I don't think I would recommend Visual Studio Express. Firstly, I don't think you can program regular (non console) Win32 programs with it, and for other things your code will be less portable, that is if you don't use the GNU compiler. Hmm, well I say this because your program may compile with one compiler and not another. If you use MinGW or something simular then it's far more likely (or easier) that your program will also compile on Linux, and thus the Pandora also. Assuming you haven't used any platform specific code.

another
Ohh, I see what you mean about DevC++ now, I just looked at the sourceforge page and it says the binaries were last updated 22 Feb 2005, where CodeBlocks was last updated 28 Feb 2008. So yea, I think you should probably go with CodeBlocks, there is also an option of downloading with MinGW :).

cyas
 
Last edited by a moderator:
lucidchaos said:
Now I have fallen out of the loop and rusted.
You may forget the syntax of a language over time, but the important part which is logical thinking never goes away. Well, that is, as long as you keep it exercised. New languages are relatively easy to pick up once you've successfully mastered one. And old forgotten languages eventually come back to you, as you use them.

Actually, I lie. Your logical thinking will eventually go away. It's just that by then you won't be worried so much about coding games rather than where you last left your teeth. :D
 
Last edited by a moderator:
Mh would something like this tutorial for gp2x
http://wiki.gp2x.org/wiki/Using_Visual_C_2...Express_Edition
be possible for pandora, too?

So i could go with two .sln files - one for pandora output and one for windows output for debugging?

As result i would get my game.exe + additional DLLs, or my game.gpe (at least for gp2x ;) ) + additional what? dlls?
I also need two versions of the dlls, right? one compiled for windows, and one for ARM, right?

I just surfed for too much information, now i am confused. ;)
 
no, 2 project files should work even better, it might even work to have only one project with 2 different configs.

first thing I plan to do is writing some network debugger tho, so that I can debug in realtime, on the real hardware.
 
Back
Top