Jon Pennant
Games Portfolio
PONG
I thought I'd start with a classic. The above version of PONG is written in pure JavaScript to run in a browser, you can right click to see the code if you are interested. From a game design perspective it takes a trick from Tetris which is that the AI paddle gets faster over time, and so does the ball, so the game will always push you into the flow zone where your abilities and the difficulty are equally matched.
The Four Colour Theorem
A game of competitive colouring for all ages and languages which I launched on Steam in 2018. I had an idea that NP-complete problems make for interesting puzzles, their main feature is that solutions are hard to find but once found it's easy to check it's correct. For this game I chose the graph colouring theorem that any map can be coloured using only 4 colours such that none of the colours touch, which is where the title comes from, and added a scoring system.

However finding the highest score is an NP-complete problem in itself which lead to an interesting discussion on Stack Overflow. In game design terms the part of the game I am most proud of is the tutorial, it has no words and slowly introduces the concepts of the game through play and has been very effective. The game is written in Python using Pygame and I did the design, programming and marketing myself.

Thrive
Thrive is an open source science communication game about life evolving on alien planets, exploring everything from microbiology to hard science fiction space concepts. The goal is to make a fun experience which is also reasonably scientifically accurate, at the moment we are working on the microbe stage which focusses on microbiology. The team is made up of about 10-20 volunteers from all over the world.

I was the Lead Designer for the Microbe Stage as well as the leader of the Theory Team and was on the team 2014-2019. The goal of the Theory Team is to take scientific conepts such as cell membrane topology, light and matter interaction in planetary atmospheres, planetary temperature modelling etc and make them into implementable prototypes which can be included in the game. There is an open prototypes repository. The game is made with C++ and AngelScript on top of the Leviathan engine (which is made by one of the team members), a lot of the prototypes are in Python + Pygame.
WE ARE THE LAST
WE ARE THE LAST is an action platformer I have been working on. I have done every aspect of it myself, programming, game design, art and sound. It's written in pure JS and is the largest program I've written so far. I've receieved some decent feeback on it from testing.

The features it has include real time physics with collisions, custom animations, computer voice audio system with subtitles, procedural art based on simplex noise and image compression for a smoother, faster, experience.
Vandals, the game.
Vandals, the game. is a game made for the Historically Accurate Game Jam 1 with the theme of The Decline and Fall of Ancient Rome.

I worked on a team with two other people and did all the coding, design and balance myself. The game is a push your luck and yes/no game which is desinged to be easy to jump into and to be fun for a few playthroughs. The main challenge of making it was keeping the scope tight enough to finish inside the game jam. The game is made in pure JS + HTML + CSS.
Historia Realis
I've done a bit of freelance work on this game, which involved designing systems and content trees, scripting and testing. You can read about it here. It was interesting to work with Lucas, who is a very multi-talented person. It's also an interesting game to dig into Roman history and try to turn every day life into a set of elegant mechanics. The game is still in it's early stages.
Sector 7
A friend made a strategy board game called Sector 7 about conflict between space ships. I helped them to build an app for it using Node.js and pure JS for the frontend so that it can be played over the web. You can open the app and if you open two tabs you can play against yourself. The rules are here.
Stunt Cat
The pygame community decided to make a game in the hopes of moving Pygame 2 development forwards. I contributed with game design and did most of the programming for the cat on a unicycle level. It was interesting to work with the team and it was nice to give something back to the pygame project which is something I've benefitted from a lot, it's one of my favourite engines to use, if it is a little slow.