eGame
r5 (05.02.2013) by Christopher Handley
eGame now fully lives-up to it's description as a "Game Launcher", because it's now possible to add disk images & 'foreign' executables, and have them automatically loaded by the appropriate emulator (e.g. DOSBox) or game system (e.g. Frotz).
The main changes are:
Please see the 11. History chapter for a full summary of recent changes.
eGame allows you to keep an easily searchable list of games for playing - rather than having to hunt through lots of folders. It is even possible to add ROMs, disk images & 'foreign' executables, and have them automatically loaded by the appropriate emulator (e.g. DOSBox) or game system (e.g. Frotz).
"eGame" is short for "(Portabl)E Game Launcher". I originally wrote eGame as a test & an example of what can be achieved with PortablE's easy GUI system, but (after some prodding from Joel) I think it has become a really useful program in it's own right.
As I've put a lot of effort into making tagging, filtering & launching easy but still pretty powerful, I decided to make it 'DonationShareware'. Without a key file it will only display 10 games (although you can still search all stored games & the first 10 matches will be shown). If you want to get a key file to unlock it, then you need to send me at least 2 Pounds by PayPal (although I encourage you to donate more if you feel it is worth more!).
eGame has been tested on AmigaOS4, MorphOS & AROS.
Use the provided installation program. If you run into any problems, then please contact me (see the 8. Contact details chapter).
Note that eGame needs NList AND TextEditor to work. So if eGame fails to start, then make sure that you have both installed:
sourceforge.net/projects/nlist-classes/
sourceforge.net/projects/texteditor-mcc/
Finally, if you really don't want to use the installation program, then here are some hints on manual installation:
Drag'n'drop eGame's folder to where you want it stored. You can replace the old eGame folder, but do not delete the old folder because this contains your list of games & your key file.
Notice for AROS users: I found that overwriting an existing folder can cause Wanderer to freeze. You will need to manually copy the files across, probably using DOpus4 or similar.
You may also want to delete the eGame executables for unused OSes.
I have tried to make eGame easy to pick-up (by just playing with it), but just-in-case anything is unclear or not obvious, I've written an explanation of how to use it.
After starting eGame for the first time, you will see an empty list (on the left). If you drop a game on the eGame window then it will be added to the list. Make sure you drop the icon which you'd normally double-click to run it.
If you drop a folder or partition on eGame, then it will add all the (WHDLoad, console ROMs, disk & tape images, and interactive fiction) games it finds. To actually play them you will need an appropriate emulator installed (see section 5.3. Built-in launchers for which emulators?).
Notice for AROS users: Due to a limitation of Zune, currently you cannot drop games on the main window. Instead you have to click on the Add button to open a file requester. I suggest dropping a game on the requester window. If there is interest (email me!) then I can provide a small always-open window for dropping games directly on.
Any added games are immediately saved to the (iconless) eGame.list file that is stored in eGame's folder. (This is updated in a safe manner, but if you are worried about loosing your large list of games, then you should occasionally make a backup of this file.)
Double-clicking on a game (in the list) will immediately run it. If the game has a tag that has an associated Launcher, then it will be started using that... otherwise it will be run as if you had double-clicked it using Workbench/Wanderer/Ambient.
Tagging is a very important concept in eGame, so I have tried to make as easy as possible. Every game can be tagged with one or more words that describe it. You can then get eGame to show (or hide!) all games that have a particular tag.
For example you could add the Racing tag, if the game is a racing game. Or you could add the 2D tag if the game is a top-down 2D game. If you want to add two tags (say it's a top-down 2D racing game), then you should put a comma between each tag, such as Racing,2D. You can then get eGame to show all your Racing games, or your 2D games, or even hide them if you don't feel like playing those kinds of games!
For example, if the game is an MS-DOS executable, then you could add the MSDOS tag, and when you double-click it have eGame launch it inside DOSBox. In this particular case eGame automatically identifies added MS-DOS executables & adds the MSDOS tag for you! eGame is also already set-up to launch MSDOS games in DOSBox, as long as you have installed RunInDOSBox (and DOSBox).
eGame comes with very few tags, because the idea is that you make up tags for whatever your needs are. Categorise your games in a way that makes sense to you, rather than one that might only makes sense to me!
Once you've added a few games, you can select one or more games in the list, and then click on one of the toolbar buttons at the bottom of the main window:
One reason for using eGame is that you can easily "filter" the game list, so that it only shows games which contain a particular tag or name. I have tried to make this as powerful as possible, while still being simple to use.
The Filter area at the top of the window looks something like this:
_____ _____ _____ [X] Name |_____| Path |_____| Tags |_____|
If you type something into the Name box & press enter, then it will show all games whose name contains that. For example, if you typed star then it would show Star Glider and Super Stardust.
It may not be obvious, but you can actually search for several things at once, by separating them with a comma. For example, if you typed star,super then it would show both Star Glider and Supercars.
You can also make it search for games which don't contain something, by putting the tilde character before anything else. For example, if you typed ~star,super, then it would hide Star Glider and Supercars.
The Path box works in a similar fashion to Name, as it allows you to search the file path of every game. For example, if you typed free then a game with the path Work:Games/Free/AirTaxi would be shown. But if you didn't want it to match a game called Freedom then you would need to search for free/ or even /free/. Note that you can again use commas to search for several things at once, and ~ to hide matching games.
The Tags box of course allows you to search for games with particular tags. But unlike the Name & Path boxes, it will only match complete tags. For example, if you typed aga, then it would show games with the AGA tag, but it would not show games with the Again tag. Note that you can use commas to search for several tags at once, and ~ to hide matching games.
Tags is also special in that it is connected to the "Filter by tags" list directly below it (i.e. on the right of the window). This list shows all the tags that have been used by any game, and clicking on a tag will add it to the Tags box. Above the list you can change the Mode from Show to Hide, which will then hide games with the chosen tags.
You can use all three filter boxes at once, if you want. So for example you could search for games with super in the name, which also have the racing tag, meaning you'd see the game Super Cars but not Super Frog.
The X button is handy, because it allows you to quickly clear all three filter boxes, meaning you will see all your games again.
While eGame will automatically show the icon of a game, you can have it show a screenshot instead.
Your screenshot can be saved in any format supported by datatypes. For old (Classic) games I recommend the IFF (ILBM) format, while for newer games (with larger resolutions) I recommend the PNG format.
The screenshot must be stored in the same folder as the game. There are several ways you can name the picture file:
When you double-click on a game, eGame will check whether any of it's tags has any launcher commands. If one of it's tags does, then it will use those commands to launch the game. For example, if you had an MS-DOS game in the list, and it had the MSDOS tag, then double-clicking the game would cause it to use RunInDOSBox to launch the game.
eGame already comes with launcher commands defined for many existing emulators, so all you need to do is install an emulator (and any required ROM files!) to play it's games. See the follow sections for more info.
When you add a game, eGame adds a suitable tag if it recognises the filetype. Here is the list of filetypes it currently knows:
TAG FILETYPE Classic (68k Amiga executable) WHDLoad (WHDLoad icon with a matching .slave file) MSDOS .exe .com .bat Megazeux .mzx Floppy .adf .dms AtariST .st .msa .dim AtariLynx .lnx MegaDrive .bin .smd NES .nes SNES .smc .sfc C64 .t64 .d64 .c64 Spectrum .z80 .sna .sp .tap .tzx Infocom .z1 .z2 .z3 .z4 .z5 .z6 .z7 .z8 .dat TADS .gam PlayStation .iso
eGame does not blindly add any file with a matching filename extension, as (where possible) it will first check that the file's contents looks right. I had to take guesses at the contents of some filetypes, so please tell me if eGame doesn't add tags for some games, or adds the wrong tags.
When you add a folder (or partition), it scans all the files in it, and adds any with known filetypes.
There are a couple exceptions though: It will not add Classic nor MSDOS programs, as these would tend to match many useless programs.
For each filetype I have defined a launcher - at least when I could find a suitable emulator. To make it simple, I am giving the web pages for downloading the relevant emulators. More experienced users can edit the launchers to use different emulators, or even add new launchers.
AmigaOS4:
(I could not find any emulators for: NES (AmiNES not suitable), SNES (WarpSNES not suitable) )
MorphOS:
(I could not find any emulators for: Megazeux, AtariLynx, or NeoGeo)
(I could not get emulators working for: TADS)
AROS:
(I could not find any emulators for: Megazeux, AtariLynx, NeoGeo, or NES)
(I could not get emulators working for: Infocom, MegaDrive)
AROS note: ZSNES does not work with eGame until you have run ZSNES once by itself & loaded a game ROM through ZSNES's own interface.
All OSes: Due to limitations of the emulators, it is not possible to have launchers for OpenBOR, ScummVM, SDL_MAME & FPSE.
The eGame archive comes with a "useful_emulator_files" folder, which has:
If you click on the Prefs button, you will get the Preferences window. In the Launchers section you will see a list of all known Tags, and their associated launcher Commands.
To add commands to a tag, just double-click the tag (or you can click on the tag & then the "Edit Launch" button). This will open the Edit a Launcher window.
From here you can type directly in the Commands text box, which you can think of as a list of Shell commands that eGame should execute for each game. You might write something like the following line:
CD Sys:C RunInDOSBox "%g" %p
The alternative to typing this manually would be to click on the Add program button. This would open a file requester for picking a program. If you chose the RunInDOSBox program, then you would see it add these lines:
CD "${AppDir/RunInDOSBox}" RunInDOSBox "%g" %p
I'll explain that CD AppDir line later. For now imagine that you double-clicked on the MS-DOS game Frontier (which has the path Work:games/Frontier.exe). This would cause eGame to execute the following Shell commands:
CD Sys:C RunInDOSBox "Work:games/Frontier.exe"
In other words %g gets replaced by the path of the game you double-clicked on. So what does %p do? When you Edit a game, at the bottom of a window you should notice a Launch parameters box. Let's say you put WINDOW in there for the Frontier game. Now when you run that particular game, eGame will execute the following Shell commands:
CD Sys:C RunInDOSBox "Work:games/Frontier.exe" WINDOW
This allows you to customise how each game is launched, in case it needs any special settings.
So what was that CD AppDir line we saw earlier? Here it is again:
CD "${AppDir/RunInDOSBox}"
This is an AmigaOS4.1 feature which I simulate on other OSes. Every program (in this case RunInDOSBox) has an environmental variable which says where the program can be found. This is really handy, as it means it is possible for the same script to work on different people's machines. And if the game is not yet known, then eGame is clever enough to ask you where to find it.
Let's say that RunInDOSBox is known to be installed in Sys:C . Then the earlier line will be automatically expanded to this:
CD "Sys:C"
You can of course edit any existing launchers too!
If you have trouble getting a launcher to work, then I suggest enabling the option "Show shell output of launcher". This allows you to see error messages.
Please read this carefully!
1. The eGame demo is fully functional, apart from only showing up to 10 games. So please test eGame to be sure it meets your needs & works well on your computer.
2. After donating, I will send you a personalised key file. This unlocks eGame, meaning it will show all games added to it. Donating does not guarantee that I will add new features you want, nor fix problems you have... so if you really need something added or fixed, then email me & please do not donate until after I have improved eGame to your satisfaction.
The key file will of course work with all future versions of eGame.
3. To donate, please go to the following web page & click on the Donate button:
This should take you to PayPal's web site, and allow you to donate to me (Chris Handley), using either a debit/credit card or your own PayPal account.
The minimum donation is 2 Pounds, but if you think eGame is worth more than that, then I encourage you to donate what you think it is worth. :-)
Make sure you click on "Add special instructions to the seller", and then in the box that appears:
(The key file will work on all OSes, but knowing which OS will help me decide whether to release new programs for your OS.)
4. PayPal will supply me with your name & email address. I will use both when creating a personalised key file, which I will then email you. You need to put the eGame.key file in eGame's folder. While I will try to send your key file within 24 hours, please allow up to a week (in case I am very busy or on holiday).
The key file is for your use only, and of course must never be given to anyone else.
It's my name for a cross between Donationware & Shareware! It is Donationware in the sense that I ask you to donate what you think it's worth (above a pretty low minimum). It is Shareware in the sense that it's not quite fully functional (until registered).
But if you can think of a better name, then let me know!
If you are using AmigaOS4, then this is probably due to an OS4 bug (in WbRun). Using Workbench, select the game's icon, and then choose "Icons > Information..." from Workbench's menu. This should open a window. Change to the Icon tab, and if "Start from:" is set to "Shell", then please change it to "Workbench". Finally click Save. Now try running the game again using eGame.
If this is not the case, or doesn't solve your problem, then please contact me.
Yes, but it's actually quite hard to come-up with a completely novel name that is short & still hints at what it does. The fact that there were already (at least!) two programs (with names ending in -Game) should prove that. Plus I'm completely useless at thinking of names (just look at my earlier programs!).
Very likely, if there is interest. Email me!
If you have any problems with eGame, then let me know! You can contact me by email, using the address given on this web page:
If for some reason you cannot email me, then I can be found on AmigaWorld.net & www.Amigans.net as "ChrisH". I suggest you PM me on AmigaWorld.net, as I may not notice forum posts (nor PMs on Amigans.net!).
Here is a list of POSSIBLE thing that I might add:
If you are interested in any of these ideas, or have any suggestions of your own, then feel free to email me! Your input may help me decided what to do next.
In chronological order, thanks to:
Sorry if I missed anyone.
r5 (05.02.2013)
r4 (17.01.2013)
r3 (07.01.2013)
Please let me know if you dislike OR like this!
r2 (29.12.2012)
r1 (27.12.2012)