PDA

View Full Version : Idea for a new game



saadmniamatullah
September 23rd, 2010, 03:30 PM
I've just had an idea for a new educational computer game, to teach students programming. The basic idea is:

* A game, where you have, say, ships, one belonging to you and another to your opponent. You write code in Python (because it is a simple language to learn), to seek out and sink your opponent's ship. You can also write code to take evasive actions, etc.

* The game must be easy enough, that people are not scared away at the first sight.

* On the other hand, in more 'advanced' games, additional factors can be implemented, like, for example, a 'radar', which is a module you have to import, then use its functions to seek your enemy and sink him.

* The idea is inspired by multiplayer games like Starcraft, where people devote enormous energies into making new strategies to win. However, that is mostly dumb things, like pressing keys on a keyboard 30 times a second. The other inspiration was Chess, which is also widely studied and has a lot of books written about it.

So, the goal would be:

* make people proficient in coding in Python, after which they can jump onto other languages if necessary

* to make learning programming fun.

I'm not a programmer, but I've taught myself C and Python, and if I can spare the time I'll see what I can do with the idea.

What do you think of this idea? Do you have any suggestions about it?

saadmniamatullah
September 23rd, 2010, 03:36 PM
I'd like to clarify that the idea is not mine, but when I was young, around 9 years old, I downloaded and played a game like this from download.com. But that game was not very well made.

JDShu
September 23rd, 2010, 06:06 PM
I was watching the Last Lecture a few days ago and your idea reminds me of Alice, in terms of the idea of learning programming while having fun:

http://www.alice.org/index.php

saadmniamatullah
September 23rd, 2010, 06:24 PM
Yes, the idea is somewhat similiar to Alice, but I wanted to harness the power of competition between people. I want students to compete against each other, and try to beat each other. I feel that competition is one of the most powerful motivating factors in human behaviour.


Also, in alice, programs are created by dragging and dropping tiles to form a 'story'. I feel that python is a language easy enough that students can jump right into it.

earthpigg
September 23rd, 2010, 08:18 PM
i like it.

instead of starting from scratch, however, have you considered taking an existing game and letting players use this to enhance their units?

i'm picturing a slow real-time strategy game. Globulation 2 might work as a good base.

http://en.wikipedia.org/wiki/Globulation_2

earthpigg
September 23rd, 2010, 08:26 PM
the problem with focusing on an even playing field and competitiveness, however, is that people will inevitably cheat by copy/pasting the code of others. with an open source game, there isn't much that can be done about it.

i have an alternative, now that i think about it:

one player creates a level, and another creates an avatar.

the level creation would mostly be a drag-and-drop affair, but what these objects do and when must be coded.

the avatar's behavior is entirely coded.

what the objects in the level and the avatar actually do is not controlled by the players in real time. the two (level and avatar) are simply introduced to each other, and whatever interaction happens... happens.

both would essentially be all-powerful. the concept of 'cheating' would not exist. instead, it would be a game of guess and anticipate. hell, make the avatar actually able to read the code of the objects in the level. level makers can create a situation wherein "kill everything in sight" results in the avatar failing to complete the level.

level makers have full freedom to make levels that do whatever they wish, as do avatar creators.

it's still competitive, but no emphasis on 'win or lose'. level creators endeavor to create levels that are interesting or innovative, or that help avatar creators learn. avatar creators are essentially learning to program very basic AI.

i'm picturing a top-down layout of levels, with doors and whatnot. how does the avatar pick a direction? at random? always north?