Slashdot Mirror


GDC: The OLPC Project And Games

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.

26 of 36 comments (clear)

  1. Games are important for younger kids by MichaelSmith · · Score: 3, Insightful

    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.

    1. Re:Games are important for younger kids by zoward · · Score: 1

      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 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.

      --
      "Can't you see that everyone is buying station wagons?"
    2. Re:Games are important for younger kids by sumdumass · · Score: 1

      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.

  2. Great educational tools by Max+Romantschuk · · Score: 1

    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, good stuff.

    --
    .: Max Romantschuk :: http://max.romantschuk.fi/
  3. I'd love to by Punto · · Score: 2, Informative

    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.

    --

    --
    Stay tuned for some shock and awe coming right up after this messages!

    1. Re:I'd love to by jomas1 · · Score: 1

      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 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.

    2. Re:I'd love to by Aladrin · · Score: 1

      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.'

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    3. Re:I'd love to by Punto · · Score: 1
      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.

      --

      --
      Stay tuned for some shock and awe coming right up after this messages!

    4. Re:I'd love to by Calinous · · Score: 1

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

  4. SimCity by Constantine+XVI · · Score: 1

    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.

    --
    "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
  5. Re:You can learn from games by jomas1 · · Score: 1

    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.

  6. how about by mastershake_phd · · Score: 1

    How about Civilization?

  7. I wonder... by RoffleTheWaffle · · Score: 1

    Does anyone here think those things can run Spring?

    1. Re:I wonder... by drinkypoo · · Score: 1

      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.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  8. This must be stopped by Dobeln · · Score: 1

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

  9. Pygame by Garrett+Fox · · Score: 1

    Will this have the ability to run Pygame, 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.

    --
    Revive the Constitution.
    1. Re:Pygame by Richard+Jones · · Score: 1

      Google sez: http://wiki.laptop.org/go/Pygame

      And: http://permalink.gmane.org/gmane.linux.laptop.olpc .sugar/1568

      So I believe the answer is "yes" and there's also some cool software to run under it.

  10. Re:You can learn from games by jomas1 · · Score: 1

    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.
  11. Re:You can learn from games by drinkypoo · · Score: 1

    I would go so far as to say that most of the games on the system should be implemented in the Squeak 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 :)

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  12. Re:SimCity for OLPC by Constantine+XVI · · Score: 1

    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)?

    --
    "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
  13. Re:You can learn from games by LingNoi · · Score: 1

    "...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.

  14. Re:Multiplayer by ajs318 · · Score: 1

    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.

    --
    Je fume. Tu fumes. Nous fûmes!
  15. Color rez and monochrome invisible to software by SimHacker · · Score: 1

    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

    --
    Take a look and feel free: http://www.PieMenu.com
  16. Re:You can learn from games by SimHacker · · Score: 1

    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 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 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 th

    --
    Take a look and feel free: http://www.PieMenu.com
  17. Re:Multiplayer by SimHacker · · Score: 1

    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

    --
    Take a look and feel free: http://www.PieMenu.com
  18. Re:You can learn from games by drinkypoo · · Score: 1

    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.)

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"