Gaming

You are currently browsing the archive for the Gaming category.

Yes, really!  I was having a look around over on the Power Developer Forums and saw this topic:

New PPC Linux Game - Please Test!
(link corrected)

OK, so I’m a bit late — the original post is dated Jul 29, 2006.  Better late than never, though. ;)

The game is “Robin Hood : The Legend of Sherwood,” a strategy game based on the popular legend. What surprises me is that not only do they have a Linux version — it’s also available for PowerPC Linux. And even better — it is easily installed and seems to run perfectly on Yellowdog Linux 6.1 for the Playstation 3.

Demo version download and installation info is here:

http://www.greyhound-data.com/gunnar/robinhood/index.htm?page=downloads

I simply followed the directions there and the demo version started with no problems on my PS3 with YDL 6.1. It loaded at 800×600 in full screen mode on my 720p (1280×720) display, complete with sound and music. The highest resolution available on the options screen was 1024×768 — a little too much for my screen — but 800×600 looked great anyway.

Here’s a screen shot:

Robin Hood screenshot

Quoting Gunnar von Boehn (gunnar) from the Power Developer forum:

http://www.powerdeveloper.org/forums/viewtopic.php?p=3949#3949
If you like this game (or if you like to have games for PowerPC linux at all)
then please express this loudly!

The reality is that Linux games are no big cash cows.
The Linux game market is small. Few companies regard PPC Linux a worthwile market.
Genesi is helping here and works on getting more games ported to the PPC platform.

But at the end of the day, companies need to see that customers want PPC titles. If you like this game or any game on PPC then express this and contact the companies. 

Not long after that post, Sony released the Playstation 3 with the ability to install PPC Linux.  As most know, there are some limitations — we don’t have direct access to the RSX for accelerated 2D/3D video, and we don’t have 2 GB of RAM to play with — just around 256 MB, a portion of which is used by the frame buffer.  We also have to deal with a limited hard drive partitioning scheme — 10 GB to the Game OS and the rest to the Other OS (Linux), or vice versa.

Fortunately, even using only 10 GB of your hard drive space for Linux, this doesn’t prevent you from using your PS3 for general computing purposes or playing many of the great Linux games and emulators available.  And thanks to the latest release of YDL 6.1 (and other distros such as OpenSUSE) it’s now easy to use the video RAM for additional swap space — greatly improving performance under heavy loads.

I can see where Sony would be concerned that gamers might purchase the PS3 and use only Linux, not buying any PS3 games (where I presume the “real money” is), but I don’t think this is usually the case.  Anyone reading my blog or forum posts can see I have an interest in running Linux games and emulators on my PS3, but this hasn’t stopped me from buying all the latest releases of PS3 games when I can afford it.

As I see it, the ability to use Linux on the PS3 with no “hacking” required is a great addition to the console.  I still play Warhawk, Little Big Planet, Saint’s Row 2, Grand Theft Auto, jump on Home occasionally for a chat, but also enjoy switching over to Linux for a change.  I regularly use my PS3 with YDL 6.1 installed to browse the web with Firefox, check emails, use the instant messenger, play Linux games and emulators, watch movies and listen to music, and enjoy “hobbyist” programming with Python + Pygame.

So I’d love to see more games for PowerPC Linux that run well on the PS3, and I don’t believe Sony or game developers stand to lose.  Robin Hood : The Legend of Sherwood is a prime example of what can be done even on the limited resources of PS3 Linux.  And it wasn’t even tailored to run specifically on the PS3 — it makes no use of the Cell Broadband Engine’s SPEs and doesn’t make use of wide-screen resolutions like 720p.

I haven’t spent much time with the demo version of Robin Hood yet, but from what I’ve seen so far it’s something I’d consider buying.  The full version of the game is available for purchase at www.rune-soft.com.

EDIT:  After playing with the demo a bit more, I decided to try running at 640×480 instead of 800×600.  It will run fine at 800×600 or 1024×768 but seems a bit sluggish.  I also increased my screen resolution for YDL to 1280×1024 (I’m using a projector) and ran the game scaled 2x using the SPE scaler tool.  The result — great speed and an almost full screen mode at 1280×960 on a 1280×1024 display.

