Gambas Platform Engine

From PigaLore
Jump to: navigation, search
Windys Screenshot
Gambas Platform Engine

System(s): GNU/Linux, Unix-like

Type(s): Platform

Designer(s): Graham L. Wilson

Coder(s): Graham L. Wilson

Version: 1.0.0

Games: Windys

First Release: Windys 1.0.0 (2009)

Latest Release: Windys 1.5.0 (2011)

Code Base: Gambas

Middleware: Qt/GTK+, SDL

License(s): GNU General Public License 3

Gambas Platform Engine is a two dimensional platform engine written by Piga Software.


When Piga Software was still using Game Maker for most of their programs during 2005 and 2006, platform games were one of the many they experimented with. This included some self-built engines, as well as modifications from other examples and released project files. Some of these were side-scrolling, some had gravity, but others were only shown one screen at a time, and all featured different ways to move from platform to platform, as well as varying between puzzle an action platformers. Even earlier (circa 2004) when they were playing with ZZT-oop, they made some platform-type games, usually with an in-plot explanation of a jet-pack or similar to work around the game's top-down perspective. So when they moved to Gambas development in the April 2007, it is not surprising that by the end of the year they were experimenting with platform game designs once again.

During the end of 2007, Graham L. Wilson was working on a puzzle platform game called Tux and the Computer Bandit, part of an early trend to make game engine experiments starring the Linux kernel mascot Tux. The game featured gravity and jumping, but did not feature any sort of scrolling and so had a one screen window representing each room. The game only reached two rooms in length, plus a "cutscene" form, the first with a step pyramid for Tux to climb up and into, with the next depicting inside of it where Tux had to avoid patrolling robots, bouncing spike balls and collect lava boots to get to the exit; as well as collecting the first of the "stolen" computers he was sent to retrieve within the game's background plot. Other projects soon superseded this one and so the project died, and in March of 2008 work began on Windys.


Windys Development

See Also: Windys#Development

Windys was an ASCII art-based game concept that Piga Software developers first thought up as children while doodling on an old VT131 computer terminal. The game had always been based on a player moving from one platform down to another, trying to get to the bottom. Although sometimes the original concept had included gravity, whilst implementing it into Gambas (using labels for the graphics) it was opted to use a system of ladders the player could climb up or down. To progress, the player must reach the level end point at either the bottom or top of the level; the player always begins on the opposite end of the level to the exit.

The primary enemy code is based on a simple patrol pattern of moving from left to right until they hit the edge of the level, and then flip back. Attacks are melee oriented, with injuries only being dealt if the enemies collide with the player. The player's attack is a short burst one 24x24 pixel grid point wide which is sent out in the direction last walked. Once hit, the enemies will temporarily be removed from the map but eventually come back onto the screen. There are also a variety of collectibles such as burgers, fries and sodas the player can collect for points. Most of the engine code was completed during the spring of 2008, including the game displays which show lives, amount of collectibles found and even the player's X and Y coordinates which is a feature left in for development ease (collision testing).

In December of that year, many of the levels were created and, while doing this, locked doors were added which sectioned off certain parts of the level, which usually contain decorative items or ASCII art office equipment and even, often humourous, banner messages. The second burst of level production took place in March of 2009, and the final one during July and August 2009. During this time, the boss level was created with a more complex enemy type that moves down from the top of the level using the ladders until it drops off the bottom of the screen and returns to the top. To finally win the game the player, must make it up there and splat the boss character.

Preparing for release, several last minute touches were added, such as a console accessible by pressing the insert key that allows for the entering of cheat codes, and a item on the menu that allows the player to turn off and on the music. From the start, the engine did not feature a save system and instead all the levels, save the secret level, are accessible from a select level menu. A form containing game help, exposition and other information was also added early on. Although highly inspired by early computer and arcade games, the design of Windys was attempted to be original, described by Graham L. Wilson as "Donkey Kong with more action." Windys was released on August 12, 2009, and an extensive bug fix release was sent out on September 1, 2009.

The game could only be released as an executable and source code due to an unexplained problem with building installers and the music channel; a problem that does not exist in Gambas 2.x. As such, it was attempted to update the game to the newer run-time, but this only resulted in partial success, like that of Source Release 1 of Lamp Refugee, in that the code worked fine but something in the graphical layer was throwing off important functions like object collisions. After one and a half years of failure, a workaround was finally achieved and efforts began to tune up the game began in the summer of 2011. Besides porting over to Gambas 2, several updates and bug fixes were added as well as general proofreading. It was sent off on August 12, 2011 to celebrate the second anniversary of the game, and the seventh of Piga Software. The concept of a 2.0 version, featuring a new single-player campaign ("Deep Fat Fried"), a deathmatch-mode and upgrade to Gambas 3, has been considered.


In early 2009, Graham L. Wilson experimented with a deathmatch-oriented action platform game based on the Windys code base, only featuring picture box-based sprites rather than label-displayed ASCII graphics, and teleporters rather than ladders. In 2010, work began on the prototyping a new incarnation of the Gambas Platform Engine, built on Gambas 2 featuring while similar scrolling technology to Lamp Refugee, drawing area based rendering like the Gambas Arcade Engine, and, like the original attempt, a system of gravity and jumping. This prototype was never completed, but plans to finish it with an array-based tile engine and other enhancements is being considered. Graham has some enthusiasm towards eventually trying to create a puzzle platformer in the fashion of Speedy Eggbert/Blupi, as he had once tried in Game Maker in 2006.