The goal of this thread is two-fold:
+ To make (a) game(s)
+ To learn a programming language
I think at one point or another most of us have thought of making games. Some of still do, and few atually make them in reality. In here, we will (hopefully) go from the former to the latter. But how?
We are going to be using Python.
There are a number of reasons for this:
+
Python has a lot of libraries.
+ Python runs on Windows, Mac, OS/2, Unix/Linux, Amiga and even Nokia Series 60 phones.
+ Python
has modules specifically designed for creating games.
+ Python is free.
+ A python is a type of snake. Sssssss.
I'm using the word 'we' loosely. It's not one big project that we'll all work on. We won't be taking lessons together. Instead, people who don't make games (or don't know how to code in Python) will design and create games with a thread they can use to ask questions or post their progress and get support. This is not only to make games from scratch, but to be able to use a programming language. We're all nerds here, knowing how to code is going to come in handy eventually, I'm sure. Plus we're surrounded by it, so we might as well understand it.
I think only a small number of people here are willing to put in the work to make a game using a programming language. But I hope I can get enough interest in here that a few of us will come out a little bit wiser about the process of making games.
I'll try to post helpful links here:
http://forums.penny-arcade.com/showthread.php?t=40425 - this should help out anyone who isn't familiar with coding in general.
http://niche.uwo.ca/programming-historian/index.php/Main_Page - this site is aimed at historians, for some odd reason. But it seems to have a little info on the basics of programming.
http://wiki.python.org/moin/BeginnersGuide - a beginner's guide to Python
http://pythonbook.coffeeghost.net/book1/ - this 'book' provides information about programming in Python as well as game examples.
Posts
Actually, thinking about it maybe you should take it a step further and have "homework". Like give someone a simple project idea for them to work on and ask questions about. That will focus everyone's questions and people can use the thread as a resource since the really common questions and answers will be in the thread. Example: "hello world" program, draw a jpg to the screen, write something to the hd then read it back.
Artisitic ability = production values! Which are nice to have, especially if you're making a simple game.
I will give you a helpful hint! A shmup is a very simple kind of game to make.
I think this is a good goal because it focuses on object-oriented programming, as each piece follows specific rules. If I decide to go even further, I could implement a rudementary AI. Of course, before I delve into a project like that, I'll be going through the basics of Python itself.
Then after you get all that down then you get to figure out how to do the actual game.
If nothing else, I could provide ideas. I've had the idea of a 2D platformer with multiple jump buttons used for jumping in different ways.
Yeah, but this is a goal in the same way that "I want to be a basketball player!" is a goal. Ultimately I'd like to have a chess game, but I'm definitely not focusing on that. I have a lot more to learn first.
Actually I'm curious now so go find out how to do it and tell me. I don't know python syntax at all.
Edit: Make it so you have to type in a name for the player so you can get text input too, although I suspect that a box with a blinking cursor will be too hard to do without the right libraries or whatever
And does python have classes like C does?
I don't know if the "like C does" is an important aspect of this sentence. Like, I'm not sure if C handles classes differently than C++, but Python DOES have classes. It's object orientated, after all:
Etc.
I started learning Python, because I wanted to make games with it (Both a side scrolling beat em up and a platformer, both with awesome combo systems and blocky 8 bit graphics), so this thread WOULD be perfect for me, but I need to learn Python properly before I make a game and I'm lazy. I've got no real reason to put the time in.
I guess that's why this thread is here. Post as many stupid questions as you want, and they might be answered.
Also are there any hot girls in this class, I hear the proffessor is a prick.
but i haev this grate idea fr a game! u have this gun see an u blow up zombies, and i have the idea all writen up and all i need is someoen to do teh code and teh art. i'm really more of an idea persno so if u can do this just PM me and i let u help me, k?
so implement your game rules for how pieces move, is a move valid, their position, etc all w/out worrying about their graphical representation. then you add that on as a layer on top. anyway, thats just a tip i thought i'd pass on.
There's more money in it... and I prefer spending money on games so I can play them
I dunno, I was thinking maybe we could make something about a gang...
Add in some daggers...
I just know the very basic basics of C++ and Java, though. Python sounds cool, though.
Learning a language would be harder at first, but would allow you eventually to do anything that you could think of.
Game Maker is a useful tool for people who have a specific vision of a game they wish to create, but no real desire to keep pushing to bigger and better projects. That's my opinion anyway.
This. I still play around with the iPhone Simulator (writing pong for example) and will get the developer license once I get the iPhone itself.
I understand they are probably the easiest game type to create in Python? That would make it a good first "assignment" if you are going to go that route with this thread. It'd be a good way to see differant iterations of coding the same thing while seeing minor variations in game features or better ways of doing things.
It takes care of all of the low level stuff, but as far as designing games goes I think it teaches you transferable skills to a certain degree.
Very good advice. XNA requires you to do this and it's improved my coding skills drastically.
Steam ID : rwb36, Twitter : Werezompire,
While I haven't worked with it much yet, for those who are interested in using what looks to be a very capable 3D engine, check out Irrlicht. While I've been procrastinating like crazy on it, I've been meaning to work on a 3D shmup in the vein of Einhander.
A space game of some kind:
and some sort of SoTC thingy:
I've just played around with the tutorials so far, but it seems fairly easy to work with as long as you have some programming experience. Just thought I should mention it since python seems to be the language of choice here and from what I have seen this is the best choice for a 3d engine that I have been able to find.
Honestly? That's way too complicated. Anything real-time is probably too complicated for a first assignment.
Something like Othello or Tetris (sort of real-time, but doesn't require smooth movement) is probably more appropriate.
I'd say a wacky SHMUP is much more fun to start with. Unlike chess, it requires a game loop, a framerate cap or other method to deal with speed changes and continuous input handling. It might sound daunting, but it's much more interesting too. You can deal with most of the problems one step at a time, and if you're stuck, we're here to help. I'm sure some AC/SE regulars would love to contribute weird enemies, ships and ... projectiles :winky:
I don't want to turn you off of doing this the way you want to though, it's a great idea no matter what kind of game you choose. Maybe it's because one of my first game programming learning projects was a SHMUP :P
If you want to let us see your code alongside you without having to repost everything again and again, look into a free SVN host like Assembla. It has a web page tool called Trac that lets us see the changes in the code you check in (like this), and it does syntax highlighting. PM me if you'd like help in setting it up.
The converse of this is that when you want to make a platformer or SHMUP, Game Maker can be amazingly fast development tool. The Cactus games are a great example of how you can do artsy conceptual game stuff really quickly with Game Maker (check the Dev time under each of those games after you've played them). You do lose out on learning some of the basics such as controlling how fast your game runs and proper input handling, then again, if you don't care about that, you get to actually making games quicker.
Yeah but I'm not going to because I didn't make a thread for suggestions of any kind
I think I may try a very basic SHMUP.
Meaning a ship with a pee shooter and one type of enemy, probably wont even have a scrolling background.
Just to see if I can get a shell of a SHMUP up and running from scratch.
Tofu wrote: Here be Littleboots, destroyer of threads and master of drunkposting.