John Ordoyo

Aspiring Software Engineer. Passionate for creating solutions for everyone to enjoy.

About Me

Greetings visitor! My name is John Ordoyo, an asiring software developer with a Bachelors of Science in the Software Systems Program at SFU. I’ve always loved to build things for people to enjoy, and software engineering has become a domain for me to express such creativity.

I am eager to become a software engineer in either the Game Development, Animation/Film, VR/AR/XR industries or in any form of 3D interactive space and applications. However, I am also keen in picking up traditional software development roles. Listed below are some projects I’ve worked on. If you’re interested in learning more about these projects don’t hesitate to contact me!

Skills

Projects

OpenGL Image

NBA Stats Analyzer (Ongoing)

An ongoing, end-to-end scale solution fueled by my interest in NBA and sports! As an NBA fan, I wanted to dive deeper into the game by analyzing player data and trends. This project is my attempt to develop a scalable data pipeline that collects and processes NBA game data to uncover intersting and meaningful insights

What it does:

  • Scrapes 40,000+ game logs and 500+ player records using Python (Beautiful Soup, Pandas) while respecting Basketball Reference's scraping policy
  • Stores data in Azure Blob Storage (Raw Data Landing Zone) and Azure SQL Database (Curated Data Zone) for flexible querying and analysis
  • Uses Delta Live Tables (DLT) in Databricks with a Multihop architecture to process raw data into offensive and defensive player rankings.

What's next?

This is an ongoing project, and I plan to:

  • Build a front end to visualize player stats and trends
  • Develop a backend API to fetch real-time data for more dynamic insights.
  • Expand the dataset to include advanced analytics, most recent trends, per position and per team statistics

Related Technologies / Skills

  • Python
  • Pandas
  • Azure SQL Database
  • Azure Blob Storage
  • Azure Databricks
  • Data Engineering

Media Links

OpenGL Image

Rendering Engine (Ongoing)

A work in progress rendering engine made with OpenGL designed. As someone who has a keen interest in 3D graphics and rendering, I've developed a custom toy rendering engine to better understand the inner workings of immersive digital experiences.

Features:

  • Custom Linear Algebra Library: Built from scratch in C-style C++ and C++ classes for efficient vector and matrix operations.
  • Mesh Loading & Rendering: Integrated the ASSIMP library to load complex 3D models seamlessly.
  • Transformable World Objects: Implemented transformations and rotations for cameras and models to create dynamic, interactive scenes.
  • Lighting System: Added Phong shading with multiple lighting styles, including directional, spot, and area lighting, to bring scenes to life.

Planned Features:

As this is an ongoing project, I plan to:

  • Physics Integration: For real-world dynamics in 3D environments
  • Optimization Techniques: To improve performance and scalability

Related Technologies / Skills

  • C++
  • C
  • OpenGL
  • GLSL
  • Computer Graphics

Media Links

Train Danger Image

Train Danger

A first-person, puzzle game where the player is tasked with stopping the train. The player will have to solve different puzzles at each cart in order to reach the engine.

Each cart has a unique puzzle, so no 2 carts are the same! Hint: Observe and use your surroundings to solve the puzzles! Play the game by hitting the View Project button below!

Related Technologies / Skills

  • Unity
  • C#
  • 3D Modelling

Media Links

Train Danger Image

Unreal Engine Third Person Shooter

A simple third person shooter built in Unreal Engine for the JumpShipJam 2023 GameJam. This project is complete with:

  • Third person controllers build with C++ and Unreal Blueprints
  • Enemy pawns controlled with Behaviour Trees equipped with custom C++ Behaviour Tree Tasks and Services

Related Technologies / Skills

  • Unreal
  • C++
  • Unreal Blueprints
  • AI / Behaviour Trees

Media Links

Train Danger Image

VR for Emotional Regulation

A series of VR projects developed for the SFU TECI lab designed to aid with emotional regulation and research. Each project was to be completed in 2 - 4 weeks at a time, each with different objectives and themes.

The following projects are listed as follows:

  • Sketch 1: Magic Wand: A single player VR experience designed to help users overcome their phobias with positive spells.
  • Sketch 2: Emotional Brush: A VR drawing experience that enables users to reconcile positive and negative emotions in a creative space.
  • Sketch 3: Scene Switch: A single player VR experience that aids users with anxiety by diving into the minds of surrounding actors.
  • Sketch 4: Social Emotion Labelling: A Multiplayer VR experience in which players can collaborate and pin-point emotion areas with interactive emotion elements.

Related Technologies / Skills

  • Unity
  • C#
  • Networking
  • VR
  • Photon Networking

Media Links