Graham Lawrence Wilson



Graham Lawrence Wilson (born May 13, 1994) is a co-founder of Piga Software and serves as the organization's webmaster and technical director, which mostly entails himself as primary game engine developer. Graham's most important role (other than maintaining the Piga websites) is to develop the Gambas Genie real-time strategy engine for Free Empires - the star project of Piga Software.

His main programming experience is for the BASIC programming language family, starting off with Visual Basic 6 before moving on to Gambas. In addition, he has coded in QBasic, Liberty Basic, BASIC-256, Yabasic, RFO Basic, Visual Basic .Net, Xojo, and FreeBASIC using the Visual FB Editor integrated development environment. As well as having used Commodore BASIC on a VIC-20, he is also interested in trying out Atari Basic pending acquisition of a working Atari ST. From 2006 to 2008 he also toyed with the Game Maker scripting language, and experimented with ZZT-oop before that. He is proficient in HTML5, CSS3 and JavaScript, having taken various courses from the W3C on edX.

On January 10, 2014, he was issued a certificate for the MITx course 6.00.1x: Introduction to Computer Science and Programming Using Python, making him proficient in the Python programming language. In November 2015 he completed the Introduction to C++ course from Microsoft on edX. Under the auspices of the Crustacean of Bethany project, he has begun learning Free Pascal as of July 2019 using the Lazarus integrated development environment.

Since December 2012, he has also been learning the OpenGL 2.1 specification in order to develop PS Tech. Within Gambas, he has used Qt, GTK, SDL and ncurses for interfaces as well as pure command line.

Microsoft Windows




He started programming when he was six years old (jump started after learning the &quot;.show 1&quot; Visual Basic command - the most simple key to making a graphical adventure game), trying to make a cartoonish mystery-themed game called Sherlock Mcgruff and the Case of the Bloody Elephant. The first program he ever completed was a program showing off clipart of various computer equipment he wished he would one day own. His first major project was an immobile first person adventure game called Mad Bully in the Haunted Mansion. The game was set in a mythic afterlife for animals, which was their heaven, but in strange parallel appeared like hell. Mad Bully, an important bull, was forced to deal with various ghouls in a haunted mansion inspired by a Windows 9.x screensaver.

Some other early Visual Basic projects included Kawo (an experimental desktop/file manager utility that operated as a pseudo-Windows shell replacement), a web browser called Wilson Net, and Kitty File Manager (a front-end for Windows Explorer which added some features normally only found in word processors). One project that was completed was an example first person adventure game in the Mad Bully-mould, simply titled 3D Example, featuring a variety of rooms, a few different objects, and a code the player needed to find. He also worked on some turn-based puzzle games, one being called Mouse in the Pond, though these projects never really went anywhere due to a very impractical graphics engine relying on a new image for each player position.

He continued to experiment with Visual Basic 6 until he moved to Game Maker in July 2005. There he made much more advanced games than he had in the past, at first by modifying the Game Maker example programs, specifically the Pacman demo. Although he experimented with many game genres, his most advanced experiments, mostly done in 2006, were for real time strategy games (including early drafts for Free Empires) and even simple 2.5D-style first-person shooters. Some of these games, mostly the simpler examples, became known as the Piga Windows Entertainment Pack. The last of these, Harry Rabbit's Easter Egg Hunt was written in April 2007, around the time Piga Software switched over to Gambas.

The large amounts of raw project files Piga created over that time were also being considered for an unsupported, unpolished, release, but the their age makes them no longer useful. Also in the summer of 2005 he also started to learn QBasic programming, where he made little text adventure games and slideshows with rudimentary QBasic graphics code from the book Beginning Programming for Dummies by Wallace Wang. A more modern QBasic project he has worked on is Free Empires: Age of War, a statistics and probability based ASCII graphics strategy game, which was started in March 2008.

GNU/Linux
He moved to Gambas in 2007, starting with a small little top-down puzzle game featuring Tux. He later expanded on this, starting work on Gambas Genie and Free Empires in April 2007 (releasing two Source Releases). He also started various other projects that year, such as Piga Nation and the modern incarnation of Piga Brain. More projects were started in 2008 such as Windys and Piga Animator. During late 2007 he completed a new draft of the Piga Software website, which would be the template used for three years. Most notably it redirected readers more to this wiki then previous drafts.

On October 31, 2008, he released Piga's Pumpkin Carving, a recreation of a program he once made in Game Maker, which received a notable update on its first anniversary. Windys was released on August 12, 2009, and he also has supervised the release of PigaVision and Alexei: Part IX. The first source release of Lamp Refugee, a &quot;playable&quot; Gambas Genie test environment, was released on October 26th. Following the Piga migration to icculus.org in October 2010 he created a new draft of the Piga website, infusing a new table-based organization scheme.

The first new release on the incubator was the third version of Pumpkin, followed on Novemeber 25, 2010 with the release of Piga's Thanksgiving Dinner Hunt, another expanded holiday game based on a Game Maker draft, and by Piga's Santa Drop Down, an original holiday game, on December 25. He supervised and assisted in the development of the preview release of Alexei: Part XIII which was released January 1, 2011, quickly followed a day later by Piga's New Years Dodge 'Em, yet another small holiday game. These three new holiday games formed the foundation of the Gambas Arcade Engine.

