Game Programming...


Aether Lion

Moderator
Staff member
Joined
Dec 6, 2012
Messages
214
Age
27
Location
Halfway Between Hell and Purgatory, Pennsylvania
  1. What is the easiest way to go about learning to make a game on the Pandora?

  2. How do I make a PND?

  3. What tools are recommended? (Just pretend I have none, because I don't think I do Dx)

  4. What would be the simplest game to make (In your personal opinion)

  5. What would be a good game to take and make simple edits to that is already out on the pandora?

  6. How would I go about editing and already made PND?

  7. Any Tips?


I just really want to make my own games after seeing everyone else! D:


I can program VB6 only a little (I can make chat programs, except without internet, so they are useless, I can make Calculators, I can make a other simple setups), and that is about it for programming language.


Also, in the future, I want my job to be based on computers and other electronics, and I think this amazing piece of equipment will be the best start (Especially seeing how I love it so dearly, and I have barely had it a week!)


THANKS!


~Polukus~


PS: I think the first game I make will have something to do with Kingdom Hearts, whether it be some kind of Bejewled or WHATEVER, seeing as it is my favorite game, hence the Keyblade as my profile picture. :D


PSS: Don't tell me Google...or I will hit you. -_-
 
Last edited by a moderator:
I too would recommend GLBasic and Pong as a starter, but I would go for Space Invaders after Pong.


GLB already compiles .PNDs, however they are not complete. While they can be run from a Pandora, they are missing some bits and pieces that you will need to allow your game to be uploaded to the repo. Use .PNDTools to do this - but that's down the line and a simple process.


7Zip will allow you to unzip .PND files from the repo to have a nose around. Many .PNDs are OpenSource and allow you to view and edit the source code. Change a few values and see what happens in the game.


GLBasic can do ANYTHING that the other languages can do and it's easy to learn. the forum is also very friendly and knowledgeable.


There is one big but, however; the software is not free for compiling to Pandora (or other formats, including Wiz, GP2x and caanoo). You can still use it freely for the pc though. It's is incredibly cheap though and worth its weight in platinum if you like it.
 
You can't use GLB directly ON the Pandora - it's a Windows only program (for now).


GLB can compile for Pandora (and other systems) in the free version, but you get a large watermark in the top left corner and can only use the app for 5-10 minutes at a time.


Before purchasing, I'd say get used to the language with the free version first (you might not get on with it at all) and then upgrade once you feel it does what you need it to.


You can download the free version - HERE


You can purchase the FULL version HERE
 
I started with C++, I found the right book for me and managed to get going finally, but the official site wich I found afterwards is good I think. http://www.cplusplus.com/doc/tutorial/


I didnt learn it all in one go, dont worry about pointers or making your own classes or stuff unless you find it easy and swollow it at first try and love it. You can make things as simple as you want, make your own programming style and dont worry about others style, it takes a long time to learn it all so take your time and you will learn more advanced things when your ready for it, with even the most simple things you can achieve the most advanced stuff.


I have cast a quick glance on other languages every now and then, and I hate everything that isnt C/C++, some people say other languages are easier to begin with but in my opinion its the opposite. It dosnt get simpler then low level, it demystifies and gives you the building blocks to use as YOU want.


You will also find that there are no functions for drawing graphics with C++, in machine code you send a specefic "interupt" to cpu to tell it to send next data to the graphics card adress or something like that, its probably complicated stuff for many reasons, so what you do is use a library of pre-programmed functions for drawing graphics called SDL, there is a SDL page with developer library and tutorials. Then its easy to get on with OpenGL from there, understanding the logic for drawing 3D graphics is another thing but basic graphics shouldnt be to hard to get running, and theres plenty of code out on the internet to help you get things working.


So my recomendation is to download GCC compiler, I use command line in the DOS like window in Windows, I dont remember what its called, command prompt? Anyway, in GCC folder you will find different folders like bin and include for ex. When you get SDL files from internet, put all the SDL files in its include folder into the GCC include folder as so on, bin to bin, lib to lib. Then create a new text file in the GCC/bin folder, name it .cpp thats the standard file ending. Then when youre in that folder in DOS window, GCC/bin, type "g++ xxx.cpp" and you will get an .exe file, dont know what it will be called. For SDL programs you need to write "g++ xxx.cpp -lSDL" thats a small L for "linking".


The sdl.dll file needs to be in same folder as program, the .exe file. If you load images then they need to be in same folder also, unless you specify differently in the source code.
 
$90!


That, in my current dictionary, is not cheap. D:
It is compared to every other commercial programming language that supports as many formats as GLBasic does.


For instance - look at GameMaker - http://www.yoyogames.com/gamemaker/studio (the full package is $500!) or monkey - https://secure.shareit.com/shareit/checkout.html?productid=300439755 ($130).


They don't compile for Pandora, Wiz, GP2X or Caanoo (or several other formats that GLB supports).


The initial cost does obviously seem high, but if you get into it and use it for a period of time the value far outweighs the cost.


However, I did say it was a but.


Bennu (IIRC) is free and is supposed to be a good BASIC derivative language and supports various formats, including the Pandora. The forums aren't great and support and tutorials are limited in comparison to GLB.


Or you could go the C/C++/Python/Java etc. etc. routes. But you said you wanted something simple to get you started.
 
GLB already compiles .PNDs, however they are not complete. While they can be run from a Pandora, they are missing some bits and pieces that you will need to allow your game to be uploaded to the repo.

Do you know why that is? I was following that discussion at the time and it sort of petered out. I was hoping it did so because it was sorted rather than people lost interest, because I figured anyone who was coding in GLBasic for the Pandora would have pointed out that no, sir, it's not quite right yet.
 
The problem is that .PNDs on the repo contain information that isn't included in the GLBasic created ".exe.pnd" - including the script to run the .pnd, the text file description and screenshots. The XML files is also incomplete. I suppose Gernot could add some of that to the GLBasic IDE, but as that information is ONLY used for the Pandora it's not really worth it (there are about 4 GLBasic Pandora owners in total). Using .PNDTools and WordPad does everything that's needed really. It's not hard to create a proper .PND once you have a template.
 
What programming language(s) are you already familiar with?


C(++) with SDL is a relatively low-level but not too difficult way to make something, and it's very easy to port to nearly any system.


Python (PyGame) is a bit more high-level, slightly slower but easier, and also portable.


I'm not a big fan of programming languages like GLBasic that have no freely available compilers.


Creating a PND is easy, there's a script /usr/pandora/scripts/pnd_make.sh to do it on your Pandora. You just need to make a PXML file (just take one from any other PND and modify it) and an icon.


You can mount a PND using /usr/pandora/scripts/pnd_run.sh -m file.pnd, the contents of the PND will then be available somewhere in /mnt/pnd/, so you can copy the files you want, modify them and make a new PND. I don't think there's a way to directly modify the contents of a PND.
 
[...] some people say other languages [than C/C++, remark] are easier to begin with but in my opinion its the opposite. It dosnt get simpler then low level, it demystifies and gives you the building blocks to use as YOU want.
+1-ish


You only really know what you're doing when you understand what's going on in the code. Beginning to learn programming with a language like C/C++ means that little is hidden from you. See also: http://www.catb.org/esr/faqs/hacker-howto.html#skills1


As you can see, everyone has their own ideal way. You need to try for yourself to find out what's your's. A good starting point would be to learn how to use an Internet search engine to get more Information about how to start game programming, in case you don't already know how to do that.
 
To learn how to make pnds, just make a directory with your program in pandora/apps, then make there the pxml file, when this file start to be correct, you will just see your application appear on the menu/desktop, and you are able to launch it.


After you are sure that all is working correctly, then you can finally make a pnd out of that directory.
 
Last edited by a moderator:
Learning c++ is useful... c++ and SDL more so to make games.


And Penjin tries to simplify things if you want to make games specifically.


Ziz also has Sparrow3D if you want to take a C-based approach.
 
What programming language(s) are you already familiar with?


C(++) with SDL is a relatively low-level but not too difficult way to make something, and it's very easy to port to nearly any system.


Python (PyGame) is a bit more high-level, slightly slower but easier, and also portable.


I'm not a big fan of programming languages like GLBasic that have no freely available compilers.


Creating a PND is easy, there's a script /usr/pandora/scripts/pnd_make.sh to do it on your Pandora. You just need to make a PXML file (just take one from any other PND and modify it) and an icon.


You can mount a PND using /usr/pandora/scripts/pnd_run.sh -m file.pnd, the contents of the PND will then be available somewhere in /mnt/pnd/, so you can copy the files you want, modify them and make a new PND. I don't think there's a way to directly modify the contents of a PND.
All I know is some (Very limited) Visual BASIC 6, besides that, I don't know squat.

[...] some people say other languages [than C/C++, remark] are easier to begin with but in my opinion its the opposite. It dosnt get simpler then low level, it demystifies and gives you the building blocks to use as YOU want.
+1-ish


You only really know what you're doing when you understand what's going on in the code. Beginning to learn programming with a language like C/C++ means that little is hidden from you. See also: http://www.catb.org/...to.html#skills1


As you can see, everyone has their own ideal way. You need to try for yourself to find out what's your's. A good starting point would be to learn how to use an Internet search engine to get more Information about how to start game programming, in case you don't already know how to do that.

Learning c++ is useful... c++ and SDL more so to make games.


And Penjin tries to simplify things if you want to make games specifically.


Ziz also has Sparrow3D if you want to take a C-based approach.
I think most people are saying C++


Now what is this SDL thingy?


I also will use AS MANY resources as you guys can list.
 
Lazy Foos tutorials seem to be good for sdl beginners but you will need some c++ basics beforehand.


And why are you getting angry when someone tells you to google it?


Thats what you already should have done.
 
Last edited by a moderator:
Back
Top