From SlamWiki
Contents |
SLAM Technical Overview Home
Welcome to SlamWiki, the developer resource for Slam DevSystem. Slam DevSystem is a scripting language and runtime environment for rapid game and multimedia application development on multiple platforms, including:
- Apple iPhone / iPod Touch
- Apple Mac OS X
- Linux
- Nintendo DS(i)
- Nintendo Wii
- Sony Playstation 3
- Sony Playstation Portable (PSP)
- Microsoft Silverlight (Web Browsers)
- Microsoft Games for Windows
- Microsoft Xbox 360
In short using our system you can write an application once and it will run on all of the above commercial platforms.
SLAM Version History
SLAM Arcade Extensions (Beta)
Released at the end of May 2010, SLAM Arcade is the collective name for a group of runtimes, plugins and tools which have been specifically designed to deliver Slam Games remotely via the internet to arcade/public house enviroments. The package consists of the following components.
- SLAM Game Store Server
- SLAM Game Store Deployer
- SLAM Arcade Game(s)
- SLAM Arcade Attract Application
Version 5.5
Slam PS3 runtime create and now available. Slam Xbox 360 runtime created and now available. Little bit of extra drawing functionality to provide reduced virtual code and thus faster drawing. Language revision; all none class functionality completly removed (the old style slam code). This functionality was effectively deprecated for about a year but now has been removed and class style calling is the only allowed way. Drawing functions now MUST be called using brackets like all other slam functions. Removal to an objects renderAlpha, renderX1 and renderY1 to simplify drawing. These elements are now internally managed in the runtime and thus the user doesn't need to bother with the added complication of them. See Slam 5.5 Release Notes for further details
Version 5.22
Interim build that has a pre-release Slam PSP runtime. The PSP runtime had been out of date for the last year, so it's been overhauled and is now up-to-date with all the other Slam runtimes, containing the particles system, sprites, audio and video dictionaries. Currently fully functional to develop games. It's just having Plugin support added and then it will be released fully in Version 5.3. IDE support also now available to allow the Slam games to be ran onto the PSP by the usual F5 key.
Version 5.2
Silverlight Runtime created (Utilising Microsoft Silverlight 3.0) allowing SLAM games to be run in a web browser. Graphics, Audio and Video builders all upgraded to support Silverlight specific formats. Currently no silverlight support in the IDE, this will be finished off in the a future release. Slam PC has been upgraded to support Games For Windows compliance along with a Games for Windows Installation Tool. Slam VS IDE command completion bug fix. New SLAM Particle system added into all runtimes. Slam Wiki yet to be updated to document the functionaliy, will be done shortly. Sprite system updatesL Sprite Hit Testing using image masks for pixel perfect detection and Sprite Depth rendering support added; as per particles, Wiki documentation not updated yet, will be done shortly. AUTOSAVE alteration. Autosave initialize function removed and replaced by global callbacks that allow greater flexibility on what and how data to saved.
Version 5.1
iPhone runtime update to bring it into line with all other runtimes. Slam PC runtime created as a library and Slam to C++ conversion provided by the Slam Compiler. This will allow conversion of existing SLAM code into native C++ and linked along with the Slam PC Runtime Library, will allow programmers to work in C++ and not the SLAM language. The other SLAM runtimes will be provided in library format in future releases. Global ONPROCESS support to allow common processing across all Screens.
Version 5.0
A big language update which takes slam from 4.x to 5.x. This is the removal of render COMPONENTS which are now replaced by Template Objects. Previously components described how an OBJECT was rendered, these components could be shared amongst many objects. However object handling code couldn't be shared and this had to always be duplicated. By removing the notion of render components and replacing with what are now templates objects; this allows the templates object to contain all the rendering code that a component had and process and input handlers also. When an object inherits a template object it can utilise these handlers unless it choses to override them. Template objects can also inherit other templates making code re-use much more available to the Slam programmer. Template objects and regular objects can also now contain member functions.
Cross platform plugin support; Previously only available in the Slam PC runtime; it's now extended to Wii, DS.
Version 4.4
This is the first release with SLAM Updater. This new tool takes care of all tool and runtime updates and installation. It also features version control functionality allowing you to freeze specific versions of SLAM and your source code. Also in this release are for the first time, GLOBAL OBJECTS. These objects provide you with re-usable templates to derive other object from. Global objects are designed to be much more flexable and transportable between projects than Components currently are and thus will replace them. Global objects can contain all your event handling and rendering code and can be re-used as many times as you wish. Two new upgrades to the language have also been added. CUSTOM01 and CUSTOM10 effects is now an option for an objects on and off effect. This provides a way of coding you own unique effect. The other upgrade is a new object handler called ONEFFECTFINISHED. This handler is called when the objects effect has complete. This release also features some bug fixes to the SLAM real-time debugger.
Version 4.2
This release has a heavily revised cross-platform rendering engine. The SLAM rendering commands have been extended and enhanced to allow none rectangular items to be drawn, per-vertex colouring and UV mapping has also been brought into the standard rendering pipeline, along with hardware clipping on the PC and Wii platforms. Scaling has been reworked and sped up and the DS rendering of images and Text has been optimised allowing 30-40% more items to be drawn without the use of the RenderCache.
Version 4.1
This is the first SLAM release that has a custom Visual Studio integrated Debugger that is launched when running with SlamPC either in native of platform-emulated mode. The debugger allows the breakpoints to be set. Execution to be halted at any point, local and global variables to be viewed and edited and screen and object propeties to be viewed and edited also. Along with a viewable callstack , debugging a SLAM game is now a whole lot easier and quicker. This version also allows object cloning. This functionality allows all the properties and handlers to be cloned to another object. See Object Cloning for more information.
Version 4.0
This version featured a major language review, with extensive usage and standardization of the of the command classes along with a much more consistent usage of brackets around functions and commands.
Getting Started
SLAM Programming
- All Command Classes
- Graphics
- Input
- Audio
- Language dictionary
- Movie
- Networking
- Configuring the SLAM Runtime
- Providing Downloadable Content
SLAM Development Tool Chain
Platform-specific notes
Generic Assets
Further Details
- Production Overview
- Technology Overview
- Technical Home