On January 7, he released a bug fixing 1.2.0 release for Santa Drop Down, followed by a re-creation of DONKEY.BAS called DONKEY.GB on February 6 and updated on March 31. On May 8, 2011, he released the second source release of Lamp Refugee, despite suffering from a head cold and a grass fire in a nearby tower field. On October 26, 2011, he released a terrain model technical demo for Gambas Genie. On November 11, 2011, he released Over the Top, a top-down arcade game set in the trenches of the First World War, which he has first began a year earlier. Soon followed more updates to Dinner Hunt, Drop Down and finally Dodge 'Em. These were the last releases by Piga to utilize Gambas 2, as version 3 was released due to the almost synced release of 3.

He again released updates for Over the Top, Dinner Hunt and Drop Down in 2012. On May 13, 2012 he released the first source release of Childish Cannoneer, the first venture of the &quot;Indie Games&quot; project with White Island Software, followed by a mostly graphical update on September 14, 2012. One August 7, 2013, he released a demo showcasing isometric projection. Around the time of his graduation from high school, he began formalizing his understanding of computer science through a series of courses on the edX platform. This also involved deeper research and experimentation into optimizing and systematizing his underlying graphics and game engines.

After several years, the end results of this have been the Gambas Tile System, the Gambas Performance System and the Gambas Map Format, which will underpin new revisions of the Gambas Platform Engine, Gambas Genie and others, as well as the Piga Animator suite. Animator has been a major project since October 2012, with much study as well into animation theory and practice. The PS Tech and Gambas Projection Engines have also been developed for first-person 3D and 2.5D rendering, a lifelong obsession.

Alongside this has been the attempt to utilize these new implementations in larger projects, although the shifting approaches in underlying design has hindered it as well as feature and ambition creep, in addition to the demands of full time outside employment since July 2017. An update based on his new unified DrawngArea and PictureBox renderer was released for Piga's Santa Drop Down in 2016. The LibreJam contests have given him the opportunity to test out his engines on smaller scale games again, so far producing Hull Breach in December 2020, Hedged in April 2021 and Bring Them On in August 2021.

Principal Projects

 * Gambas Genie (For GNU/Linux, Made in Gambas, Source Releases)
 * Gambas Platform Engine (For GNU/Linux, Made in Gambas, incarnated in Windys)
 * Gambas Arcade Engine (For GNU/Linux, Made in Gambas, incarnated in several programs)
 * Gambas Projection Engine (For GNU/Linux, Made in Gambas)
 * Piga Nation (For GNU/Linux, Made in Gambas)
 * Piga Animator (For GNU/Linux, Made in Gambas)
 * PS Tech (For GNU/Linux, Made in Gambas)
 * Piga Brain (For GNU/Linux, Made in Gambas)
 * Free Empires: Age of War (For FreeDOS, Made in QBasic)

Released Software

 * Donut Quest, head programmer (Microsoft Windows, 2006)
 * Free Empires: Chiefs and Warriors Source Release 1.0, head programmer (GNU/Linux, 2007)
 * Free Empires: Chiefs and Warriors Source Release 2.0, head programmer (GNU/Linux, 2007)
 * Gambas Genie - Mouse Movement Demo, head programmer (GNU/Linux, 2008)
 * Piga's Pumpkin Carving, head programmer (GNU/Linux, 2008-2010)
 * Alexei: Part IX, supervisor (GNU/Linux, 2009)
 * Windys, co-designer, Gambas Platform Engine developer (GNU/Linux, 2009)
 * Lamp Refugee Source Release 1.0, head programmer (GNU/Linux, 2009)
 * Piga's Thanksgiving Dinner Hunt, head programmer (GNU/Linux, 2010-2012)
 * Piga's Santa Drop Down, head programmer (GNU/Linux, 2010-2016)
 * Alexei: Part XIII Preview Release, supervisor and additional programming, (GNU/Linux, 2011)
 * Piga's New Years Dodge 'Em, head programmer, (GNU/Linux, 2011-2012)
 * DONKEY.GB, head programmer (GNU/Linux, 2011)
 * Gambas Genie - Terrain Model Demo, head programmer (GNU/Linux, 2011)
 * Over the Top, head programmer, (GNU/Linux, 2011-2012)
 * Childish Cannoneer Source Release 1.0, head programmer, (GNU/Linux, 2012)
 * Childish Cannoneer Source Release 2.0, head programmer, (GNU/Linux, 2012)
 * Gambas Genie - Isometric Projection Demo, head programmer (GNU/Linux, 2013)
 * "Glut" alpha, developer, PS Tech (revision one alpha), (GNU/Linux, 2014)
 * Hull Breach, designer, Gambas Tile System (fixed version), (GNU/Linux, 2020)
 * Hedged, designer, PS Tech (revision two beta), (GNU/Linux, 2021)