I modified the startup script for the game to automatically start/kill the scaler so it’s all automated like this:

#!/bin/sh

cd "/home/bill/robinhood_demo"
scaler -s 2 -t 10000 & ./robin_demo
killall scaler

I found a great tool for PS3 Linux that uses a single SPE to zoom in on the center of the screen by a factor of 2X, 3X, or 4X. This helps when running many different games or emulators since you can run at the original resolution (much faster than scaling done by the application) and the scaler tool, using one of the SPEs, takes care of enlarging it.

Here’s where you can get the source (translated page): link to “miya’s Diary” post

direct link to scaler.tar.gz

Applications I have used it with so far are Quake 2, QEMU running Windows 95 / Diablo-Hellfire, VICE (C64), snes9x-gtk, and sdlmame.  Screenshots can probably explain this better than I can, so …

snes9x-gtk running a game at the original resolution:

about to start scaler:

photo of scaler running — snes9x-gtk is still running the game at the original resolution, but scaler has zoomed in on the center of the screen (3X):

Here’s one way to set it up … download the scaler.tar.gz file (which includes source & a binary), save to your desktop and extract it, then copy the included scaler binary to your /usr/local/bin folder:

cd ~/Desktop
tar -xvf scaler.tar.gz
cd scaler
sudo cp scaler /usr/local/bin

Or to compile it on YDL 6, just enter make from the scaler folder.  I had to install some additional development libraries on my system  — this might take care of getting them all:  yum install *spu* *ppu*

There are many different ways this tool can be used … for example, you can include it in a script to start Quake 2 like this:

#!/bin/sh
scaler -s 3 -t 3000 & quake2.sh
killall scaler

The -s switch tells it how much to scale, and the -t switch tells it how long to run.  Running Quake 2 at 320×240 on a 1280×720 screen would normally result in the game screen being very small, but fast (about 150 FPS 94 FPS timedemo) on the PS3.  Using scaler you can run it at 320×240 with 3X scaling so it displays at 960×720 and still runs at 150 FPS around 90 FPS (timedemo test), whereas if you run Quake 2 normally at 960×720 you get around 25-30 FPS.  Or course it looks better when Quake is actually running at 960×720, but the additional speed you get from running it at 320×240 and using scaler is great!

Or you can set it up so you can zoom in on the screen at the press of a key using custom keyboard shortcut commands in GNOME.  See here for info on setting up custom commands:

Create custom keyboard shortcuts in Linux

EDIT:  You’ll need to install gconf-editor for this — yum install gconf-editor

I set mine up so I can use F9, F10, F11, and F12 to scale 2x, 3x, 4x, or turn scaling off.

EDIT:  Hmm… it seems that was a poor choice of keys, though… ;-)

EDIT:  Here’s a post that describes how you can set up the keyboard shortcuts for the scaler tool in more detail:

http://pleasantfiction.ipower.com/bodega/viewtopic.php?p=735#p735

I’ve been testing the limits of what Windows games can run via QEMU’s x86 emulation on the PS3. At first I tried Windows 98 but it turns out that Windows 95 seems to make things run a little snappier. And most of the Windows games that will work should run on 95 anyway…

I have installed Diablo + the Hellfire expansion with 1.01 update and that’s running very well. There’s a bit of stuttering in the cutscene videos, but gameplay is perfectly smooth and of course the atmospheric music is great.

Diablo on QEMU

Instead of worrying with the CD every time I want to play, I made an .iso file of it and play from that instead. To create an .iso file of a CD on Linux, you use this command:

dd if=/dev/cdrom of=/path/to/cdrom_image.iso

Where /dev/cdrom is the device name of your CD ROM drive. It appears the CD need not be mounted for this procedure. For example, to make an .iso of my Diablo CD, I said:

dd if=/dev/cdrom of=/media/apricorn/diskimages/diablo.iso
(/media/apricorn/ is the path where I have a USB hard drive mounted)

Assuming you’re able to get Windows 95 up and running on QEMU, the process for installing Diablo is simple — just install like you normally would on Windows. DirectX is included on the install disk, too, so you can install that at the same time.

