VR Games

While the VR hype has slowed down a bit, improvements made to the glasses them selfs will make it so more and more people would start to play these types of games. And being a game developer, it can be usefull to know what it is like to develop these types of games. That’s why I’ve created a few very simple VR games to get to know what it’s like to create these types of games. For this I used the Unity game engine and the OpenVR package to use the VR capabilities. There are 3 games I’ve made, to get more familiar with developing for VR.

I’ve spend around 30 hours in this so it could be improved much more.

Hobby project, Voron Trident 3D Printer

For about a year now I’ve been interested in 3D printing and how they work. I’ve built my own 3D printer in the form of the voron trident, an open source 3D printing project. With a kit I was able to fully assemble, program and calibrate into a functional 3D printer that I use for my other hobbies, such as making cases for Raspberry Pi’s and Arduino’s.

OpenGL

OpenGL is an API that enables you to program on the GPU. OpenGL enables you to create 2D and 3D visuals on any supported gpu.

I wanted to get a better understanding on how games are able to render though to GPU. OpenGL is well documented and there is a website that guides you though it. With this guide i was able to learn about space transformations, different types of lighting and texture mapping, and about highmaps. With this knowlage I’m able to write shaders that can create nice visuals efficiently.

Hardware Volume Mixer

A hardware volume mixer for windows to change the volume of individual applications. It’s build with the Tauri framework in Rust and uses multiple threads to efficiently read the data from an arduino to control the volume of different applications on Windows.

Machine Learning

This project was all about machine learning. For unity you have a package called ML Agents which makes it possible to quickly program an Agent that you can learn anything. The way it works is that you first have to program an Agent so that it can move around. This is just like how you would program an Character controler. Than you can hook up this Agent to a training module. The training module uses Pytorch, a open-source python based machine learning library. Unity hooks up to this module to recive inputs made by Pytorch.

I already created multiple examples. The one shown in the video is an AI that has learned to race around a track. The video shows how many stepds it takes to get to a certain level.

Unity Tooling

In unity you can create your own tools. You can do this to speed up your game develoment. Having knowlage on how you can create these tools is very usefull to do a handfull of thing.

With this tool that i created, you can map out a node graph to a 2D terrain. Once you are happy with the node graph, you can generate a city with the click of a button. All houses are also fully procedural generated though building blocks so every time you hit generate, it will create a unique city.

Garbage Garry

For a group project during my education Creative Media & Game Technoligies, we had the task to create a game that would address an problem in the way we life. For this we decided to try and show what happends when you litter. This game was made with the intension of being played on an touch screen such as an iPad and would be displayed in a museum. For this group prodject, we had 2 egineers, 2 designers and 2 artists. As an agineer myself, i worked on the movement of the player, aswell as the tongue mechanic. I also helped with being able to save a score on the device itself. So players would be able to so how well they did compared to other players. This is one of the better group projects I did, as I’m very happy with the result we where able to create in 6 weeks.

Rust and ECS with Bevy

This is a very small concept game I made. I’m starting to find low level programming more and more fun. And I heard of this programming language called Rust. Turn out there is a game engine already written in Rust called Bevy. And Bevy is written fully in an ECS style. All of this meant I had to try it out.

I’ve wrote an extensive artical with my findings, you can read it up here:
https://docs.google.com/document/d/1hOeQwjR_CJVC0Of7oD_VMyLSkQ-X_Xg80WL6BU8sLnU/edit?usp=sharing

You can also check out the Source code on my github page:
https://github.com/We-Bus/bevy_playground

Unity Networking

