top of page

Orion Peace Roussopoulos

I work with game designers to make their design ideas reality. I have over 7 years experience working with code and have experience in C, C++ C#, Python, Unity, Unreal, Git and various other programs, I’ve also put a lot of time and effort into understanding and developing game design principles. This enables me to more easily take the ideas expressed to me by designers and build robust systems and tools that are easy to understand and use. I’m constantly learning and expanding my skill set in order to make myself even better at what I do. I also play and run games of dungeons and dragons to further develop my design skills and better myself at interpersonal communication.

Portfolio Video

Projects

These are either my best work, or the projects that show off specific skills or knowledge.

image.png
image.png
image.png

DDF: Digital Defender

DDF: Digital Defender is a game I created a prototype for over 3 months for Tech Safe Kids as part of a 7 person team from The Centre for Digital Media. It is a turn based card game designed to be the main draw and review tool for a larger website with the goal of teaching 10 - 14 year old's about online safety.

​

Being the most experienced person on the team when it came to game development I took on the roles of lead programmer,

co-project manager mainly managing our pipeline and setting goals for the team on what needed to be done, and designer where I helped with ideation and designing systems.

​

This was my first true experience with managing a team with about one third of my time on the project being delegating work to the other programmers, working with them to design sections of the codebase and working with the design and art leads to figure out what was needed for the game on their end.

​

With the two other programmers on the team being very systems based I found myself doing primarily UI programming throughout the project. Mainly working with how playing cards, moving around the battlefield and the enemy playing cards looked and felt which involved a lot of shifting things around to properly communicate everything to players.

​

I also worked on various systems such as the movement and by extension grid system the game has, the card playing logic as well as doing quite a lot of work to make the enemy AI smarter

Legacy Miners

Legacy Miners is a game I made in Unity with a team of fellow student designers and programmers over the course of a full year.

It is a procedurally generated rogue-like. Inspired by games like Rogue Legacy and Terraria.

​

Due to having one programmer for every four designers, I ended up having a hand in almost every system of the game, however there are a few highlights.

​

There was an issue with how Unity's rigid bodies handle multiple hitboxes next to one another, so I had to write the full movement system nearly from scratch.

​

Obviously with a game like this you need a procedurally generated map. Starting from a basic system a team mate had made in pre-production, I made a system to distribute individual ore blocks, large blobs of ore, and designer made level elements into the level. 

​

An inventory and crafting system was required. Using Unity's scriptable objects and custom editors I was able to make a system for making new items and crafting recipes that was quick and easy to use for designers.

​

With the lack of programmers a lot of systems were initially prototyped by designers and later refined by me.

DigGame1.png
PocketDex1.png
PocketDex2.png

PocketDex

I am a massive fan of the Pokemon games, but often get frustrated with the informational clutter many third party wikis use. So back in 2021 when I was asked to make a C# application with the purpose of being a tool, I knew I needed to make a more streamlined source of information.

​

PocketDex is an application for finding information about pokemon. After pulling data from PokeAPI the program saves all information as JSON files within organized folders that it will try to find in the future in order to use instead of using PokeAPI.

​

The main page of the application holds all pokemon in alphabetical order. You can sort through said pokemon either by name, through a search bar, or by type using two drop down menus.

​

Once you actually look at a pokemon, various other information is called from the API/Files in order to show things like the various moves of the pokemon, type matchups, and the locations which the pokemon can be found in.

Early on with my time at LaSalle I made a very primitive copy of Super Mario Bros, also copying over level 1-1. This copy was made in XEngine which is a bare bones C++ based engine made by a former instructor at LaSalle.

​

Roughly 2 years later I would come back to this clone, needing a base for my networking final. Most of the actual game code is less than perfect, but the network code is what I am truly proud of and why it is here.

​

The game has one player playing as Mario while 1 to 3 others attempt to place enemies and blocks in their way in order to defeat them. Whenever Mario is defeated or wins, a new Mario player

is selected.

​

The game uses a TCP connection with communication kept to the bare minimum in order to reduce lag. In retrospect UDP likely would have been better for accomplishing that goal, but a TCP connection was quicker to set up in the incredibly tight span of time I had to write the code.

​

In order to make sure all messages are received and processed quickly an additional thread is used, constantly grabbing any messages that come in and saving them for later parsing.

1-1 Versus

Mario1.png
Mario2.png
AI2.PNG
AI3.PNG
AI1.PNG

AI Hide and Seek

An AI Simulation of hide and seek. 

The hider evaluates various hiding spots it could take, taking account of things like distance before making a decision. It then actively updates where it is hiding as the seeker moves around. When spotted by the seeker it runs away in a straight line.


The seeker randomly roams the arena looking for the hider using a vision system. Once it finds the hider it attempts to chase them down. Should the hider escape the seekers vision the seeker will then travel to the last known location of the hider in order to try and find them again.

Both hider and seeker use an object avoidance system in order to attempt to avoid running into the hiding spots, though it could do with being a bit more aggressive at times

Education

2024-2025

Masters of Digital Media
The Centre for Digital Media

While at The CDM I have been able to work heavily with clients as well as people from other disciplines in order to refine my skills in both collaboration on a team and working with specific and shifting requirements set by clients

2019-2023

Bachelors of Science & Game Programming
Lasalle College, Vancouver

While at Lasalle I was able to refine my C++ abilities, and learn Unity C# along the way. I worked in teams to make games, as well as made personal projects ranging from console based SQL projects to online multiplayer games

bottom of page