views:

2236

answers:

9

I've got a young nephew who aspires to grow up to be a game programmer and i'd like to introduce him to the world of open-source as well as get him a sweet gift.

Anything like that out there?

+2  A: 

I saw a question earlier about programming on a Nintendo DS. That sounds like it might be what you're looking for.

Also, I recently read about the BUG which looks like a really cool platform for building any number of handheld devices.

Greg Hewgill
+1  A: 

Well programming on the NintendoDS is possible, however you'll be breaking and stretching quite a few laws there.

However, I should say that I learned most of what I did about hardware doing stuff just like that while I was back in school. I learned a LOT from doing that sort of stuff ;) But I wouldn't recommend it to youngsters or newcomers because you'll be totally out of support (lots of frustration), might break your game console, and unless you already know about programming the learning curve is WAY to high.

Might I recommend starting out with flash or PC games before console programming?

Edit: When I mean breaking/stretching laws, I don't mean writing code for your hardware, that's up to you. But it is illegal to buy pirate memory cards and card writers (that infringe on patent laws). Also funding hardware piracy will unlikely be something to proud of.

Edit:@Mike F did you read my post? I said, I HAVE done this while I was a student, and I learned a lot. But it's still piracy, and yes I did my fair share of piracy when I was a poor student, but it's not something I'd want to teach someone just getting into programming. Would you?

Besides there are plenty of perfectly great ways to learn game programming without needing to hack stuff like RPGMaker, XNA, etc...

@Mike F: Once more just for the sake of it NDS flash-roms are produced through patent piracy(/infringement), not software piracy, as in it is illegal to produce such hardware because it goes against patent laws. And the companies that make such flash rom hardware are piracy companies that traffic their goods in the grey market, Its as simple as that. I'm not talking about "software piracy" at all here. Thats why I mentioned twice already that anyone is free to run whatever software on their hardware, be homebrew or whatever.

