The pawn language
An embedded scripting language
Where is pawn used?
I put up this list on a request (plus that it appeared to me as a good idea). If I have made an error, or if the information is no longer up to date, please contact me by email or via the pawn forum. If you wish to be added to this list, or be removed from it, again please contact me.
Several of these projects used pawn when it was still called Small. That is why I have kept referring to these projects as using Small. The links are in no particular order.
Embedded / devices
- Our programmable audio controllers allow the customer to control the peripherals and audio through a pawn script. This allows for a great flexibility, because you can attach various equipment to the device, even if the manufacturer (i.e. "we") did not think of the particular application.
- Pleo, the robotic baby dinosaur from UGOBE Life Forms includes the pawn scripting environment, so that its owner can create and adjust its personality and its skills.
- Interopix, Inc. distributes an industrial control and monitoring system that uses pawn as its primary applications environment. Users of this system can also download scripts created in pawn to implement custom functionality on their controllers. They also distribute an OEM microcontroller based on the same technology which may be used in many general purpose embedded control and monitoring applications.
- B-phreaks Ltd. makes Diamond, a protection dongle with enhanced security measures. The device runs "key algorithms" of an application in pawn, and transports the parameters over an encrypted channel.
- Kirsen Technologies Corporation uses pawn to dynamically control the behaviour of their security products. This allows them to update the configuration and the behavior of their modules in-field, without having to reprogram the microcontroller (an MSP430, Texas Instruments). The compiled script executes directly from ROM. The functionality to upload scripts uses the remote debugging capabilities.
- The Apple iPod contains the Small abstract machine. This has become apparent from human-readable strings in the "firmware update" program.
- Carl Schenck AG is using Small in their embedded weighing controller, with remote debugging over a serial connection.
- CIZGI uses Small in a "building automation and hospital air climatisation control system". The system controls temperature and ventilation and runs on a 80386SX embedded computer. It uses Small to allow "scenarios" to be updated in a live system.
- Artran, Inc. used Small for control of one of their machines. Greg Garner, then with Artran, donated the floating point module and documentation on the debugger interface. Artran seems to be out of business.
Games, game servers and related
- Mokoi Gaming is a platform-neutral game platform. It provides a simple and flexible way to create games that run on various operating systems and devices. Mokoi Games are written in the pawn Language.
- The game-mod called SA-MP is a a multiplayer modification for the PC version of Rockstar's GTA: San Andreas allowing users to player together over internet or LAN connections. It uses pawn for "modding" and creating scenarios.
- Open Legends is an open source (GPL) game engine based on sprites. It includes an entity scripting system based on pawn.
- Small is used as a scripting language in "Baldur's Gate: Dark Alliance" for the PlayStation2, Xbox and Gamecube by Snowblind Studios. The game "Champions of Norrath: Realms of Everquest" by Snowblind Studios also uses Small.
- Small is used as a scripting language in the game "Pranksters" for Windows by Glassfish-Games.
- The free MMORPG (massive multiplay online role playing game) Eternal Lands (www.eternal-lands.com) is scriptable with Small.
- NoX-Wizard is a free server for Ultima Online clients, designed based upon Wolfpack, and extends it with more customizable scripting, up to 1024 concurrent clients, scriptable and remote administration, and more...
- AMX Mod X is a Half-Life "metamod" plug-in. AMX Mod X was originally based on AMX Mod (see below), but nearly all code has been rewritten. AMX Mod X is in active development.
- AMX Mod is a Metamod plugin that allows you to write scripts for Half-Life mods using Small scripting language. The current version will work with Counter-Strike 1.6 Beta. There appears to be no further development on AMX Mod.
- The free program "admin mod" plugs into the game Half-Life to provide people running the servers more control over them. It uses Small as its scripting language.
- AMXBot is a scriptable irc bot using Small as its script language.
- The GUN-TACTYX Programming Game is a "shooter game" where the challence lies in programming robots to do the shooting. It describes itself as a "CROBOTS-like game with QUAKE3-style graphics". The "programs" for the robots must be written in the Small language.
Arene.com was a "Game Server On Demand": whenever a group of
gamers want a server (for half-life, unreal, quake3), Arene.com launched it
for you. Each user installed a client that connects to a central server.
The Small interpreter in the client allowec the gamers to chat, create an
Arena, detect games on the local disk, etc.
The Arene.com project is no longer active.
Graphic & animation
- The commercial animation toolkit "EGI" (by CompuPhase) uses pawn to allow for dynamic (and possibly interactive) scripted animations; for example, for the use in avatars or Windows "agent" style animations.
- Similar (in a way) to EGI are the 3D Desktop Pets from Desktop-Pets.com (apparently now a dead link). To my understanding, 3D Desktop Pets are a mixture of Tamagotchi and Microsoft Agent.
- The free "PluginMaker" tool for Pro Motion was made by me to automate image processing tasks over an animation. I use it to create the cast shadows from the 2D animations of the "Sisters" demo.
- Søren Hannibal uses Small in his 3D engine (a personal project).
- Simple Web Server 2.1 by PMX is a web server that supports pawn scripts natively.
- RemotelyAnywhere allows you to control a PC (running Windows) via a TCP/IP link, and from within a browser. RemotelyAnywhere uses Small as a scripting language.
- Spinifex Computing uses Small in their print enhancement software.
- Enlightenment is a window manager on top of X-Windows, which uses Small as its scripting language. (The Enlightenment team calls it Embryo).