Hi, my website is hand-crafted, and contained in a single page to save your time. This relies heavily on scripting, to let you explore the most relevant projects and galleries without taking you out of the page.
If this message is showing, Javascript is disabled, and the galleries won't load. Please enable Javascript, or if that is not possible, please notify me by email. I will try to pull together a Javascript-free version as soon as I can.
My name is Louis. I'm a programmer and game developer from the UK with a breadth of experience.
I currently work on Fortnite as a Senior Network Engineer with Epic Games.
In my own time, I've created online multiplayer games, development tools, custom engines and much more in several languages. Check out some of my projects below!
Want to chat? Send me an e-mail at louis_foy@yahoo.co.uk.
Click a button to see more. Don't miss my personal work, too. There are penguins!
I joined the Fall Guys in Fortnite team to assist with this rapidly-moving FNE initiative, which needed some fast hands to pull together our BR event. My responsibilities included:
I was moved to Fall Guys as it approached its Free-for-All release, following the disbanding of the my last team. My responsibilities included:
I joined this project for its conception after Mediatonic's acquisition by Epic Games. My Unreal experience came in particularly handy for this team, which was primarily experienced in Unity. My responsibilities included:
I was brought aboard at Mediatonic to help kick off this multiplayer Unity project. My multiplayer game knowledge meant I could make a standout contribution, as networking was a new area for the team at the time. My responsibilities included:
I.G.I Origins began halfway through my 3-month internship at AMG and I was put on this team to help kick things off fast. My responsibilities included:
'83 was my first project during through my 3-month internship at AMG and first professional game project in general! My responsibilities included:
If on PC, hover over a button to see a video preview. It may take a moment to load.
A hoppin' good old-fashioned platformer where Rana, the handsome frog prince, must recover his kingdom from the menacing Mega Kitten! Ctrl+Alt+Squid's six-month prototype comprises one highly polished level culminating in a battle with the aforementioned kitten of doom.
Rana aims to refine the spirit of the 90's platformer in a fun, concise and silky-smooth gameplay experience. It features about 30 minutes of speedy tongue-swinging, wall-jumping, melee sword combat and more!
Rana was developed by Ctrl+Alt+Squid and was released on itch.io in February 2020.
A multiplayer animal third-person shooter featuring a static-electric, wall-running rabbit and heroic, TNT-equipped kamikaze pigeon.
This was my final year college project. I was in charge of everything from design to art to implementation; and crucially, planning, scheduling and execution. This high level of ambition was self-motivated, and I was easily able to meet the flexible brief, which requested a game development-related portfolio asset.
Made using Visual C++ Express, Photoshop CS6 and 3DS Max 2013.
Note: We later remade this game with two additional friends and a month of dev time - here's what the result looked like!
Invisible Snow Battle is an online action-party game for up to 8 players. It's a snowball battle, except everyone's invisible. Look out and listen for other player's footprints whilst hastily rolling your own snowballs for ammunition. The player who makes the most hits before time runs out wins!
Invisible Snow Battle was developed in 4 days, and was a random passion project by me and a friend through the Christmas 2018 holidays. We worked remotely, employing a loose agile workflow using Trello, and using playtests effectively to iteratively develop the game to a playable and fun state.
Made with my friend and co-developer Sam (see his work at samauber.me!)
We later remade this with a web version that was online for one month and gained 1.1k upvotes on Reddit during its release. More details available on request.
Last Penguin Standing is a chaotic local and online multiplayer party game featuring adorable penguins and their violent, iceberg-destroying tendencies!
This began as a pre-employment COVID project which I have developed on and off since for fun. I made the game and all its assets, except for the majority of sound effects, using freely available tools like Krita and Blender.
The multiplayer video footage is of older versions of the game - unfortunately I didn't record any of the playtests for newer versions. The single-player footage is more accurate to the current quality of the game.
Special thanks to my friends Luigi, Gem, and Andreea for playtesting with me and allowing me to record those sessions!
Genesis was a 3D modeller passion project. I developed it in C++ and intended it to be a tool for collaborative game development. It features live editing over a network, which can be supported by any application that implements the GenLib library.
It includes classic hard-modelling tools such as extrusion, splitting; transformation tools for scaling/translating/rotating; modifiers for effects such as Mirroring; and multi-editing of several selected instances.
Once of its uses was for my Spyro the Dragon(tm) modding passion project, SpyroEdit, where it can edit the level geometry and object positions.
Developing this project allowed me to push my 3D math skills, learn HLSL shaders, explore the usage of flexible file formats over a lossy network and deepen my understanding of mesh manipulation.
SpyroEdit is a fan project. Spyro the Dragon is a property of Activision. I do not own nor am affiliated with Activision or the Spyro games.
SpyroEdit was a passion project I started when I was 14 as part of my obsession with the Spyro the Dragon games. It was designed to find cut features in the game, but later expanded to add cool super-powers, the ability to edit textures and geometry, and more!
Much like the scientists of a certain dinosaur-ridden park, I made SpyroEdit to discover what I "could" do without asking the "should"! A load of wacky features cropped up as a result. Its code quality does not represent my present-day standards, but it earns a spot here for demonstrating my reverse-engineering skills, and for the positive impact it made on the community.
Planetary Pest Control is an asymmetrical co-op game featuring E.V., a powerful robot, and her engineer Wrench. Fight through hordes of bugs using E.V's raw power while Wrench clambers to keep them both alive!
Planetary Pest Control was developed by DangerZone, a massive student team including three programmers. My role on this project was broad, and I prototyped and created multiple iterations of key features under the direction of the creative director and designers.
In this project I was able to demonstrate my speed and efficacy in iterating features, working within self-assigned time estimates on the team's HacknPlan board.
This project was highly iterative and its requirements changed over time, sometimes significantly. Due to this, some of my contributions did not make the final cut. These are marked with an asterisk (*).
Handzer is an experimental C++ game using a custom Arduino controller fastened to the player's hand. It tests the theory that the human hand would be much cooler if it could shoot rainbow lasers. Initial tests showed promising results.
The game is controlled entirely with the right hand. Bouncing it up and down at various speeds moves Handzer forward or back (depending on tilt), while opening your hand activates his rainbow laser breath.
It was developed in three months as part of a university module. My favourite challenge was in using an accelerometer to measure both direction and speed of the hand. This was naturally difficult, as gravity constantly influenced the sensor, which was further influenced as the player bounces their hand.
Demiurge is a top-down arcade shooter by Team Duo, a student team Falmouth University. I was one of three programmers working in Unreal Engine for the first time. The game's core mechanic is karma-based shooting, where deflecting enemy shots increases your power.
You play as the human who has crash-landed on an alien planet inhabited by primitive beings. These beings worship a technologically superior figure known as 'Demiurge'. As you progress, you quickly learn you weren't the first human to arrive here.
The team was selected by staff and we concepted and developed the game across about 5 months. Beyond programming, I also created the soundtrack for the game and trailer, and acted as scrum master across development.
PCSX2dis is a MIPS assembly debugger extension to the open-source PCSX2 emulator. It features real-time MIPS instruction replacement, code analysis, reference tracing, breakpoints with register viewing and editing, a memory scanner, and a custom built-in GameShark code emulator. I made this on-and-off while modding my favourite games.
The interface of PCSX2dis was inspired by an old dissembler called ps2dis by Hanimar. The key distinguishing factors included real-time modding/memory editing, breakpoints, modernisation and streamlining of the UI, and many additions and quality-of-life improvements.
A stand-alone version, decoupled from the emulator and compatible with other MIPS-based emulators via process attachment, is available on request.
The developers of PCSX2 and Hanimar are not affiliated with this inspired passion project.
Un-punch Man is a short game where the time-boi, Squidge, wanders the broken world repairs monuments with his smashing and time-reversing powers. But in order to fix things, he must break things, to make paths to fix things!
Our team had a blast making this in 48 hours for the Global Game Jam 2020! In this team I took a proactive role in generating the game vision, and programming the core mechanics such as time warping. As the original ideator, I loosely played the role of director; but because this was a casual game jam, I was a 'yes' guy: the primary goal was that we all enjoyed ourselves and added our own spark, while ensuring that our key vision priorities made it in in time.
I didn't plan all the outcomes, but I sure am proud of them, and I enjoyed gluing them together with my code. The squidgy protagonist and meat monstrosity were lovingly integrated courtesy of our art team (AKA our animators in disguise), along with the surrealist music by our musician (AKA also an animator in disguise) in a bespoke crafted level by our designer (AKA a programmer in disguise), forming the weird and wonderful thematic groundwork of this cute squidgy adventure made with love!
Made by Team Programinators, a power team of just programmers and animators.
This is a small, refined portion of my independent, team, game jam and university work. Code samples and game downloads are available on request.
I'm not very active on social media these days - too much noise! Consider pinging me an email :)
The written content and source code of this website is created and owned by Louis Foy.
Unauthorised reproduction of content is permitted if a link back to this page is provided.
If you have any questions, please feel free to e-mail me at louis_foy@yahoo.co.uk.
This website does not use cookies. It doesn't track you, request a registration, or offer a deal. In fact, this box has no function. It is completely superfluous. The box bears the burden of uselessness, not particularly because the box is irrelevant or inappropriate, but because it wagers the valuable time of the diligent recruiter who is carefully sifting through hundreds of promising job applications. However, the box, in its favourably remote and inoffensive position, occasionally enjoys the paradoxical phenomenon where the time the recruiter lost is offset by the time they autonomously invested in reading the box, and the box gratefully accepts this as its sole thread of validation. Why the box is read, and why it was written, are questions that perhaps share the same answer. The box is briefly befriended for being what it is - meaningless. In being satisfied with its meaningless self, the box mimics the actions of the wise people of history by finding happiness in simply being. Once again, the box is truly superfluous no matter how far you read through it. It relishes in happiness alone. The box has no desire to pop up or move. There are no cookies to offer. The GDPR disclaimer is absent. The Accept button get in contact!
There is no meaning. The box exists, therefore the box is sated. In accepting its lack of reason, the box poses a role model for the people who opt to read it. All hail the box. If you would like to discuss the wisdom of The Box over a hot chocolate, let's