Welcome

I'm Jelle, I am studying to become a game engineer. My interest lie in playing guitar, playing games and of course, programming!


Scroll down for more information.

Who am I?

I am Jelle Vrieze. I love gaming, programming and music. I attend a game development study mostly focussed on game programming & engineering and some desinging. Next to my study I like to play guitar and play some games.

I got inspired to create games mostly through The Legend of Zelda and Mario. I see game engineering as a tool to create your own interactive world; imagination is the limit!

Experiences


My portfolio

The Legion Engine

The Legion Engine logo

Please enable cookies to view video

Please enable cookies to view video

The Legion Engine is a C++ Game Engine. During my minor, start of my third study year (September 2020), I have developed features for the Legion Engine. Up until now I have contributed to playing and loading audio. The engine uses OpenGl for rendering, OpenCl for compute shaders, so I decided to use OpenAl for playing and handling audio. The engine uses an entity component system (ECS) therefore I had to make an audio listener and an audio source component and an Audio System to handle them. One of the developers had already made a file system which is used for loading all kinds of files, and making sure files aren't loaded twice. I used this file system to load WAV audio files.

Loading Audio files allowed me to learn more about digital audio. I have also implemented a channel splitter and channel down mixer (to mono) in the engine, so that stereo files can easily be loaded for spatial audio. OpenAl does not allow stereo files, or multi-channel tracks, to be spatial. The channel splitter loads the audio files under the different names where each track is mono. This feature could for example be used by placing two virtual speakers in the scene. One speaker could play the left track, the other speaker the right track. Of course, files with more tracks can be loaded and split.

The Legion Engine Github can be found by clicking the link.

Technical Details

  • C++
  • Game engine
  • OpenAl
  • ECS
  • WAV file loading

Aan Tafel!

Please enable cookies to view video

Aan Tafel! is a game made in Unity. The project was an assignment given by a local museum. The game had to be educational in some way, and mostly focussed towards children. The duration of the game had to be short, since it would be played in a museum. Aan Tafel! follows different steps of a potato, first the farming stage where it is planted, and taken care of until harvest. Then comes the factory stage, where the potato is cleaned, peeled, cut into fries and packed. At last the kitchen stage, where the fries are used to make diner.

More information can be found here

Technical Details

  • Unity
  • C#

Game Architecture

In my second year we covered a software architecture course. During this course we learned about several programmings pattern applied in games. I didn't feel like I had a grasp on all the patterns, nor that I understand when to use them. I decided to read more about programming patterns and try to apply some, but mostly learn which there are and when to use them. In my final school project I tried to also apply some of the patterns, but only when usefull and necessary, otherwise there is no point to using a design pattern. For code examples and more information visit my Game Architecture page.

Technical Details

  • Programming Patterns
  • Architecture

Boardgame AI

The BoardGame AI project was a small project which I took on to learn about board game algorithms. I learned to implement some well known algorithms which work well with board games, for example Monte Carlo and MiniMax. I first implemented these algorithms on Tic-Tac-Toe and later I implemented the algorithms on a checkers game. Above is a video of the Monte Carlo algorithm playing against a greedy random opponent (this opponent will pick a random move, unless it has the option to jump, in which case it will pick a random jump). Mind that in this checkers game it is not obligated to jump. Another thing is that, once a tile reached the end of the board, it becomes useless, it cannot go backward, unlike real checkers where the tile would be given the power to jump backwards. Since my goal was to learn about AI algorithms I made the checkers game in processing since it is a language in which you can easily and very quick write (small) games and graphics. For some other games like tic-tac-toe and connect 4, I used C#. My school provided me with some start-up code, since Game AI used to be a course. The start-up code only had implementation for the board games, not for the AI's.
I also did a small research on the Monte Carlo algorithm. I tested how well the algorithm plays against the greedy random agent and itself using different sample counts and different depths. This research can be found in the git wiki through the link below. The entire project and research can be found through: AI-Comparison.

Technical Details

  • C#
  • Processing (For checkers)
  • Monte Carlo
  • MiniMax
  • Alpha Beta Pruning
  • Quiescence Search

Nintendo GameBoy

An image of a GameBoy color screen

This is a GameBoy project which I wanted to take on for a long time. I originally wanted to make a Gameboy game in C, but after working in the GameBoy Developers Kit (GBDK) for a while I decided to go with Assembly. From that point forth I used GBZ80 Assembly to program the GameBoy. And the results are not dissapointing, even though it is not even close to a game. I am hoping that I can create a full GameBoy game at some point.

Desprite the fact that GBZ80 Assmebly will not be used a lot, it still helped me to understand the architecture of a processor and RAM. I think this will help me to write better code in higher languages as well.

Click here to see more progress on GameBoy games.

Technical Details

  • GBZ80 Assembly
  • 8x8 2bit (4 color) tiles

Game Soundtrack

Town [BGM]

Scary [BGM]

Since I am also really interested in music, I wanted to try to write a few background tunes for games. To start this off, I did research on how, for example, Koji Kondo writes music for Mario and Legend of Zelda. I also took a look at techniques used in game soundtracks. And together with the musical knowledge I already had, I came up with these two tunes. Town is music written for a peaceful village or... town. Scary is written for a dark cave where the player does not know what he/she will find. In order to picture this, imagine the town music being played while being in a town in The Adventure of Link and scary when Link enters the basement of one of the houses. I also used the described scene of The Adventure of Link to picture the music when I had finished writing the music.

Technical Details

  • Written in Musescore
  • Inspired by Koji Kondo

Gear

An image of the game 'gear' An image of the game 'gear' with hitbox lines An image of the game 'gear' with hitbox and without background

Gear was the last school project of the first year. The Assignement was to make an 'incredible machine'. Everything had to be made with physics in mind, since that is the core aspect of the incredible machine. The goal in Gear is to get the minecart out of the mine. A city no longer has power and you need to fix that. The player places the objects shown on the right in the right places to get the minecart to the bottom layer of the mine.

For this project we also had a physcial part, a chain reaction. A chain reaction set off by another team would continue to our machine and then trigger a sensor connected to the arduino. From here the game would continue and uppon completing the game, the chain reaction would continue. Since we were working with the arduino already we chose to make an arcade casing for our game (with the chain reaction around it) and a custom controller powered by the Arduino.

The first image shows the game. The second image shows hitboxes alongside the game, the last image shows the hitboxes without background.

Technical Details

  • C#
  • Provided custom engine
  • 3 Artist, 2 Designers, 1 Engineer (me)
  • 2 Weeks
  • Custom controller
  • Arduino

Click to close

Contact

You can click on any of the above links for my profiles or you can also send an email to jelle.vrieze@gmail.com