Version 26 of Bundle o' Starkits

Updated 2005-01-27 23:40:23 by btheado

Brian Theado 20Jan2005 - Inspired by the wealth of Tcl/Tk games available at sdarchive and elsewhere, I wrote some code that can be used to browse and execute a bunch of applications all bundled together into a single starkit.

I bundled together over 60 games in a just over 2MB starkit that can be downloaded from http://tkoutline.sourceforge.net/tkgamepack.kit . Run the program and see a hierarchical list of Tcl/Tk games. Click on the game title to launch it. Click on the game's url to find more information. Add the title of a game to the command line and that game will be run directly.

http://tkoutline.sourceforge.net/tkgamepack.png

Implementation details.

  • Each game is itself an unmodified starkit. Each starkit's vfs resides as a subdirectory of the main directory of the Game pack starkit
  • Each game is launched in its own slave interpreter.
  • Most of the starkits were pulled unmodified from sdarchive. I found a couple of dozen more games on the wiki and at tclapps that I starkitified and added in. Some of these needed a "package require Tk" added.
  • I did have to modify one game dots and boxes because it was trying to do some things with the console that didn't work in a slave interpreter.
  • The interface for selecting games is an outline from tkoutline. The full functionality of tkoutline is also available (see the miscelleneous category) just because it is there.
  • I find the interface to be a bit cluttered, but using an outline was the easiest way for me to get this working (and I am motivated to make use of my own code).
  • Adding new games involves adding new text to the launcher outline (using the full version of tkoutline) and adding a new starkit vfs.

Way cool! I've wondered for a long time when someone would take the initiative on this ;) -jcw


LV So, if people come up with additional script only games, how would they go about requesting the code be added?

Brian Theado - putting a request here seems like a good start.


LV So each time I select a game, a new starkit will end up in the real world flat directory where the starkit resides? Is there no way to run the starkits from where they are in the bundle?

I tried to find out for myself, but I see this error when I try to run your starkit:

 invalid command name "option"
    while executing
 "option add *Text.wikimarkup "wikilinks urls style" user"
    (procedure "openAppLauncherOutline" line 3)
    invoked from within
 "openAppLauncherOutline [file join $::starkit::topdir applauncher]"
    (procedure "applauncher" line 31)
    invoked from within
 "applauncher"
    invoked from within
 "if {[llength $argv] == 0} {
    applauncher
 } else {
    set nestedkit [lindex $argv 0]
    set nestedkitmain [glob -nocomplain [file join $starkit::t..."
    (file "/volws/lwv28/ldatae/WWW/tkgamepack.kit/applauncher.tcl" line 68)
    invoked from within
 "source $starkit::topdir/applauncher.tcl"
    (file "./tkgamepack.kit/main.tcl" line 3)
    invoked from within
 "source ./tkgamepack.kit/main.tcl"
    ("uplevel" body line 1)
    invoked from within
 "uplevel [list source [file join $self main.tcl]]"

The problem is that your application launcher program is missing that

 package require Tk

that you mentioned having to add in a few games.

The reason your app is working is probably because you are using Windows. Unfortunately, this is one of the differences between Windows and non-Windows tclkits.

Brian Theado - Yep. Thanks for the report and I have added the package require Tk. Redownload and try again.

I guess I didn't explain the implementation well enough. It is a single file and stays a single file. All the games run from within the starkit.


Discussion about keysym error (which has been fixed) moved to Cross platform keysyms.


Felipe Voloch I am getting an error every time I launch a game saying "couldn't open setup.tcl, no such...". I get to the initial screen OK, but all games I've tried to launch give the same error. This is on a linux box. Thanks.

LV Here's my suggestion.

  1. Get the very latest tclkit for your system.
  2. Get the very latest tkgamepack.kit
  3. Making certain that you use these two files, try to launch the game pack again.
  4. If you get an error, report the exact and complete message you get, along with information about what distribution you are using, and what version of the tclkit you downloaded.

24jan05 jcw - The setup.tcl file error is probably caused by tclkit. I suspect that it's not able to launch at all on your linux system. Be sure to try both the static and the non-static versions of tclkit [L1 ].

Brian Theado - He says he is able to see the the initial screen, so another possibility is that his version of tclkit is too old. I recall a while back that tclkit had problems loading starkits in slave interpreters. I can't seem to access the starkit archives at http://www.equi4.com/mailman/listinfo/starkit (Mailman experienced a very low level failure and could not even generate a useful traceback for you. Please report this to the Mailman administrator at this site.) in order to figure out just how long ago that slave interpreter fix was.

Felipe Voloch I followed jcw's suggestion and downloaded another tclkit and the problem went away. Thanks all.


Category Games