Installing the Hellfire expansion is equally straightforward. You do need to change CD’s though, and this is where using .iso files makes things much easier.

While QEMU is running Windows 95, you hit Ctrl-Alt-2 to bring up the QEMU monitor. At the (qemu) prompt, type:

eject cdrom

change cdrom /path/to/your.iso

For example, to eject the diablo.iso (”cdrom”) and insert the hellfire.iso (”cdrom”) while QEMU is still running Windows 95, I use:

Ctrl-Alt-2 (that’s the number 2 key, NOT the F2 key)

eject cdrom

change cdrom /media/apricorn/diskimages/hellfire.iso

Ctrl-Alt-1 (to change back to the normal QEMU window where Windows 95 is running).

The ability to change .iso files / cdroms while QEMU is running is critical when installing games that require more than one CD.

Other games I have tried on QEMU (some of these screenshots are from Fedora 7 PPC on PS3 instead of YDL, but they run the same on YDL, and some were done on YDL 5.x):

Starcraft QEMU

Starcraft — A little stuttering in cutscene videos, but otherwise appears to run OK. I didn’t play beyond the first level.

Thief — Menus, music, and in-game sound are all OK, but WAY TO SLOW to be playable (1 frame per second or less). I didn’t have any hope for this one working anyway, but you never know …

Robert E. Lee: Civil War General — This no longer runs on Windows XP, but runs fine on QEMU on PS3.

Duke Nukem 3D — A bit slow, but playable. A much better alternative is running the Duke Nukem 3D source port for Linux (an RPM for it is on my downloads page — full version game data is required). I had to compile QEMU with Adlib soundcard support for sound to work properly, but maybe I just needed to install a Sound Blaster driver for DOS instead.

Rise of the Triad — Also a little slow but playable. There’s a source port for this one on www.icculus.org but it requires some work to get it running properly. I haven’t made an RPM for this one yet, but I intend to make one.

PokerStars client — Running on Windows 98 on QEMU. Slow to start up but was playable. I only tried this once at the request of someone else, so I don’t know if the latest version of the client still works on QEMU on PS3.

Blasteroids (DOS) — Runs fine if I recall correctly.

Diablo II — Almost! But too slow to be considered playable. I didn’t have any in-game sound, either.

Reference links:

http://www.wikihow.com/Create-an-ISO-File-in-Linux

How to: Install Windows 98 on your PS3 (Yellow Dog Community Board)

http://bellard.org/qemu/user-doc.html

[Edited 7-1-08:  Updated link to QEMU user-doc (site moved)]

I recently discovered a recreation of Bioware’s Infinity Engine which runs Baldur’s Gate 2, IceWind Dale 1 and 2, and Planescape Torment. The project, named GemRB (”Game engine made (with) (pre)Rendered Background”), is still in alpha and the games aren’t fully playable, but it looks promising!

With a little work and some help from the GemRB discussion forum I was able to get it running on the PS3 under Yellow Dog Linux 6. Here are some screenshots of Icewind Dale running on my system using gemRB:

screenshot1 screenshot2

There were no performance issues on the PS3 — the game appears to run at full speed. The sound effects are perfect, but I have not yet been able to get the music to play. There isn’t much to do in the games at this time since a number of features haven’t been implement yet, but it’s great to see an engine for these games running on the PS3.

For more information, check out the GemRB wiki and the Sourceforge project homepage. The GemRB discussion forum can be found here.

If you want to try it yourself, be sure to grab the latest source from SVN. Here’s a basic howto:

1. Open a terminal window and create a folder where you’d like to download the source. For example, I use a build folder in my home directory:

mkdir build

2. Change to your new folder and download the source with this command:

cd build
svn co https://gemrb.svn.sourceforge.net/svnroot/gemrb/gemrb/trunk gemrb

3. Change to the gemrb source folder and run autogen.sh to prepare for compilation:

cd gemrb
./autogen.sh

You may need to install additional libraries on your system — the configure script should point these out.

