Domain: pygame.org
Stories and comments across the archive that link to pygame.org.
Comments · 92
-
Re:Screw books
I did the same thing, just jumped right in and started coding. I used Pygame (http://www.pygame.org/), which is a Python wrapper around SDL thats cross platform. You can even use py2exe or py2app to make game installers for computers that don't have python installed. There's a very active mailing list and plenty of good examples in the documentation.
-
10 Resources You Can't Live WithoutThere are, nowadays, enormous piles of resources for those starting out in game development. Some suggestions as to where to start...
I agree with those who say that knowledge of OpenGL and/or DirectX is a must, (always know something about what goes on under the hood), but I'm also a big fan of short time-to-market once you actually start developing a concept. Here are some 2D engines that speed up development:
- Torque2D - GarageGame's upcoming 2D tiling engine SDK. This looks promising, but is in its early-adopter release. Not yet ready for primetime, according to GarageGames.
- Pygame - Python-based 2D engine. My feeling is that Python is a great language to start game development in.
- Orbforms Designer - Why limit yourself to the PC? PDA games can give you a greater return on your time than Windows games do. (Per man-hour, our PDA titles bring us more revenue than our PC titles do.)
- Game Editor - For those who want to go even higher-level than an SDK.
- 3D Gamestudio - The engine of choice for our latest games. I love it, and hope they'll extend to the Xbox 360 platform when it comes out.
- Torque - Maybe the single most popular 3D engine among indies and hobbyists. Focuses, in part, on cross-platform compatibility (Windows/Linux/Mac).
- OGRE - An open-source package. Frequently updated. Some nice projects using the engine.
- DarkBASIC - A popular package among new developers and independents.
- Game Tunnel - Previews, articles, and reviews of indie games.
- DIY Games - Covering the latest independent/shareware titles.
---
Inago Rage - Create and fight in your own FPS arenas.
--- -
Re:Screw books
I would also suggest using OPAL (based off ODE) if you ever need physics. SDL will handle pretty much everything else. There are also some pretty nice pre-built engines like Ogre and Crystal Space. There are alot of 2D ones... Whatever you code in, make sure it's multiplatform. C/C++ is good because you can compile it on just about any OS/machine and it's fast. Python's also pretty nice, but it's not quite as fast as C. For a simple card game or something it should be fine though.
-
Re:SDL & C/C++ on Linux may be a good start
There's also pygame which is a python interface to the SDL/OpenGL stack.
Makes it easy to write some cool little games :) -
Re:Advantages?
built-in TK
or if you want sdl/game type gfx:
http://www.pygame.org
also any of the many other gfx kits:
py-gtk, wxPython, etc. -
Re:Get Python + PygameThe problem is that, afaik, there is no way to directly access the video buffer in python using the pygame libraries.
I'm no expert in game development though, I haven't tried any other libraries, so I might just not be looking for the right things. If you could look at the pygame documentation and tell me which functions do what you described, I (and many people I know) would be very appreciative.
-
vote for python + pygame
If you want to do something simple and don't know how to program at all, this is definitely the way to go.
Python is not only easy to learn, it's a great starting language. (enforces proper formatting, doesn't use crazy things like ; line endings
Python.org Beginner's Guide ;)
Dive Into Python (free on-line book, well written IMO)
and of course the http://pygame.org/ which the parent poster already said.I would NOT suggest using PyOpenGL if you're new to programming, it's an unnecessary layer of complexity for very simple projects. Use it after you know how to program and have created at least a few simple things already.
:)Anyway, just wanted to give my vote for Python.
-
SDL, C and Pygame
Without a doubt, Simple Directmedia Layer (SDL) is the best platform for writing cross platform games. It provides a very clean abstraction layer to the high performance APIs (DirectX, etc.) available on each platform. Many people who code only for Windows use it since the API is a lot nicer than the COM based DirectX API. A number of commercial games have been ported to Linux using SDL.
For serious game programming, you need to learn C or C++. I would guess that 99% of all commercial games for the PC are written in mostly C or C++. This doesn't mean you need to write all of your code in a low level language. Even the original Quake used an interpreted language (QuakeC) for the game logic. But almost no language other than C or C++ will provide the speed or memory usage necessary for most commercial games.
If you'd rather concentrate on writing your game rather than learning C, try Python with Pygame. Pygame is a Python binding to SDL. It is fairly fast since all the low level graphics stuff is done using SDL. Certain things will be slower in Python (collision detection, physics, etc.) but most code isn't speed critical anyway. Some things will be harder in Python since it's easier to manipulate bytes and bits in C.
Also check out PyOpenGL if you want to learn OpenGL. It can be used in conjunction with Pygame. I used this when I was learning OpenGL and it's quite nice. The API is almost exactly like the C based API, but it is easier to use. At least one of the popular OpenGL tutorials has been ported to PyOpenGL. -
Python + Pygame
PyGame is a great starting point. I use C++ myself.
-
Get Python + Pygame
You should definitely get Python and Pygame. Python is both easy to learn and more powerful than most languages. Better yet, there are plenty of example games to study. If you want to do 3D, also get PyOpenGL, and get the started with the NeHe tutorials (Python code available).
The downside with Python is that it can be slow (a fact that can be remedied to some degree, but not entirely, by also installing Psyco). Fortunately, the slowness doesn't matter (unless your aim is to compete with the next id Software engine). I've written a simple engine for a 2D platformer in Python myself, and even with a game logic and collision detection, 90% of the processor time is spent blitting the graphics to the screen. Since Pygame (written in C) does the rendering, using C++ for your game code won't provide any big advantage.
Good luck! -
Get Python + Pygame
You should definitely get Python and Pygame. Python is both easy to learn and more powerful than most languages. Better yet, there are plenty of example games to study. If you want to do 3D, also get PyOpenGL, and get the started with the NeHe tutorials (Python code available).
The downside with Python is that it can be slow (a fact that can be remedied to some degree, but not entirely, by also installing Psyco). Fortunately, the slowness doesn't matter (unless your aim is to compete with the next id Software engine). I've written a simple engine for a 2D platformer in Python myself, and even with a game logic and collision detection, 90% of the processor time is spent blitting the graphics to the screen. Since Pygame (written in C) does the rendering, using C++ for your game code won't provide any big advantage.
Good luck! -
Re:video games
I've usually found technically minded kids from 7th grade through high school get a kick out of making computer games, even very crude, simple ones. I had a class in high school where we'd write simple programs and build things with Legos and motors, etc which turned out to be fun even for people that usually wouldn't be into it.
On the programming end, PyGame, an API for writing games in Python based on SDL should provide the gentlest introduction while still having kids do real "programming". And it's all free as long as kids have access to a computer lab. DirectX/C++ is usually too much for newbies to handle, but beginners can usually do some basic work in Python.
An element of competition may help increase interest -- I know this is way beyond anything you'd be planning and the scope of what high school kids could handle but here we have a game/AI programming contest (6.370) which provides a base platform/game engine so people without much game programming experience to still make something useful.
Lego Mindstorms probably also work in giving kids something "technical" to play with, but might be expensive for a volunteer project (unless you can get funding or have the kids buy the sets.)
I'd say start small -- many kids are elated to even get draw a ball bouncing across the screen, and it may spur their enthusiasm to learn on their own from there. Just tell them they can learn to make computer games.
-fren -
What's it built on?
The "jab" at Pygame got me interested. Trying to determine what libraries this is built on, but not seeing it immediately. It looks like a great set of features for now, congrats. How does this compare to LuaSdl?
As the Pygame author, it's fun to see what other projects are doing in similar fields. Now I need to determine what benchmark was used to determine the 2x. :-) I admit Pygame's been dragging over the summer, but trying to gear up for a new release before the end of the year. -
What's it built on?
The "jab" at Pygame got me interested. Trying to determine what libraries this is built on, but not seeing it immediately. It looks like a great set of features for now, congrats. How does this compare to LuaSdl?
As the Pygame author, it's fun to see what other projects are doing in similar fields. Now I need to determine what benchmark was used to determine the 2x. :-) I admit Pygame's been dragging over the summer, but trying to gear up for a new release before the end of the year. -
Pygame - SDL-Python
Check it out.
http://pygame.org/
http://pyopengl.sourceforge.net/ -
Re:Big Brick Walls
Check out Pygame. It's a Python layer over SDL that simplifies things quite a bit. It kinda takes me back to my C64 days, though it's a heck of a lot more powerful.
-
Re:Python and data typesYou're already proposing several solutions, as others are as well -- SDL (probably most accessible through PyGame), PIL, Numeric, some extensions available through SciPy, and eventually moving into things like PyTables or even lower-level functionality like array or ctypes, there's also the possibility of coding in C or another compiled language, or using Pyrex. for some easy-Python-integration goodness, or Psyco which can do some pretty magic stuff in select situations.
No, it's not like MATLAB -- Python is a general-purpose language. If you want MATLAB, then you're looking for a more specialized environment, like SciPy (maybe using iPython to provide a nice interactive environment). As a MATLAB replacement, Python is probably a work in progress.
If you want homogeneous collections with fast transformations, you must do it with somewhat opaque containers like Numeric, where anything that runs inside the inner loops of transformations is written in a very fast language. (Oh, I just remembered Weave) This is true in Lisp as well, though Lisp has also had compiled forms which are pretty quick.
Anyway, lots of options. Stop complaining and enjoy what you got!
So, is Java really better? I honestly don't know the scientific or image processing domain, so I don't know where Java's at there.
-
What's wrong with old designs?
I was born in 1983, so I never really encountered a lot of the older arcade games.
However, when I encountered SolarWolf under Linux, I was instantly addicted. :)
I was especially shocked when I beat it after fifty levels..I'd hardly noticed the time go by. -
Re:Python Resources.
You forgot PyGame - a wonderful game programming API based around SDL.
-
Re:try the Blender GameKit
Or perhaps pygame.
I intend on getting my brother (20) to learn programming with this. -
Re:Pygame
Pygame also has some great docs and tutorials. I found suprisingly fast to pick up and get some sprites flying.
-
Pygame, Python, etc.
Being nine years old with an aptitude for math and computers should allow your son to grok much of Python and especially the Pygame modules for easy game writing in Python. Pygame runs well in both Linux and Win32 (based on the SDL libraries, also free). There are plenty of short, easy examples of graphics and sound and animation using Pygame.
LiveWires has some Python courses specifically for non-programmers and young people, some with a slant toward games.
You might also look at Guido van Robot, a Python-based robot programming environment for children. Maybe it won't allow for 'real' game writing, but the concepts seem sound and it might be a more gentle intro. -
Pygame
Python and Pygame. Python is not only easy to learn but also a powerful real-world programming language. It might not be quite as ideal for a 9 year old as languages/environments designed to be more playful and task-specific, but it's probably the best "real" language out there for the application. Besides, from what I've heard, a lot of people learned Basic around 9 or so and Python is definitely easier (if not to grasp the basics of then at least to do anything useful with) than Basic
:) -
Control expectations
*flame suit on*
Since I don't know too many nine year olds, I can't fathom what games they're playing (Pokemon still? Yuyu Hashuko?), but my suggestion is to first control his expectations. What I mean is, you should be aware that even though he is gifted in math and has an interest in programming, that he won't be able to recreate Max Payne 2 or WarCraft III. Or even Pokemon on the GBA. That simply requires money. Some of the simplest games like Tetris aren't instantly easy to program.
Deep breath.
With that out of the way, I'd suggest writing a text only RPG or something like that. You can learn a lot about how games work coding up MUDs and such, and you don't have to worry about making the eye candy to go with it. When I was nine I coded up a mud in Basic (of course that was in the late 80's but whatever). Once you've got a fairly fun text RPG, you can try making it into a 2d world (a la Zelda) which wouldn't be too hard to implement.
I realize I haven't answered your question about programming languages and websites mostly because that usually leads to flame wars ("Nu uh! Ruby/VBA/C++ Rocks! Python/C/Java Sux!"), but if he's try interested in programming a game, I think a mud is a good place to start. I have a preference for Python, so you may want to check out pygame.org as well. -
pygame
you might try getting strated with pygame, a wrapper to sdl for python.
obviously if you need every single cpu tick to count, you shouldn't use this. but, it can do 30 frames per second if you write good code. -
real nerds . . .
2D Shmups...
Real nerds write their own. -
In the same vein...
I've always been amazed by the 24 and 48 hour game contests (or any short programming contest). It's been a long time since I looked at that scene, but I remember some goodies back in my Apple ][ through Apple ][gs days. A quick google search turned up a couple interesting links: A 48 journal developing a Godzilla game and These entries in another contest (complete with ratings and descriptions).
I'm sure someone here knows the "big site" for these contests and I'd certainly like to hear about it.
AB -
Create your own with PyGame
PyGame is a fun python library to play around with if you want to try and create your own simple games. I am not sure if anyone is building anything graphically intense with it, but I prefer PySol over Quake any day of the week so it doesn't much matter to me.
Ian
Shootclub Webmaster
Shootclub Wrestling RPG -
Platform Competition?
Check out Artima if you want to see Bruce Eckel's take on the Python language which, incidentally, with the addition of things like a logging API, and with long-existing additions like Jython, is beginning to look more and more like a viable competitor to Java.
Why?
Python carries a LOT of the same advantages, but with a dramatically accelerated prototyping and general development speed, and a few tricks of its own. Plus, via Boost, it interoperates with C++, too. I'm an avid Perl hack, but I have to admit that Python, which even has a whole API for basic game programming is looking more and more attractive for quite a number of things.
Download soon and often. -
PygameYou could try pygame
There are many games currently available written using PyGame. Solarwolf is a good one.
This might not be exactly what you are looking for, but in the spirit of slashdot and good karma, it is open source :)--
jason -
Should we pity or envy kids?
I'm now firmly in the trenches of middle age, and so have begun to succumb to that tendancy that we all get as we grow older to gaze back upon my life and to tell the kids of today how great they have it now. This usually begins with the phrase Back when I was a kid...
Back when I was a kid, microcomputers were just beginning to be something that my super rich friends could get. Computers like an Apple II, which I had no chance of affording.
Then the Atari came out. Not only was it cheaper, but it had really kick/ass graphics like Star Raiders. So I worked for nearly a year, earned $400 and bought my first computer. I had already learned BASIC on other machines, so I saved a bit longer and got a BASIC cartridge. A few months more, and I had a cassette deck to store my programs on.
About that time I started to learn about how the graphics architecture of the machine worked. I bought a copy of De Re Atari. I got their assembler/editor cartridge and started to write some programs of my own. I read the ROM listings. I remember writing my first truly useful program: a program for copying copy protected cassette tapes so I could backup my copy of Jawbreaker.
I goofed around with that silly computer for years. By the time I was finished, there was really very little about the system that I did not understand. And that's probably the last computer that I truly did understand.
It's simply not possible to understand all the inner workings of a computer like that any more. Or, maybe it is possible, but it simply isn't worth your time. You (or your kid) probably have other things to do with computers, like make web pages, edit photos, or make videos. Computers have become a doorway to doing other things, and like most doorways, people don't give them much thought anymore. I sometimes find that a bit sad, but then I think of all the cool things kids can do. My nineteen year old swears that he didn't want to learn to program, but he has a webpage with all sorts of javascript madness on it. He's made videos. He's photoshopped photos of his friends. In short, he's doing what he likes to do: taking the computer for what it is, and using it to do what he wants. I can't say that I see much wrong with that.
I guess I should give some recommendations for those people whose kids really think they do want to learn how to program. They could do a lot worse than to use Python. It's a fairly reasonable language that is interactive and enables you to do fun stuff nearly immediately. If the kid is interested in making games, they can use Pygame, which I've found to be very pleasant to play with, and is available on many platforms. Download some example games, and then help them figure out how they work. Change some of the graphics to use graphics of their own. Encourage them to share their work with others, perhaps using the web. Answer questions. Be enthused. Help get a club or group started at their school. Be a parent.
:-) -
Re:Python
The Windows port is very good and allows access to Windows Widgets with a minimum of trouble.
Pygame is even better. When I was a kid, I started programming because I wanted to make games. Pygame gives them everything they need to make games. I also recommend this book as an excellent introduction to Python. -
What, no pygame?I agree with many posters that Python is the way to go: it's consistent, easy to learn, extremely readable, and (dare I say it) fun.
But I'm surprised that nobody has mentioned pygame yet. pygame is a game programming library for Python. it makes for some excellent tinkering, and I suck at programming.
-
Re:*Shrug*
-
Programming
It is my philosophy that everyone should learn to program. Not only does programming gain you a greater understanding of computers, but you also get a deeper understanding of mathematics, and the American school system is horrible at teaching both of those.
Go to the Python web site, find some good tutorials, and give them that. Once they learn Python, give them PyGame, and let them code play around. -
Some other important AppsThese are mostly server orientated - but they're free, and compile on windows: Apache, PHP and MySQL.
Also a very addictive game called crack attack, which runs on windows and linux, and is under the GPL:
Crack AttackOther things that you should consider include Python and PyGame (don't forget SDL as well!).
[x]Chat runs under windows (native), and is the only irc I'd consider using (beats the hell out of mirc).
Putty is an open source ssh/telnet client. Its possibly the best telnet client for use under windows. Then again, could anything be worse than C:\Windows\Telnet.exe ?
I've probably missed quite a few good ones, but these are things I seriously like.
-
pygame is great for making simple gamesPygame is a set of Python modules designed for writing games. It is written on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. The package is highly portable, with games running on Windows, NT4, MacOS, OSX, BeOS, FreeBSD, IRIX, and Linux
Not to just quote the front page of the site, but it really is simple to throw together simple but addicting games like the old classics, in Python. I find it frustrating that more of these fun games arent written. The tool is available and several attempts at games made. The kit runs on just about every platform and with what the guys over at Twisted Matrix Labs have done, networking these games couldnt get easier. I myself am slowly working on at least two of these games, we need more! Never can we have too many games! NEVER!
Imagine network frogger, the whole pond is out and racing to cross the road! How about zoomed out and multiplayer digdug? Pump em till they pulp! Sidescrollers are doable, how about Karnov, anyone remember the old bald guy? I know I lost many a silver coin to that cat. I
:really: want a top down, Gauntlet style mutliplayer game.How many of you would love to play d0pe-warz with an actual realtime multiplayer backend, knife fights in the alleys, buying pimp cars for faster neighborhood/city->city navigation, and real market fluctuations based on supply and demand!?
Granted, many of these games are copyrighted materials but look how simple some of the these games were, compared to todays games. We all miss this flavor of game, having been saturated with yet more and more realistic games. The game designers of today are shooting for blockbuster titles, maximizing on the latest graphical hardware innovation.
Someone has even gone to the trouble of simulating old led based games from WAY-back. We miss these games!
Pygame is the best tool to get us these games. Any of you with a half baked idea and patience to learn a little Python, get to crackin! We NEED you!
-=C=-
-
pygame is great for making simple gamesPygame is a set of Python modules designed for writing games. It is written on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. The package is highly portable, with games running on Windows, NT4, MacOS, OSX, BeOS, FreeBSD, IRIX, and Linux
Not to just quote the front page of the site, but it really is simple to throw together simple but addicting games like the old classics, in Python. I find it frustrating that more of these fun games arent written. The tool is available and several attempts at games made. The kit runs on just about every platform and with what the guys over at Twisted Matrix Labs have done, networking these games couldnt get easier. I myself am slowly working on at least two of these games, we need more! Never can we have too many games! NEVER!
Imagine network frogger, the whole pond is out and racing to cross the road! How about zoomed out and multiplayer digdug? Pump em till they pulp! Sidescrollers are doable, how about Karnov, anyone remember the old bald guy? I know I lost many a silver coin to that cat. I
:really: want a top down, Gauntlet style mutliplayer game.How many of you would love to play d0pe-warz with an actual realtime multiplayer backend, knife fights in the alleys, buying pimp cars for faster neighborhood/city->city navigation, and real market fluctuations based on supply and demand!?
Granted, many of these games are copyrighted materials but look how simple some of the these games were, compared to todays games. We all miss this flavor of game, having been saturated with yet more and more realistic games. The game designers of today are shooting for blockbuster titles, maximizing on the latest graphical hardware innovation.
Someone has even gone to the trouble of simulating old led based games from WAY-back. We miss these games!
Pygame is the best tool to get us these games. Any of you with a half baked idea and patience to learn a little Python, get to crackin! We NEED you!
-=C=-
-
Re:Who remembers Firefox?
If you liked that, you should check out Solar Wolf. It's an updated Solar Fox, written in Python, with modern graphics and sound.
I've spent too many hours playing this game... -
Or just use PyGame
If one wants portability, one could always code in Python and use PyGame. Python does everything Java does, other than having management-friendly buzzwords, and has a more civilised syntax too.
-
Python info
Yeah, yeah, yeah... Here's some Python links for you:
The official site. Downloads & Tutorials
An article by ESR praising python
A couple small intros to Python
An interesting look at Python from a LISPers point of view
Zope, Python-based web application server platfrom
Pygame : A Python interface to the SDL game library -
Re:I've been waiting...On a slightly different tack, you might be interested in PyGame, a portable game programming framework for Python which wraps SDL. Of course, there are bindings for other languages as well (just look at the SDL Homepage), but PyGame is very well implemented. Here is a example of what a very simple demonstration app looks like in PyGame. One of the best applications/games using PyGame so far is Solarwolf, a remake of an old Atari 2600 game (hmm... looks like the site is down at the moment, though).
One of the best ways to pick up game usage tips is to look at source code. One guy who's coded loads of SDL games (in C) can be found here. In particular - check out Circus Linux - it's a lot of fun
:).