Graham Lawrence Wilson

From PigaLore
Jump to navigationJump to search
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. This has manifested in the Gambas Tile System and derived engines (namely Gambas Genie and the Gambas Platform Engine), the Gambas Arcade Engine, the Gambas Performance System (particularly the Piga Animator suite), the Gambas Map Format and the PS Tech and Gambas Projection Engine renderers.

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 Game Maker, experimented with ZZT before that, and most recently has tooled with GDevelop. 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.

Programming History[edit]

Microsoft Windows[edit]

Graham L. Wilson in 2006 via Griffindor's then webcam
Mad Bully
Billy Bear

He started programming when he was six years old (jump started after learning the ".show 1" 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.


Using Snape on May 9, 2009
Using Nomad on April 4, 2013
Piga's Santa Drop Down
Piga Animator development
PS Tech development

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 "playable" Gambas Genie test environment, was released on October 26th. Following the Piga migration to 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 "Indie Games" 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, Bring Them On in August 2021, Mosquito in December 2021, and ASCIIlization for June 2023. He released a scrolling shooter, Nightfall, for Halloween 2022 (upgraded in 2023), and a 3D maze game, Piga 3D Easter Egg Hunt, for Easter 2023.


He has supported free software right from the beginning of his programming, having learned about the ideal from his father's stack of old copies of Linux Journal magazine. He was born in May 13, 1994 and has myopia (near-sighted vision) and scoliosis (curvature of the spine). He is a full Canadian citizen as well as a citizen by descent of New Zealand. On May 16, 2010, he scored 82% on his ham radio exam and thus has attained the qualification of Basic+ in Canada, his call-sign is VA6GPL. He is a high school graduate, after having taken additional science courses with a two-year Grade 12, receiving his diploma in the summer of 2013. On September 14, 2013, he passed his learners driving test. His Internet sobriquet is "Technopeasant" reflecting his technical and agricultural background. After many years working seasonally assiting a local beekeeper, he is now employed as honey receiver for Alberta Honey Producers Cooperative (makers of Beemaid honey) in Spruce Grove, Alberta since July 2017; coordinating the crop intake himself since September 2018 before switching to raw inventory management in July 2020.