3

My college has just bought a PI and we are having an Open Day. I have a few hours free over the next week to set up a 20-30 minute demo to show its capabilities. Note: visitors will be school leavers. It would be nice to let people use a single PI concurrently from remote machines. SSH should be fine from the Windows lab machines. However, once they log on I would like to wow them with perhaps a simple client server game in text mode. Does anybody know of one?

Failing that I could install a lean web server and perhaps a multi user game plugin servlet (too heavy?) that they could play via their web browser, or even a social network app. Ideas wise that's all I've got.

If anybody knows of some software that I could get my hands on quickly, it would help this Linux advocate greatly. As an aside, I have turbo enabled but the web browser is not fast enough for me, so I will be avoiding any GUIs or interpreters that bring performance down on the PI.

3

Here are two of my favorite character based computer games:

Adventure also known as The Colossal Cave Adventure. I spent the good part of one summer in college trying to get to the end of the game. Having the Fortran source code helped achieve that goal!

Here's a link to various sources and executables for the program. I don't know if I would trust an executable. Actually the Linux executables probably won't work because the PI is ARM based! Perhaps you can get one of the several C sources listed to compile.

Update: I downloaded this version and it compiled with only a few warnings on the Pi. I'm currently using Raspbmc so I had to apt-get install gcc to get gcc installed. The resulting executable worked perfectly. Here's another web site with more information on the game and some maps and walkthroughs to help get you started playing the game.

    pi@raspbmc:~/adv4_src$ ./adventure4
    [A-code kernel version 10.05; MLA, 01 Apr 94]

    Welcome to Adventure4+ [660 point MLA version 10.06 - 26 Jul 95]

    Would you like instructions?  

Another favorite of mine is the Eliza program that pretends to be a psychotherapist. There is a Java version available here and these instructions show how to install an ARM JRE on the PI. The Java version of Eliza is an applet, but with the provided source code it shouldn't be too difficult to convert the applet to run as a console application reading and writing to the Console.

Here is a patch for the Eliza source listed above that enables it to run interactively in a shell. This patch is for ElizaMain.java:

349c349,350
<                 in = new DataInputStream(new FileInputStream(test));
---
> //              in = new DataInputStream(new FileInputStream(test));
>               in = new DataInputStream( System.in );
353c354
<                     System.out.println(">> " + s);
---
> //                  System.out.println(">> " + s);
355c356
<                     System.out.println(reply);
---
>                     System.out.println(">> " + reply);

To run the program you need to have the script file in the current working directory when you invoke java to run the program. Since this Java code is in package Eliza you need to put all of the class files into a directory called Eliza. If that directory is then in a directory called bin in your working directory you can run the program by executing the following command assuming that the java executable is in your path:

    pi$ java -cp bin Eliza.ElizaApp
    >> How do you do.  Please state your problem.
    I am depressed
    >> I am sorry to hear that you are depressed.
    Thank you
    >> We were discussing you -- not me.
    bye
    >> Goodbye.  It was nice talking to you.

Java Update: Wow, running Java on the Pi isn't as easy as I thought! The good new is that there is an Oracle Java SE embeded version available, but it doesn't support hard floating point, which most of the Pi distributions are built to use. If you want to run Oracle's JVM which supports JIT you have to use Debian Squeeze.

Another option for Java on the PI is OpenJDK, but it doesn't include JIT. However, the Debian openjdk-6-jdk package also installs icedtea-6-jre-cacao which does include JIT. See this forum post for more details on Java options for the Pi.

  • Nice answer. Good work, this will be really useful to me also. – Jivings Oct 16 '12 at 18:43
1

The RaspberryPi is a small beast and does not really lend it self to hordes of concurrent teenages who are used XBoxes, Wiis etc, even if you are using a text based game.

I think if you want to wow students with a RaspberryPi you need to do something that show cases it a bit more. I am not sure if the application exists but it occurs to me building a version of the kids game Operation where you extract various body parts (the funny bone, spare ribs etc) from an electronic body, using Python and http://pypi.python.org/pypi/RPi.GPIO library, whilst perhaps at the same time measuring their own heart rate or sweaty palm.

  • Another fantastic idea. Is this something you are working on? – Jivings Oct 17 '12 at 10:18
  • I've never actually seen a horde of concurrent teenagers before, but I'm sure that the PI will have no performance problem with a text based game played by 20 or more concurrent users. – ScrollerBlaster Oct 17 '12 at 13:19
  • @Jivings maybe one day :-) – Eric Hewett Oct 18 '12 at 11:37
  • @EricHewett I've seen something similar, a classic follow the maze steady-hand buzzer game. – Jivings Oct 18 '12 at 11:38
  • @ScrollerBlaster It's an interesting test for the RPi, as for the concurrent teenagers may son's mates comes pretty close - they can be like a multi-tag wrestling team at times! – Eric Hewett Oct 18 '12 at 11:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.