┏┓     ┏  ┓•  
┃┃┏┓┏┓╋╋┏┓┃┓┏┓
┣┛┗┛┛ ┗┛┗┛┗┗┗┛
Nicolas G. Mäkelä
nicolas.makela@gmail.com
nmcela @ QuakeNet
2020—2023
HypeHype
Programmer
C++, OpenGL, Metal, CMake
Flutter, Dart
gRPC, WebSockets, WebRTC, GameNetworkingSockets
Windows, macOS, Linux, iOS, Android, Web
Docker, AWS
(Click to play video.)
HypeHype is a game creation platform where you can create, share and play games.

Hilights of my work:

  • low-level networking architecture based on GameNetworkingSockets and WebSockets & WebRTC
  • refactoring a 3D game editor into a serializable networked command-based architecture, allowing multiuser editing, spectator support with full UI syncs, autosave, undo-redo
  • C++ backend managing multiplayer & editor sessions, handling real-time UDP connections from desktop, mobile and browsers, running in Docker, deployed to AWS
  • multiplayer support, including spectators and host migrations
  • particle system, analytics system, various editor and app features
  • game engine profiling and optimizations, interop with Flutter based application front-end UI
  • low-level multiplatform development including Android, iOS, macOS, Windows, Linux, Web via emscripten

2020
REAL TIME GLOBAL ILLUMINATION WITH VOXEL CONE TRACING
C++, OpenGL 4.5
A deferred renderer with real-time global illumination with voxel cone tracing.

Voxelization is performed every frame. The voxel grid is a mipmapped 3D texture which contains a voxelized representation of the directly lit polygonal scene. The cones travel through the mipmap levels and gather samples along the way.

Hilights:

  • voxelization of a polygonal scene
  • indirect diffuse and specular reflections
  • soft shadows
  • ambient occlusion

2023—
WAKA WANHA
C++, OpenGL
Go
JavaScript, HTML, CSS
Web
A physics-based roguelike in development, aiming to be as deep as traditional ASCII-roguelikes yet audio-visually polished to be understandable. Will be released as a browser game with backend created in Go. Closed alpha begins during 2024.

Hilights:

  • based on a custom game engine
  • C++/JavaScript/Go architecture
  • procedural generation algorithms
  • blueprint system for defining scenes including various generator algorithms and gameplay content such as tiles, items, room prefabs, NPC behaviour trees, background shaders, audio ambience with DSP effects

2020-
OIJUS GAME ENGINE
C++, OpenGL
Windows, macOS, Linux, iOS, Android, Web
CMake, Emscripten, Jenkins
Custom experimental 3D game engine written from scratch.

Hilights:

  • core utils including algorithms and data structures, memory allocators, 3D math, A*, multiplatform support
  • node based 3D scene system
  • command based 3D editor, full serialization support including undo-redo
  • OpenAL audio integration
  • AI behaviour trees
  • particle system, shadow mapping, skyboxes, camera utils, grids, billboards, GPU object picking, shape and spritebatching, texture atlasing
  • forward renderer, experimental deferred renderer
  • 2D and 3D physics integration
  • various file format supports: obj, fbx, json, xml, png, jpg, dae, wav, ogg

Legacy

2018-2020
Roguelikes
C++, OpenGL
Various prototypes and procedural generation algorithm research. Behavior tree implementation, goal-oriented action planning (GOAP) tests. A* and a fast non-recursive scan line search algorithm implementations.
2016-2020
Experiments
C++
Go
Java
JavaScript, React, node.js, socket.io
Computer graphics stuff, Trello-clone, browser-based multiplayer poker game.
2013-2016
Android games
Java
Various games developed with Java and LibGDX.