Projects/Flash Gamedev

From OLPC
< Projects
Revision as of 05:40, 7 October 2008 by Object404 (talk | contribs)
Jump to: navigation, search

Welcome to the Flash as a Gaming/Edu-Gaming Platform for the XO-1 project

XO-1 as a Target Platform for Flash Gamedev

  • With regards to performance as a Flash dev platform, it is pretty similar to a desktop with an AMD K6-2 450MHz CPU, 256MB RAM + Win98.
  • Again with performance, the XO-1 is more similar to a Flash Lite-enabled device than modern laptops
  • Because of the limited CPU & memory, application development methods will be very similar to producing content for Flash Lite which runs on devices with limited CPU & Memory.

As long as developers optimize their apps, the XO-1 is a good environment for Flash as a dev environment because of Flash's small CPU & memory footprint.

During testing, Flash Lite 2.0 content (which is based on Flash 7) ran decently on the XO -- performance was very similar to 330MHz Nokia S60 phones with the Adobe Flash Lite 2.0 player.

Due to limited CPU specs, XO-1 units also resemble thin clients. As such, browser-based games may be ideal for development. Flash would offer excellent rich interactivity on browsers in this case.

The XO-1 Game Buttons

The XO-1 game buttons can easily be bound for Flash games because they're simply rebindings of typical keyboard cursor keys and the corner keys of the numeric pad. This makes the XO-1 very suitable as a gaming platform in e-book reader configuration.

Gnash

  • The default installed Gnash has no sound with SWFs (Flash uses MP3s for sound and the default shipped Gnash doesn't come compiled with MP3 libraries because of licensing restrictions)
  • The version of Gnash on Update.1 711 renders some AVM1 Actionscript 1.0/2.0 (Flash 8 & below) content wrong - will evaluate the version of Gnash that ships with 8.20. Testing 8.20 livecd ISO on a virtual machine showed that scripting is more accurate.
  • Gnash does not emulate the AVM2 (Actionscript Virtual Machine 2) found in Flash 9 and above.

This makes it a little less ideal target platform for OSS Flash dev - AVM2 content provides better performance and will allow for richer content & experiences.

  • Currently doing further testing for compatibility of Flash Lite content. Flash Lite content uses AS 2.0 and is patterned after Flash 8 and below.

Open Source Flash Development Tools

For Linux, check out: http://osflash.org/linux

For Windows-based development, the popular Flashdevelop AS Editor + Free Adobe Flex SDK 3 + Sun's JDK 6 can be used to output AS3 AVM2 SWF files.

Optimizing Apps for the XO-1

- to be added: Flash content optimization tips

Official Adobe Flash Browser Plugin

  • Users may want to install the Adobe Flash browser plugin instead of Gnash which is packaged by default.
  • This allows SWFs authored in AS 3.0 to Flash 9/10 content to run.
  • Since AS 3.0/AVM2 offers significantly better performance than AS 1.0 & 2.0 AMV1 content, Flash 9/10 AS 3.0 AVM2 output may be a better target for developers wanting to provide more compelling content.

Direct link to the latest versions:

Adobe Flash on Opera

When we installed Opera 9.52 (desktop version runs w/o a hitch on the XO aside from needing to launch it from the terminal), it ran even better -- Flash performance in Opera is much better than in the XO's default Browser.

Opera therefore, is an ideal environment to do Flash content on for the XO-1. (or perhaps Firefox 3? Still need to test out FF3).

Direct links to the latest stable version of Opera (9.52)

OLPC Skin for Opera:

Beause of a conflict with the Rainbow security and Sugarization, Opera 9.52 has to be run from the terminal. Open up the terminal then type 'opera'

What's needed:

  • A new Sugarized Activity icon that does not conflict with the XO's Rainbow security
  • An Activity icon to launch the browser with specific local html as the default content as a method for launching flash apps.

Adobe AIR

  • testing needed

General Installation

Installing by .rpm file

Open your terminal activity on the Activity panel below your Sugar desktop or press Ctrl+0

Type the following commands:

su
wget <url of rpm file to be downloaded>
rpm -vi <rpm file>
exit

Project Members

Relevant links

Adobe Flash player plugin on OLPC XO-1:

Gnash on the OLPC XO-1:

Slashdot Discussion - GDC: The OLPC Project And Games

Gamasutra - SJ Klein asks for serious OLPC gaming content