Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

GDC: The OLPC Project And Games

Zonk posted more than 7 years ago | from the learning-on-the-cheap dept.

Games 36

Gamasutra continued their extensive coverage of GDC Tuesday, with information on the second day of serious and indie gaming tracks. For those who have been following the One Laptop Per Child Project, one of that project's developers put out a call for serious games to support the device. With plans already in the works to get Sim City open sourced and on the machine, OLPC content manager SJ Klein hopes that more serious titles will enable children to learn through play. Other sessions on Tuesday included a look at the Gatekeepers of indie content, suggestions on prototyping for indie developers, and what sounds like a humorously interesting presentation from Eric Zimmerman about milking the casual games cash cow.

cancel ×

36 comments

Sorry! There are no comments related to the filter you selected.

Games are important for younger kids (3, Insightful)

MichaelSmith (789609) | more than 7 years ago | (#18274358)

At kindergarten, everything is play for my four year old son, even if he is learning at the same time. He has access to computers at home, and uses them to play games, mainly flash applications on the web sites of popular characters.

So the younger you go, the more important game play is when you want to use software for education.

Re:Games are important for younger kids (1)

zoward (188110) | more than 7 years ago | (#18274450)

Amen to this. My 3-year-old's online adventures are currently limited to supervised visits to the Flash-based games portion of the pbskids.org [pbskids.org] website, especially the content for Curious George and Dragon Tales. It's a great way for him to learn keyboard, mouse and browsing skills - plus what he learns from the games et al on the site.

Re:Games are important for younger kids (1)

sumdumass (711423) | more than 7 years ago | (#18278682)

Learning through play isn't a bad idea in itself. What we have to watch out for is teaching them to learn through entertainment. If they becomes used to all the big shinny coins or the drama that pulls them into the game, regular studies like a school setting might seem too boring and uncomfortable for them. They might becomes deficient in their attention span.

I have noticed this happenging to some degree. Ever wonder why getting grounded from the TV or gaming consoles for not doing well in school made some improvment in the grades? I'm not saying these are evil but moderation acording to the kid's ability to cope is a key. We sometimes get overly impresed with the wizbang of learning games and end up making it more dificult for the kids later. I know a kids with ADD acording to the school who sole medicine was taking sugers from his diet and limiting his exposure to the TV and games to and how or so on the weekdays.

Great educational tools (1)

Max Romantschuk (132276) | more than 7 years ago | (#18274386)

While not a game, the TamTam music composition suite for the OLPC looks like a great app. The SynthLab sound editor is much like a modular synth, teaching audio physics and circuit design at at the same time. Check out this SynthLab video [wordpress.com] , good stuff.

I'd love to (2, Informative)

Punto (100573) | more than 7 years ago | (#18274702)

I'd love to develop games for the OLPC, if only there was a way for us (especially the indie developers, which is what GDC is supposed to be about) to get access to the machine. It seems like they're making an effort to keep it _away_ from us tho, so I'm not sure why they'd come out with this announcement.

Re:I'd love to (1)

jomas1 (696853) | more than 7 years ago | (#18274944)

I don't disagree with you about letting developers have access to the machine, but have you tried virtualizing the olpc desktop in qemu, vmware et al? http://wiki.laptop.org/go/OS_images_for_emulation [laptop.org] has some links of interest.

Is a virtual olpc not enough to get your games on a real olpc? I ask out of ignorance so please don't take offense.

Re:I'd love to (1)

Aladrin (926209) | more than 7 years ago | (#18275174)

As a developer, I can say that Virtual Environments are great for quick checks if the program still runs properly. Once you get to where you want to be -sure- the program runs, and tune its performance, you need the actual machine.

It's like saying, 'I've got this great product. I've never actually tried it, but I know it's great because I used my imagination.'

Re:I'd love to (1)

Punto (100573) | more than 7 years ago | (#18275592)

True. there are some 'physical' aspects too (it's portable, the screen flips in a bunch of ways, etc), plus the power consumption, the screen size/changing resolution, etc. you can't emulate all that.

Also I don't really care for this attitude of "you just contribute to the upstream packages and we'll get them into the machine". I know it's about "helping the children" and all that (and I appreciate, being from one of the supposed "launch countries" I've experienced our public education first hand), but a lot of people contribute to open source for their own "selfish reasons", and something like this would be a great incentive for them.

Re:I'd love to (1)

Calinous (985536) | more than 7 years ago | (#18275992)

No, the virtual OLPC (simulated) is nowhere near sufficient to check games. Not even the Sugar interface is not running real-time on emulation.

Re:I'd love to (0)

Anonymous Coward | more than 7 years ago | (#18276210)

I'd love to develop games for the OLPC, if only there was a way for us (especially the indie developers, which is what GDC is supposed to be about) to get access to the machine.

Oh, but there is. They are not selling the laptops to the public at large, but they are willing to make them available to contributing developers who are working on projects that require access to the actual hardware. If you are genuinely interested in developing for the OLPC and require a machine, you can read more here:

http://wiki.laptop.org/go/Developers_program#How_t o_apply [laptop.org]

I don't know the details of the exchange, but it's my impression that they provide the laptops for free, but ask for them back when you are done. I'd be surprised if they send them to anyone who doesn't already have working code, though.

How to get a free OLPC (0, Offtopic)

SimHacker (180785) | more than 7 years ago | (#18309454)

It would be a great idea to sell the OLPC retail to software developers and people in developed countries at a premium price to subsidize them for kids in developing countries. That was the most commonly request people made at the OLPC booth at the game developer's conference.

But the reason they aren't currently selling the OLPC retail yet is that it takes a huge amount of effort and overhead to manage something like that, and the OLPC organization is small and focused on delivering them to the target countries by the millions, at no margin. Managing retail sales would distract from the more important goal of rolling out the laptop to children.

Eventually some other organization might buy a million or so of them and sell them retail, but nothing like that is planned or announced yet, as far as I know.

It's not because they want to keep the laptop away from us, it's because they want to get them to the real target audience as soon as possible.

Software developers can send email to the project describing what software they want to port to it, and if you qualify they will send you one right away for free. I applied for one around christmas, to port SimCity, and it arrived by fedex in just a few days. I don't believe they will ask for them back, since the beta units will soon be obsolete anyway, after they make the next run of them.

They are however putting a lot of effort into making the software development environment available to external developers [laptop.org] , so you can develop software without having the actual laptop. You can install the software on a Linux system and run it much faster than it runs on the OLPC, because the "emulation" does not slow it down signifigantly, and your Linux box probably has a much faster processor and lots more memory than the actual machine. There is nothing special about the screen from a software point of view -- it's just a 1200x900 16 bit display from X11's point of view. Get your software running in the development environment on a regular Linux laptop, then make it run as fast as possible, and consume as few resources as possible. Once you can demonstrate a working application on the OLPC under emulation, and need to test it against the actual hardware, you chances of receiving an actual unit to test it on are much higher.

Here is why they are not for individual sale [laptop.org] , and here is information about where the Retail Sales Model fits into the whole concept of a $100 laptop [laptop.org] . This article describes why One Laptop per Child Has No Plans to Commercialize XO Computer [digital50.com] .

"The bottom line is that our mission is learning, not laptops. While we will be working with a commercial partner at some point for both machines and interesting parts--we've been looking at models where by the commercial side can help drive down the cost for the kids--our immediate priority is the non-commercial machine." -Walter Bender

-Don

SimCity (1)

Constantine XVI (880691) | more than 7 years ago | (#18274890)

A self-powered SimCity machine? I'd almost sell my freaking soul for that.
I wonder how receptive EA would be to letting out SimCity (classic or SC2K please) as OSS.
And no, LinCity doesn't count. It's not quite the same.

Useless comment... (0)

Anonymous Coward | more than 7 years ago | (#18275014)

Not quite the same? LinCity is about as far from SimCity as you can possibly get and still claim it's in the same subgenre. It's also one of the most unintuitive and confusing games I've ever seen. Agreed--No LinCity on OLPC, please.

SimCity for OLPC (0, Offtopic)

SimHacker (180785) | more than 7 years ago | (#18278238)

SJ Klein and I just had a productive meeting with Charles Norman at EA to discuss the details of SimCity for the OLPC, and it's looking very good! It's not officially announced or available yet, but EA is very supportive of the idea, and is just crossing their eyes and dotting their tease (or something to that effect), and Will Wright gave us permission to demonstrate SimCity on the OLPC at the game developer's conference.

If you're at GDC, please come by the OLPC booth at the expo and play with it!

I've done the first basic cut of porting the X11/TCL/Tk based multi player version of SimCity to run on the OLPC, and the next step is to integrate it with Python and Sugar in a deep way, that will make SimCity scriptable in Python, enable all kinds of interesting hooks and plug-ins, and result in a set of reusable general purpose components for building games.

For example, the next step I've taken is to rewrite pie menus in Python with Cairo and Pango, so SimCity and other applications can use them:
http://www.donhopkins.com/drupal/node/128 [donhopkins.com]

The point is not just to port a game to the OLPC, but rather to use SimCity and other games to drive the development of an open framework to enable and teach kids to program their own games!

The goal is to enable the open source community to renovate SimCity and take it in new educational directions, by applying Seymour Papert's ideas about constructionist education, Alan Kay's ideas about interactive user interfaces and object oriented programming, Ben Shneiderman's ideas about direct manipulation and info visualization, and many exciting ideas about multi player games, blogging, storytelling, game mods, player created content, and lessons learned from World of Warcraft, The Sims, Spore, etc.

Thanks to John Gilmore for getting the ball rolling by suggesting that EA make the original version of SimCity free for the OLPC, and for supporting the development of great free software and tools like GCC, and to Charles Norman for guiding the process through EA, educating people about open source, and making it actually happen, and of course to "Will Wright Code for Food" for creating SimCity it in the first place, and putting his Will Power into making SimCity open source for the OLPC project!

-Don

PS: Here is some stuff about the multi player X11/TCL/Tk version of SimCity:

Multi Player SimCity for X11 is now available from DUX Software!
http://art.net/~hopkins/Don/simcity/simcity-announ cement.html [art.net]

Screen snapshots:
http://www.donhopkins.com/home/images/SimCity-For- X11.gif [donhopkins.com]
http://www.donhopkins.com/home/images/SimCity-Indi go.gif [donhopkins.com]
http://www.donhopkins.com/home/images/SimCity-NCD. gif [donhopkins.com]
http://www.donhopkins.com/home/images/SimCity-Sun. gif [donhopkins.com]

X11 SimCity Demo Video:
http://www.donhopkins.com/home/movies/X11SimCityDe mo.mov [donhopkins.com]

Video Tape Transcript of X11 SimCity Demo:
http://art.net/~hopkins/Don/simcity/x11-demo.html [art.net]

Video Tape Transcript of Toronto Usenix Symposium Keynote Address:
http://art.net/~hopkins/Don/simcity/keynote.html [art.net]

Bedlam in SimCity:
http://www.art.net/~hopkins/Don/simcity/simcity-re view.html [art.net]

PPS: 15 years ago, before porting SimCity to X11, I ported SimCity to the NeWS window system using HyperLook: a HyperCard-like, PostScript-centric, component-based, user-customizable gui environment, which I hope will inspire the design of an even more powerful system for Sugar and OLPC applications based on Python and Cairo:

Screen snapshot of HyperLook SimCity:
http://art.net/~hopkins/Don/hyperlook/HyperLook-Si mCity.gif [art.net]

HyperLook SimCity Demo:
http://www.donhopkins.com/home/movies/HyperLookDem o.mov [donhopkins.com]

Video Tape Transcript of HyperLook SimCity Demo:
http://art.net/~hopkins/Don/simcity/hyperlook-demo .html [art.net]

Re:SimCity for OLPC (1)

Constantine XVI (880691) | more than 7 years ago | (#18278874)

So if I'm reading this right,
a) There is already a Linux-capable SimCity
b) We are talking about SimCity Classic
c) The end result will be OSS
d) It will be scriptable in Python
SInce you're pretty close to the project:
a) Are you going to keep it in Tcl/Tk, or is it a complete rewrite in Python and (insert toolkit here)?
b) Will this version be usable/portable outside of the OLPC (both leagally and technically)?
c) How faithful is this version to "reference" SimCity (Let's say either the Win31 or Mac versions)?

Re:SimCity for OLPC (0, Offtopic)

SimHacker (180785) | more than 7 years ago | (#18285728)

Great questions! I'll try to answer:

a) There is already a Linux-capable SimCity: Yes!

b) We are talking about SimCity Classic: Yes!

c) The end result will be OSS: Yes!

d) It will be scriptable in Python: Yes!

a) Are you going to keep it in Tcl/Tk, or is it a complete rewrite in Python and (insert toolkit here)?
The TCL/Tk version will be open source (GPL), so you can do what you want with that, but it's using an old hacked version of TCL/Tk circa 1992. It's stable and playable, but it would be a lot of work to upgrade it to the most recent version of TCL/Tk, and I believe the effort would be better spent converting it to Python and then working on that instead. I plan on porting it to Python by using SWIG, so it will be possible to plug it into other languages that SWIG supports, like Lua.

b) Will this version be usable/portable outside of the OLPC (both leagally and technically)?
The TCL/Tk version will legally and technically run outside of the OLPC. The Python version that I'm developing will use libraries like GTK, Cairo and Pango which run on the OLPC and also work well on other platforms, but it will also use some other libraries that only make sense on the OLPC. The primary goal of my efforts will be supporting the OLPC, but other people can work on supporting other platforms, or even porting OLPC specific libraries so they work on other systems.
c) How faithful is this version to "reference" SimCity (Let's say either the Win31 or Mac versions)?
It's faithfully based on the original Mac version of SimCity "Classic" (before they added the word "Classic" after releasing SimCity 2000). I also have the old terrain editor code, which would be nice to update and integrate into the new code base. It would be great to dig up the old tile sets (European city, moon city, etc), but I don't currently have a copy of them. I have cleaned up and reorganized the code a lot, fixed some bugs, optimized the hell out of it, and replaced the random number generator. I've totally rewritten the user interface and graphics code. But functionally the simulator and is almost exactly the same as Mac SimCity. The save file format is the same, so you can use Mac and PC cities. The only change to the simulator that I can remember was to make the helicopter attracted to the monster so it blows up more often!

-Don

You can learn from games (0)

Anonymous Coward | more than 7 years ago | (#18274998)

There are definitely some games with seriously limited redeeming value, like Space Invaders. Sure, you can work on your reactions and figure out a few basic strategies, but that's about it. But there are other games that you really can learn a lot from as a young kid. When I was using my C64, I found that games like Zork, MULE, Strip Poker, Ultima IV, were not only fun but also exposed me to a lot of things I hadn't known or thought of before.

Re:You can learn from games (1)

jomas1 (696853) | more than 7 years ago | (#18275064)

There are definitely some games with seriously limited redeeming value, like Space Invaders. Sure, you can work on your reactions and figure out a few basic strategies, but that's about it. But there are other games that you really can learn a lot from as a young kid. When I was using my C64, I found that games like Zork, MULE, Strip Poker, Ultima IV, were not only fun but also exposed me to a lot of things I hadn't known or thought of before.
The way I see it, an open Source Space Invaders would be a better tool than Ultima or even etoys/Squeak since an interested child can look at the source (assuming the show source button still exists on the OLPC) of Space Invaders and understand how this game works a lot more easily than they would be able with a game like Ultima.

Re:You can learn from games (0)

Anonymous Coward | more than 7 years ago | (#18277084)

an interested child can look at the source of Space Invaders and understand how this game works
Agreed. Probably half the type-in programs in early-80s computer magazines were Space Invaders clones-- but you learned something about programming in the process.

In fact, they should get rid of all that fancy-pants wireless stuff and make the kids type in their programs out of magazines. They might actually learn how to code.

Re:You can learn from games (1)

jomas1 (696853) | more than 7 years ago | (#18277534)

an interested child can look at the source of Space Invaders and understand how this game works
Agreed. Probably half the type-in programs in early-80s computer magazines were Space Invaders clones-- but you learned something about programming in the process.

In fact, they should get rid of all that fancy-pants wireless stuff and make the kids type in their programs out of magazines. They might actually learn how to code.
Magazines have been replaced by the web for many so I think the fancy-pants wireless stuff is necessary to get these kids with OLPCs some source material.

Re:You can learn from games (1)

drinkypoo (153816) | more than 7 years ago | (#18277914)

I would go so far as to say that most of the games on the system should be implemented in the Squeak [squeakland.org] environment, which will be provided on the OLPC. For those who don't know and are too lazy to link surf, Squeak is the latest descendant of Smalltalk developed by Alan Kay (and a host of others.) It's designed very much from the standpoint of education. It has a lot in common with logo; every graphical object is a "turtle" and besides being able to set its position you can rotate it, move it forward and back turtle-style, draw lines with it, etc. The typical demo is to draw a car and click the forward box in its properties to make it start moving forwards, then to click left and right to make it turn. Then you draw a steering wheel and when you turn it you can see its rotation number go up and down in the little properties box. You can actually drag that number over to the turn amount for the car and bingo! You can steer it. It's very very friendly, but you can drop into the code interface and you get access to all the power that is smalltalk, not that I know jack diddly about that language yet. But Squeak always runs in a VM so you can count on applications running the same on all supported platforms, at least to a much much higher degree than Java... In fact Java came out of the Smalltalk project in a way. It was an attempt to solve the same problems - an unnecessary and misguided attempt, perhaps :)

Re:You can learn from games (1)

SimHacker (180785) | more than 7 years ago | (#18311198)

Squeak and eToys are currently included with the OLPC. And it is a wonderful way for kids to learn to program games, as well as for programmers to learn about Alan Key's revolutionary ideas! It's purpose is to inspire people, expose them to Smalltalk's unique ideas, the possibilities of visual programming systems, and point the way for future development. But the mainstream of software development on the OLPC will be done in Python.

Guido Van Rossum [artima.com] writes about Alan Kay's talk on his blog:

Alan also talked about the $100 laptop project; he is on the OLPC advisory board. Apparently Python is specifically involved. There was little Python content to Alan's talk, which is fine by me -- Keynotes like this one are supposed to challenge or tickle the audience, not necessarily to confirm their world view. Alan did end by expressing the hope that a system like he demonstrated will be implemented in Python; apparently (or just for the occasion :-) Alan believes that Python has a much larger mindshare than Smalltalk or Squeak, and that because of this a similar environment in Python will have a greater chance of succeeding than the current Squeak one. Also, the $100 laptop already has Python, and Alan is of course hoping that a Squeak-like environment will be part of it, so this appears expedient. (At the Shuttleworth summit in April I believe Alan also suggested that Squeak is suffering from its extremely simple graphics model; apparently it cannot benefit from graphics accelerator cards because of its platform-independent architecture. [Update: this is incorrect, see responses below.] Python on the other hand already has bindings to OpenGL and DirectX, for example.)

The idea is to re-implement the ideas of Squeak and other educational constructionist visual programming systems in Python, deeply integrated with the OLPC's Sugar user interface, and based on its libraries like GTK/Cairo/Pango, etc. Alan Kay writes [gmane.org] on the Sugar mailing list:

Guido knows that I've been advocating that the Python folks should do Etoys or a very Etoys like environment in Python (and that the rest of the OLPC be given an objectification and media and scripting integration that is Etoys like).

However, there are simply zillions of things left to be done everywhere for OLPC so the first round of SW on the XO will be more of a gathering of "suggestive" features and abilities (of which Etoys is just one). That seems fine to me.

Viewpoints Research (our little non-profit) doesn't have any "ego or identity" staked around whether the children's authoring environment is Python based or Squeak based. I have said many times that, if the general integrative base of XO is to be Python, then the Etoys-like authoring should be based in Python also.

However, I will personally fight to the death to make sure that there is a children's authoring environment that allows even young children to do simulation style programming with very rich media objects.

For now, that is Etoys. It could be a suitable object-oriented Logo with media objects (this is essentially what Etoys is). It could be some better design (let's do one). The base could be Javascript (if implemented on top of an integrated environment of sufficient power), Python (ditto), Ruby (ditto), etc. Whatever it is, it has to be above high thresholds, not a hack or a gesture.

Besides the programming the children use to learn important ideas in math and science, they also need to be able to see how their own computer world is structured by being able to "pop the hood" on practically everything they use. Perhaps it is OK for high school children to see the current code (but I don't think so). I think there needs to be a wrapping on the entire set of facilities that uses the same conventions that 9 year olds do their own programming in. Again, if it is to be Python, then it needs to be crafted a bit for younger children. E.g. Etoys allows easy unlimited parallel tasking, and this is very important for children's programming. Etc.

There are many good things that can be done here. We live in a computing world in which there is a tremendous amount of identification between many programmers and the tools they use -- so strong that it resembles religious fervor. From my view, ALL of the system have such flaws that we are better off being critical of all of them and try to use the best ideas from everywhere.

If "Children First!" is really the goal here, then we must spend most of our energies trying to make the childrens' environments more conducive to creative learning of powerful ideas.

Cheers,

Alan

eToys is not the only system of its kind: Smalltalk and Logo have evolved and inspired many other wonderful systems, which should also influence the design of the OLPC's visual authoring and game development environment.

The following two papers that I highly recommend cover a lot of interesting visual programming and simulation systems, which are well worth knowing about.

Kurt Schmucker (inventor of the C++ Barf Bag ;-) at Apple wrote "A Taxonomy of Simulation Software":

http://www.donhopkins.com/home/taxonomy.pdf [donhopkins.com]

Tim Smith at Anglia Polytechnic University in Essex wrote "A review of simulated and micro-world environments":

http://www.ultralab.net/projects/etui/development/ project/deliverables/3_1.html [ultralab.net]

-Don

Re:You can learn from games (1)

drinkypoo (153816) | more than 7 years ago | (#18317751)

eToys is not the only system of its kind: Smalltalk and Logo have evolved and inspired many other wonderful systems, which should also influence the design of the OLPC's visual authoring and game development environment.

It may not be the only system of its kind, but it is the one with the most currency (and I don't mean cash.)

Re:You can learn from games (1)

LingNoi (1066278) | more than 7 years ago | (#18285946)

"...and understand how this game works a lot more easily than they would be able with a game like Ultima."

You should check how old Richard Garriott was when he wrote Ultima.

Another thing you kind of missed. If no one is interested in the game. No one is going to view the source. That point is pretty much universal with open source anything.

Re:You can learn from games (0)

Anonymous Coward | more than 7 years ago | (#18278778)

I found that games like Zork, MULE, Strip Poker, Ultima IV, were not only fun but also exposed me to a lot of things I hadn't known or thought of before.

I'm sure you were exposed to things you hadn't known before!

how about (1)

mastershake_phd (1050150) | more than 7 years ago | (#18275186)

How about Civilization?

I wonder... (1)

RoffleTheWaffle (916980) | more than 7 years ago | (#18275190)

Does anyone here think those things can run Spring?

Re:I wonder... (1)

drinkypoo (153816) | more than 7 years ago | (#18277858)

You'd probably need to write a different renderer, a much simpler one. But it's not inconceivable. I don't know how much more complex the internals of spring are as compared to total annihilation, but TA ran like a CHAMP on a P2-233... Keep in mind that the color resolution of the system is very low, so you might conceivably want to go to a B&W renderer, although I'm not sure what the refresh rate on the monochrome display is like.

Color rez and monochrome invisible to software (1)

SimHacker (180785) | more than 7 years ago | (#18309106)

The software sees the screen as a 1200x900 16 bit color framebuffer (and draws on it via X11). There is a button that rotates the screen, and the software does notice the aspect ratio changing between 1200x900 and 900x1200, thanks to window resize events propogated through the window manager. The hardware automatically converts it to monochrome and reduces the color resolution (called "swizzling"). So the color/monochrome "mode" is invisible to the software. You just keep drawing in color at the same full resolution, and the user can switch between reflective monochrome, and color with various brightnesses. So a 3D renderer would just draw in full color, and not concern itself with the monochrome mode or down-rezing the color. I don't know what the refresh rate is, but it look solid and animates smoothly.

-Don

ob (1)

Mipoti Gusundar (1028156) | more than 7 years ago | (#18275682)

Even playing the games can now be outsource. I for one will be welcoming our bangalore based tetris champinon overloads!

This must be stopped (1)

Dobeln (853794) | more than 7 years ago | (#18276760)

The fewer games on the OLPC, the faster the third world can catch up to the drooling, screen-confined first ;)

Pygame (1)

Garrett Fox (970174) | more than 7 years ago | (#18277162)

Will this have the ability to run Pygame [pygame.org] , the main game toolkit for Python?

On a different note, Vernor Vinge's recent novel Rainbows End says something about a popular online game that's an obvious knockoff of a certain pocket monster game, mentioning that some of the creatures involved were designed by Third World kids. Maybe we'll see the OLPC spawn some kind of loose-protocol indie game vaguely comparable to GURPS.

Multiplayer (1)

zdc (1064870) | more than 7 years ago | (#18280882)

These things are all mesh-networked together; focus on multiplayer.

Simple games like chess and checkers are great ways to both kill time and exercise your brain - and are best played with another person. Sure classics like a Number Munchers equivalent and Sim City would be great, and should be explored as well. I personally think that a lot of kids - hell, people in general - gain a lot of determination to improve through competition.

As previously mentioned in another post, the simplicity of the source code of these games would let children who are interested in programming understand what is being done. Adding the additional network component, as well, would prepare them for our highly-networked world.

Re:Multiplayer (1)

ajs318 (655362) | more than 7 years ago | (#18287040)

Agreed. A two-player chess game (or draughts, or backgammon; hell, even Snakes and Ladders or Ludo for that matter) over the built-in wireless link-up is almost a no-brainer. You already get a menu of "people nearby", so one of the options should be to play a game with someone! If the person you've chosen to play against hasn't got the game client (actually, it's behaving as a server whenever it's that player's move, but let's not split hairs) installed on their machine, you just upload it to them automatically.

Apart from transferring the client code (which need only be done once, unless it ever has to be deleted to save precious storage space; maybe this will teach kids a few lessons about resource management) the actual protocol can be quite lightweight once a game is in progress. Every client keeps a local copy of the game's state, and only the player who is making their move ever needs to transmit any data. A single player's move in chess could be reduced to 12 bits: three each for the starting rank, starting file, destination rank and destination file. In practice, you would probably need more bits to allow for non-standard moves (like setting up a starting position so as to resume an interrupted game).

There's a lot of reusable material common to all board and card game implementations, which belongs in a library; the actual logic to implement the rules of a game would be tiny. And if all this is being written in Python, then it oughtn't to be too hard to write whole new games. Nothing you couldn't already do with the side of an old grocery carton and some felt-tip pens, but easier to share the results.

Re:Multiplayer (1)

SimHacker (180785) | more than 7 years ago | (#18311326)

Developing reusable libraries that kids can use to write their own game is just what the OLPC project needs. It's best to write the libraries in pure Python, if performance isn't an issue. High performance libraries should be written in C or C++, and packaged as Python modules. The preferred way of drawing is with the Cairo library, which you can call from Python. You can also write C modules that get passed a Cairo context that they can draw with.

In the case of SimCity, I'm planning on factoring it out into reusable components, like the tile engine (written in C since it must deal with a lot of pixels and run fast), the sprite engine (which would be easiest to write in Python since it will simply call Cairo to do the rendering), map overlay (Python, for the same reason), graph display (ditto Python), etc. Then it will be possible to use those components in other games and toys, like using the tile engine for a cellular automata lab.

The OLPC needs all different kinds of game toolkits to support various games geanras, like a card game toolkit, a board game toolkit, a platform game toolkit, a space invaders game toolkit, a pong game toolkit, a simcity game toolkit, etc.

Pygame will be a useful imaging library, especially for full-screen bitmap-oriented and 3d games. But games that require user interface components and scalable outline graphics will be easy to draw with Cairo. It would be great to be able to draw in a pygame full screen context with Cairo, to have the best of both worlds.

-Don

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>