Portfolio - Tradam.dev

Email: contact<at>tradam.dev

this is a little blurb about myself

Orc: Arena of Time

— Raylib/MRuby Game

January 2022

Short game that won 1st place in the Raylib 5K gamejam.

Controls:
All controls are fully explained in game.

  • W/A/S/D - Move
  • R - Reset Level

Group Project(2 people)

  • Effectively cooperated in a team of 2 to build a better game, faster.
  • Went from an idea to complete working prototype under a tight deadline of 8 days.
  • Utilized multiple custom in-house made tools which allowed for more efficient development speed and better code organization(Used MRuby-Raylib and FelECS).
  • One of 41 submissions in the Raylib 5K Gamejam, our game won first place both by popular vote and judge's vote.

My Contributions:

  • Level transition animation system
  • Level "Scissor"(or Box) pathing system
    • Multiple paths can be chained together using any arbitrary equation(linear, quadratic, bezier, etc)
    • The size of the "Scissor"(or Box) also follows a chain of multiple arbitrary equations(linear, quadratic, bezier, etc)
    • Having textures/text appear or disappear after the Scissor has passed over a given location
  • How a given level is stored in code(before it is loaded)
  • Character animation
    • Character turning around
    • Tying running animation speed to character speed
    • Character Death Animation
  • Level design(First Level and Maze (3rd)level)
  • Input system
  • Collision resolution

FelECS

— Engine Agnostic Pure Ruby ECS

May 2021 -

ECS implemented in Ruby with goals of being easy to incorporate/use in projects, reliable, and heavily documented.

Solo Project

  • To ensure reliability the test coverage goal is 100% coverage. This target is consistently maintained since the library's initial release in July 2021.
  • To ensure ease of use the documentation coverage goal is 100% coverage. Using Yard documentation coverage is automatically reported as well as automatic generation of documentation.
  • Is continuously being developed to this day to add new features as well as rework and optimize older ones.
  • Built various games using this framework in order to stress test its usability(Orc: Arena of Time, Steelwings, Ruboids)
  • Enables faster development by keeping code organized and modular while the simple syntax stays out of the way.

MRuby-Raylib

— MRuby bindings for the Raylib Graphics Library

May 2021 -

MRuby bindings which allow easy use of the C library Raylib.

Group Project(2 people)

  • Allowed for better understanding of how wrappers and bindings to C libraries are structured and designed.
  • Working on this project gave a better understanding of how a high level language like Ruby works under the hood, as well as how a language like this would interface with C code.
  • Enables the ease and speed of coding with Ruby, while still having access to advanced OpenGl/Raylib C functions.
  • Working in a group allowed us to cover each others faults and weaknesses resulting in not only faster development time but also better code. When one of us would run into a problem or make a mistake the other person would be quick to assist and keep development going forward.

Steelwings

— Raylib/MRuby Game

January 2022

Short game made for a university club gamejam.

Controls:

  • Mouse - Point to fly towards
  • Left Click - Shoot

Group Project(2 people)

  • First gamejam game we made which utilized my custom made tools(FelECS)
    • Identified issues with the design by both having the tool used by someone else and myself for a larger project.
    • Was able to use these insights to further develop and improve FelECS.

My Contributions:

  • Set up a boid system with FelECS where additional rules could be easily added.
  • Hitbox detection system
  • Bullet shooting system

Ruby2D Camera

— Fill this out

Start date - End date

Solo Project

  • Did a lot of math
  • Did from scratch

Ruboids

— Fill this out

Start date - End date

Fill this out

Solo Project

  • You need to fill out these bullet points
  • You need to fill out these bullet points
  • You need to fill out these bullet points

Arbitrary Convex Polygon Collision

— Fill this out

Start date - End date

Fill this out

Controls:

  • Mouse: Move hexagon
  • W/S: Change size
  • A/D: Rotate
  • +/-: Change number of sides
  • Hold Shift + A key above: Apply on stationary shape

Solo Project

  • You need to fill out these bullet points
  • You need to fill out these bullet points
  • You need to fill out these bullet points

Winter One

— Godot Game

Start date - End date

Fill this out

Controls:

  • Mouse - Point to move
  • Left Click - Begin Shooting
  • W/A/S/D - Move
  • Space - Toggle Shooting

Group Project(2 people)

  • You need to fill out these bullet points
  • You need to fill out these bullet points
  • You need to fill out these bullet points

Optimal Direction

— Godot Prototype

June 2019 - November 2020

An old prototype racing game.

Controls:

  • W - Drive
  • A/D - Steer
  • Space - Brake
  • Shift - Drift/Grip

Solo Project

  • You need to fill out these bullet points
  • You need to fill out these bullet points
  • You need to fill out these bullet points