Robert Gould
Hmm...agree that NDS homebrew might be a stretch for a beginning coder. But disagree on the illegality of running your own code on your own hardware.
I should be ashamed of owning a flash-cart in order to write homebrew?
Yeah, I read your post. You are confusing homebrew with piracy.
Ah, gotcha, I misunderstood your use of the word 'piracy'. Well I see this type of abuse of the patent system as part of a really nasty trend in restricting how we use our own property. If it is illegal (which I'm not convinced of), I sure as heck don't care and you shouldn't either.
+1  A: 

well, this is not completely open source (the editor isn't, the engine is), but I recommend RPG Maker VX (if he likes role playing games):

http://tkool.jp/products/rpgvx/eng/index.html

I have used this (and the earlier versions) for some time. It is nice because there is a great editor and event system which can teach basic programming concepts without writing any code. Once your nephew wants to write some real code, there is an entire API (RGSS2) written in ruby that they he is free to manipulate and extend. This API makes up most of the game engine, hiding only low level implementation stuff.

There are other programs out there like GameMaker, but RPG Maker is the most user friendly, while still providing a way to get at the more advanced stuff.

EDIT: I forgot to mention one of the best parts; there is a large and active community around RPG Maker. There are many forums completely dedicated to the program where people will be happy to help on even the most basic tasks, not to mention the great resources that are avilable.

Ed Swangren
Yes that sounds good, I've heard some elementary schools teach programming using RPG maker. It's definitely a good start for beginners
Robert Gould
+12  A: 

Well, this is a tricky question because we don't know the level your nephew is at, nevermind the fact that it's difficult to produce a very nice showy game without a lot more work than a beginner might put forth.

X Game Station

Nevertheless, André LaMothe's X Game Station is meant to be exactly the system you're asking for - a beginner's guide and system on how to develop complex programs with interactive elements and gameplay on resource limited hardware. Which is pretty much what a game designer is called on to do.

GP32

The GP32 was also meant to fill this gap, but with a much more powerful processor. The successor was never released, and the company went bankrupt shortly after, but you may still be able to find one on ebay or within the communities that developed around the original machine.

Google Android

You might also consider looking toward the Google Android platform. Cell phone gaming is now and will be one of the biggest platforms in the future. The android isn't set up perfectly for gaming, but it's a good first approximation, isn't horribly expensive and includes a robust development toolset for a high-end mobile processor. Several big name game development companies have already pledged support for this platform, so it will also look good on a resume.

But a cheap computer and a VGA graphics book is surprisingly fun as a kid...

Adam Davis
If you have some experience Android (mobile) is a great place to start game programming
Robert Gould
GP32! Yay! I have one!
Mez
don't forget the GP32 successor(s) GP2X, and Wiz. also not from game park themselves, but a truly open platform called pandora (openpandora.org) though it's not ready yet.
geocoin
A: 

I'd third the Nintendo DS recommendation - grab a R4 "homebrew" cartridge and you're pretty much set.

Another idea is one of the independent handhelds - something like the GP32, though there's certainly newer devices on the market.

moobaa
+2  A: 

You might be interested in the XGameStation. It's a hardware console designed to teach programming a game console. It was created by Andre LaMothe who has written several books on game programming.

Slapout
+1  A: 

I believe this is somewhat like Basketball, start from close to the basket and work your way out and you'll be hitting 3's with practice.

In my opinion, game programming is 3pt, without learning to shoot the basketball properly, you will probably cheat and start slinging it or just chucking the ball at the backboard hoping it's going to go in.

If you have a youngster without the ability to shoot a mid-range basket properly, do you think he will be able to motivate himself to keep trying, rather then trying something closer to the goal and working himself outside when he is confident?

If your nephew is serious about learning programming, get him a python book or vb.net/c# book. Maybe he will become more interested in application development because of these languages (it was the case with me, I'm 14). :)

Edit: This is assuming he doesn't have much programming experience.

RodgerB
+6  A: 

There are a number of Open Source platforms out their for game development, if you go to here there are a large number of game engines and development platforms. For a beginner with little programming experience I would suggest a game engine like Game Maker or RPG Maker, which are drag and drop game engines. Both of these are free open source game engines. The other problem with these two game engines is that they are limited to 2D games only, even though Game Maker allows you to make and FPS that is like Doom style graphics.

For a more intermediate or beginning programmer I would honestly suggest Torque, which has both a 2D and 3D game engine. This engine is licensed as open source, but you still have to pay for the compiled version from their site. I have had much success with Torque in the past, especially Torque Game Builder (2D Game Engine). It is very simple to pickup and begin making good looking/functional games. In fact, a number of XBOX live games have been built using Torque game engines, like Marble Blast.

Another open source game engine I have heard good things about, but have not had a chance to try, is Multiverse. Multiverse is actually aimed at MMOG creation. The nice thing about Multiverse is that it provides for the creation of a 3D game environment, but also allows for the integration of Flash content into the game world.

For a more advanced programmer I would suggest looking into the SDL, OpenGL, and OpenAL. These are not game engines but graphics and sound libraries for game programmers. These are completely open source and are free to use. Most game technologies will have some implementation of one or all of these libraries in their software.

Even though XNA is not open source, it is also a good place to start for more advanced programmers. Not only does it allow for the creation of XBOX games, but you can also develop for the PC and Zune also.

Another thing you may want to suggest to your nephew is to modify existing games he owns. Most PC games and many console games allow for game modification of some form or another (level design, rescripting, etc). Some of the more popular game engines that I have seen mods for are the Source Engine and Unreal Engine. There are a number of tutorials at MODDB and 3DBuzz (which also has great tutorials on other aspects of game programming and design).

In addition to what I have listed, I have also heard good things about Ogre3D and Havok (a physics engine used in many many games). He can also go to such sites as IGDA, Gamasutra, GameDev,Game Career Guie, 3D Buzz for additional information on game development.

Hope this information helps.

Matt Pascoe
A: 

Ars Technica just came out w/ an article about open-source gaming consoles. They are hand-helds, so I don't know if that's an issue but they seem to be pretty nice, with lots of features to tinker with.

crystalattice