4. Run make and make install. This will compile gemRB and install it in a GemRB folder in your home directory. You can run both commands on one line like so:

make && make install

5. Change to your new ~/GemRB folder and edit GemRB.cfg.sample. To set it up for Icewind Dale, I made the following changes and saved it as GemRB.cfg in the ~/GemRB folder:

GameType=iwdGameName=Icewind Dale   

GamePath=/media/apricorn/gatedata/icewind/   

CD1=/media/apricorn/diskimages/icewind1/   

CD2=/media/apricorn/diskimages/icewind2/cd2/   

PluginsPath=./plugins/   

EndianSwitch=1

The GamePath is a folder where I copied a complete install of Icewind Dale from a Windows PC (you can install Icewind Dale on Windows via QEMU if necessary), and the CD1 and CD2 folders are where I copied all the files from the two install CDs. The EndianSwitch=1 is necessary for game to run properly on the PS3.

6. Finally, run gemrb. I had to “hide” the music folder from gemrb because it crashed when attempting to play the music at the title screen. Also on my system I don’t have a /dev/dsp — it is /dev/dsp1 instead, so I made a symbolic link to /dev/dsp1.

Renaming the music folder:

mv /media/apricorn/gatedata/icewind/music /media/apricorn/gatedata/icewind/music.bak

Making a link to /dev/dsp1:

sudo ln -s /dev/dsp1 /dev/dsp

Starting gemrb:

cd ~/GemRB
./gemrb

 

That’s right!  An upcoming patch for Lair, a poorly rated PS3 game due to it’s forced sixaxis control scheme, will allow players to use anal…og controls instead.  :)  I can’t imagine why they didn’t do this in the first place.  Maybe I’ll consider buying this one now.  According to the news over at IGN, this may show up around April 17th.  Coincidentally, I believe the new Playstation Store interface is also supposed to be available on the 17th.

“They’re adding WHAT?!?” 

How did this one slip past me?  I was browsing through the gaming magazines in the bookstore today and saw a Highlander game mentioned in GamePro.  See screenshots on the www.gamepro.com site, and here’s a producer interview over on ps3.ign.com.  The official site for the game can be found on Eidosinteractive.com (Flash player required).

Being a big fan of the first movie and the TV series I’m looking forward to this one!

I went out to the mailbox yesterday — something I don’t do very often because that means I have to put on pants — and found the March 2008 issue of GameInformer* waiting for me.

I was just flipping through, reading about the upcoming PS3/Xbox360/PC game Aliens: Colonial Marines, when I turned to page 52 and was presented with one of the scariest and most disturbing game screenshots I have ever seen in my entire life! Is that an alien hoo-ha I see there? An extraterrestrial va-jay-jay? Let’s zoom in for a closer look. Wow. I can’t wait to see what the game rating will be for this one! I’m guessing it will look something like this:

aliens rating

* I have now hidden the March 2008 issue of GameInformer safely under my mattress.

4/6/08:  Updated ppc rpm file(s) are now hosted at the Hammer of Thyrion SourceForge site.

Here’s a youtube video showing Hexen 2 running on Yellow Dog 6 for PS3. This is made possible by the awesome Hammer of Thyrion project on Sourceforge. Like Quake 2, it has a software rendering mode that the Playstation 3 handles very well.

While there are no PPC RPM packages listed, there’s a source package file on the project’s download page which makes installing this one much easier than building from the source alone. I downloaded the hexen2-1.4.2-1.src.rpm file, then copied it to my /usr/src/yellowdog/SRPMS folder. Then from the command line, I said:

cd /usr/src/yellowdog/SRPMS
sudo setarch ppc rpmbuild --rebuild --ppc hexen2-1.4.2-1.src.rpm

I was pleasantly surprised to see it go through the entire process without a hitch! If you’ve played with many open source projects you’ll know this isn’t always the case. Moving to my /usr/src/yellowdog/RPMS folder I found the hexen2-1.4.2-1.ppc.rpm, hexen2-debuginfo-1.4.2-1.ppc.rpm, and hexenworld-1.4.2-1.ppc.rpm it had generated. So I just browsed to it with the file manager and double-clicked on the hexen2-1.4.2-1.ppc.rpm file to start the install. Again, no problems at all. If you run into trouble here, see my list of Third party repos for Yellow Dog 6. Rebuilding the package will require SDL-devel, at least.