Gaming online is getting more and more popular as time passes by. The days of multiplayer games meaning being on the couch with your friends at the same place is over. For a lot of games, they would not even work without their online capabilities, for example battle royal games or MMORPG’s. That’s why I think it’s important as a game developer that you at least have an understanding on how this networking works. That’s why I’ve dedicated a school module on getting to know what it’s like to create online games. For that, I’ve created a small game that I would describe as a lobby simulator. It’s a small world where players from all over the world can connect to and explore in. Players can talk in the proximity based chat to communicate with each other. There are also some interactables in the world, where multiple players need to work together to gain access to certain areas. I’ve also played with some networking techniques such as client side prediction and interpolation. These are also implemented in the game. For this I used a package called Mirror. Mirror handles a few thinks for you such as the transport layer and packet serialization. It also has more functionallties, but i’ve tried to avoid those in favor of creating them myself.

Unreal Engine

Right now, most of my game programming experience is in Unity. But what if I wanted to work on a project that is being build in an other game engine, for example Unreal engine. That’s why i decided to try the Unreal Engine out. This was my first every game i created in the Unreal Engine, and with my prior experiance, i was quickly able build up a small game.

Bevy 3D with Blender

I made a small 3D game to broaden my knowledge of bevy. I also used the Blenvy plugin to utilise blender as a game editor.

I also wrote an artical with my findings:

https://docs.google.com/document/d/1pgefJXbGehMMoIRPIEWL69sXf4xbim0xjoKPQqOv0p8/edit?usp=sharing

You can also check out the Source code on my github page:

https://github.com/We-Bus/bevy_playground

Arcade game

This was one of the first ever game projects i worked on. Prior to this i did not have a lot of programming skills so im very proud of what i’ve been able to make. This was a group project where i did all the programming for.

Portfolio

About me

I have been fascinated by computers for as long as I can remember. One of my earliest memories is sitting in front of a large CRT monitor, exploring everything I could on my first PC, mostly through gaming, as I had no idea back then that you could actually create software instead of just using it.

As I got older and finished high school, I wanted to turn my passion for computers and gaming into something tangible. This led me to ROC van Twente, where I studied Interactive Media Development. This was my first real introduction to programming, primarily through JavaScript and web development. While it wasn’t the most traditional way to learn programming principles, it sparked my curiosity and set me on the right path.

After completing that program, I wanted to delve deeper, so I enrolled in the Creative Media and Game Technologies program at Saxion University of Applied Sciences. This was where I truly immersed myself in game development, transitioning from JavaScript to more low-level languages like C# and C++. At first, it was a challenge, but once I grasped the basic principles, I loved working with them. During this period, I also gained extensive experience with Unity, developing tools, experimenting with networking, and building VR integrations.

At the moment, I am focused on game development, with my most recent expertise in VR and networking within both Unity and Unreal Engine. Additionally, I have been increasingly exploring Rust and aim to work more with embedded development in the future. Beyond programming, I have also learned a lot from my new hobby: 3D printing. Building my own 3D printer from scratch was not only a fun challenge but also gave me foundational knowledge of mechanical design, electronics, and firmware development.

I am currently looking for a job that aligns with my broad interests and skills. I enjoy working on a variety of projects, from game development and networking to VR. Discovering new technologies and expanding my knowledge excites me, whether that means diving deeper into new programming languages, experimenting with new game engines, or exploring software and hardware development. I am also interested in working with 3D printers, both in programming and control as well as in assembly and installation. Ideally, I see myself in an environment where I can challenge myself and continuously grow.

I work well in a team, communicate effectively, and contribute to collaborative solutions. At the same time, I take responsibility for my own tasks and can work independently when needed. Whether I am part of a team or handling a project on my own, I stay focused, organized, and driven to deliver high-quality results.

Education

  • Canisius Almelo - 2010-2014
    VMBO - Niveau T
  • ROC van twente - 2014-2018
    Mediavormgeving - Niveau 4
  • Saxion - 2018-Present
    Creative media and Game technologies - Bachelor

Job experiance

  • SD-Webdesign - 2016-2018
    Web Developer
  • BauWatch Technology Group - 2019-2021
    Support Developer

Skills

  • HTML/CSS
  • Javascript
  • PHP
  • C#
  • Git
  • Unity
  • Creative cloud stack