After installing from the new hexen2-1.4.2-1.ppc.rpm I saw I had a Hexen 2 menu item under Applications -> Games. Of course now I needed the data files for Hexen 2. If you want to use the demo files you need version 1.11 of the Hexen 2 demo. Just search Google for hexen 2 demo 1.11 and you should find it available from several sources.

The Hexen 2 demo comes in the form of an .EXE file, but that’s OK — you can still use the unzip command to extract the file. For example, assuming you have downloaded the file to your Desktop, open a terminal window and:

unzip -j ~/Desktop/h2demo.exe Install/Hexen2/data1/*.pak

That will extract the pak0.pak file to your current directory (the -j switch tells unzip you just want to extract the file not create directories). Then you need to move the pak0.pak file to the necessary location: /usr/games/hexen2/data1

sudo mv pak0.pak /usr/games/hexen2/data1

After that, you should be ready to run Hexen 2. If you want to use the full version of Hexen 2, see the readme on the Hammer of Thyrion project page for details.

Start Hexen 2 from the menu item Applications -> Games -> Hexen 2. This should bring up a Hexen II Launcher window. Uncheck the box next to OpenGL, optionally leave Full Screen checked, and select SDL for sound, sample rate 48000 (optional). Without OpenGL checked it will allow you to select a max resolution of 640×480 — don’t worry, you can change it later in the game menu. Finally, click on Play Hexen II. If everything went well you should be up and running!

On my system I’m running at 1280×720, but the game starts at 640×480 at first. If I bring up the game menu I can select Options -> Video Modes and change it to 1280×720 (you can see me doing that in the video).

Maybe they’ll host PPC rpm files on the Hammer of Thyrion page so you won’t have to go through the process of rebuilding the source package… If not, I created a Yellow Dog Linux group on Yahoo! Groups that has some limited file storage. You have to register (free) with Yahoo Groups to access it. In the files area you’ll find a ready-made hexen2-1.4.2-1.ppc.rpm file, along with one I created for Quake 2: quake2-r0.16.1-ydl6.ppc.rpm.

Hopefully all of this is OK with everyone involved … :D

When I first started reading about installing Yellow Dog Linux I noticed a lot of complaints about the limited memory or the lack of hardware accelerated OpenGL support on the PS3. Fortunately, it turns out that you can do quite a lot with what we have available. The following is a list of various computers and game system emulators*, native Linux games, and source ports that I have used successfully on my PS3:

System -> Emulator

That leaves a few I haven’t been able to run:

  • Atari Jaguar (almost runs in sdlmess — not fast enough or 100% accurate)
  • Intellivision (should be working in sdlmess, I think, not sure why not)
  • Nintendo 64 (if possible would probably require accelerated video)
  • Nintendo Gamecube (if possible would require accelerated video)
  • Nintendo DS (desmume might work eventually? needs OpenGL though)
  • Sega Saturn (yabause runs very slowly, not playable)
  • Playstation (err… what’s the point?)

Haven’t tried yet:

  • Apple IIGS

Aside from running emulators …

Java 5 and 6 plugins for Firefox run various Java games well including: Runescape MMORPG (latest version no longer works?), multiplayer games on flyordie.com (online Chess, Reversi, 3D Pool, etc).

Installed Opera and Java 5 plugin OK. Seems a little faster than Firefox but could just be me. See this post by Paul (ppietro) on the Yellow Dog Community Board for setup instructions.

Various native Linux games:

SuperTux, Freeciv, Mega Mario, Rocks’n'Diamonds, Blob Wars: Metal Blob Solid, Pingus, FreedroidRPG, Battle for Wesnoth, Ri-li, Solarwolf

These source ports of early “3D” FPS games can all run smooth on the PS3 without OpenGL:

(Of the above FPS games, I had to compile all from source except for vavoom)

* There are some legal issues surrounding emulation and the use of game and/or system ROM images. A good summary can be found in this Wikipedia entry.

UPDATED:  Aug. 17, 2008

Quake 2 on YDL

Quake 2 on PS3

See it in action on youtube!

UPDATE:  I have added a RPM package built for Yellow Dog 6 in the files area of the PS3 Bodega Software Repo, so it is no longer necessary to build from the source as described below.  Demo files will be automatically downloaded at startup (full version files are supported but not included).  The full version is available on Steam.

Even without any hardware accelerated OpenGL, Quake 2 runs great on the Playstation 3 with Yellow Dog 6. I normally play at 960×720 and it runs around 3o FPS (according to timerefresh). The gameplay is smooth at this speed and very entertaining. Following these instructions should have you dodging, ducking, and spreading giblets all over the place in no time!

This will require either the Quake 2 demo files or the full retail version of Quake 2. If you already have the Quake 4 Special DVD Edition, it includes a second disc with Quake 2 + Expansion packs. This makes it very easy to copy the data files over to your PS3.

Just copy the entire contents of /path/to/your/DVD/setup/data to where you want it on your PS3 (like in your home folder under quake2, for example: ~/quake2). Instructions for using the demo files are included in the README with the source.

Building and Installing the game:

I’m running it using the source port found on icculus.org.Compiling from the quake2-r0.16.1.tar.gz source required editing the make file — the portion I changed looks like this:

BUILD_SDLQUAKE2=YES # sdlquake2 executable (uses SDL for cdrom and sound)
BUILD_SVGA=NO # SVGAlib driver. Seems to work fine.
BUILD_X11=NO # X11 software driver. Works somewhat ok.
BUILD_GLX=NO # X11 GLX driver. Works somewhat ok.
BUILD_FXGL=NO # FXMesa driver. Not tested. (used only for V1 and V2).
BUILD_SDL=YES # SDL software driver. Works fine for some people.
BUILD_SDLGL=NO # SDL OpenGL driver. Works fine for some people.
BUILD_CTFDLL=YES # game$(ARCH).so for ctf
BUILD_XATRIX=NO # game$(ARCH).so for xatrix (see README.r for details)
BUILD_ROGUE=NO # game$(ARCH).so for rogue (see README.r for details)
BUILD_JOYSTICK=YES # build in joystick support
BUILD_ARTS=NO # build in support for libaRts sound.
BUILD_ALSA=NO # build in support for ALSA (default sound on 2.6)
BUILD_DEDICATED=NO # build a dedicated quake2 server
BUILD_AA=NO # build the ascii soft renderer.
BUILD_QMAX=NO # build the fancier GL graphics
BUILD_RETEXTURE=NO # build a version supporting retextured graphics
BUILD_REDBLUE=NO # build a red-blue 3d glasses renderer...
STATICSDL=NO
SDLDIR=/usr/local/lib

Then compile and install like so:

[installdir] is wherever you want to install the original quake2 game files — I used ~/quake2
The releaseppc folder will be found in your source dir after you compile.

0. edit Makefile as described above, then ‘make ARCH=ppc‘ When compiling is done you’ll have a new folder called releaseppc. If you get errors when trying to compile you may be missing some dependencies.
1. copy releaseppc/gameppc.so to [installdir]/baseq2/
2. copy releaseppc/ref_*.so to [installdir]
3. copy releaseppc/sdlquake2 to [installdir]
4. copy releaseppc/ctf/gameppc.so to [installdir]/ctf/ (optional)
5. copy releaseppc/sdlquake2 to your /usr/local/bin folder (you need root privilege to do this)

Once you have all that set up you start quake2 like this:

sdlquake2 +set vid_ref=softsdl +set basedir ~/quake2
(where ~/quake2 is the [installdir] you copied the original Quake 2 files and the new binaries)

Note:
If the default resolution is higher than your screen resolution you can start in windowed mode and change it in the game menu. To start in windowed mode instead:

sdlquake2 +set vid_fullscreen 0 +set vid_ref=softsdl +set basedir ~/quake2

Try running from the command line first to see if you get any errors, then you can set it up as a launcher on the desktop, or as a new menu item using alacarte.