Programmer
ROB-O-TAP (android / ios) - Unity engine
My first game as a game developer/programmer was ROB-O-TAP, made in 2014, the whole game was programmed by two of us. The challenge was the limited resources of mobile devices at the time, but we managed to make the game run nicely on android and ios.
I have also worked in most areas of development:
Core gameplay
Game logic implementation
Implementation of the traps mechanism
Item inclusion
3D UI control
Programming animations for robots and traps
Playing game music, playing sounds of different elements, matching robot sounds to animations and implementing the complete sound playback system
SDK integrations (facebook, twitter, AD, stb.)
Optimization
Daytona Rush (android / ios) - Unity engine
It was very popular in its time, especially in America, it was on the top of the charts during the nascar periods. There was a lot of news about it. Simple mechanics, but it was a lot of fun for many people.
In this project, I worked on the following before publication:
Core gameplay features
UI (previous full UI code refactored)
Unique Achivement System
Save system and configuration database
SDK integrations (facebook, twitter, AD, stb.)
Optimization
Give It Up! (android / ios) - Unity engine
The original prototype code has been completely replaced by the code for Give It Up! 2. I detail my work there. Later, the graphics and the track were reset to the code of the new game. I made and released many updates (bugfixes, content updates, etc.) for the game, both in PlayStore and AppStore. In China the game became very popular, it was on the top charts for a long time.
Give It Up! 2 (android / android tv / ios) - Unity engine
I worked on its development from the ground up. The biggest challenge was caused by the sound slippage of the then android systems, after starting all unity music (on android this is the native music player) the music started with a delay that varied from device to device, which is a disaster for a rhythm game. I created my own solution for this, with a unique approach that allowed the blob to arrive on the platforms at the right time without any slippage.
My main tasks:
Game logic operation , core gameplay
UI
Editor tools (see UMU tools below) and track editor for developers
Non-slip sound system
Save system and configuration database
SDK integrations (facebook, twitter, AD, stb.)
Optimization
Give It Up! 3 (android / ios) - Unity engine
It was partly based on the previous game, but a lot of new things were needed.
My tasks:
Design and implementation of a developer-friendly, multi-module 3d track editor (2d, 3d, curve, environment, platform property editor).
Automatic curve generation, operations with curves.
Presentation layer of the modules.
Automatic environment generator, and environment editor, ingame environment loader.
Automatic OS-dependent non-slip sound system, complete with 3d sound system, automatic audio database, detailed audio setting options per sound.
Dynamic loading of ingame tracks, depending on minimum height, theme and track area.
Ingame platfoms under "line/shadow", with line renderer.
A reusable hardware detection tool, the game will start on different quality settings on devices of different strength.
Use a proprietary UI plugin system throughout the game that supports both 2d and 3d UI.
Redesign of the GIU2 save system (game saves and track saves, save curves, save environment)
Cut music, later automate music editing with your own plugin.
Game optimization:
Lodge ingame platforms and environments
Optimizing the loading of scenes
Coordinating programming jobs.
Malazard (steam VR) - Unity engine
The game was programmed by two of us, during 3 months of development. It was more of a technology demo than our first VR game.
Main tasks:
3D UI functionality
Operation of game elements
Opponent characters:
Generating attack waves in a tunable way
Programming their behaviour (AI): HP, attacks, defence
Scene transitions and main menu operation
Controller operation in VR
Optimization
For this game, I did the porting of the entire game to xbox (including submission) on my own. I optimized the PC version in places and several adaptations were necessary to support xbox guidelines (for example, support for user profiles linked to the controller). By integrating the xbox sdk, I solved the full support of previous features on the platform.
Gummy Heroes (android / ios) - Unity engine
I joined the project in the second half of its development.
Main tasks:
Develop core gameplay elements
Saving system
Programming the UI functionality
Optimization
Give It Up! Plus (steam) - Unity engine
The aim was to port the popular Give It Up! game to PC platform. My main task was to implement an easy-to-use track editor for players, steam integration, data backup and cloud sync. It was originally based on the code of Give It Up! 2, which I wrote about earlier.
Give It Up! Bouncy (android / ios / nitendo switch) - Unity engine
Building on the popular Give It Up! brand, we tried a new mechanic.
I worked on the following tasks:
Team lead
Inter-departmental communication
Assigning and checking back programming tasks, enforcing requirements, maintaining code quality
Designing the game structure
How platforms work and the associated data structures.
Track editor and save track data
SDK integrations (Playfab, ADs, stb.)
Support for PlayFab cloud sync and other live functions (sending messages to players, promotions, game version control, etc.)
Use and development of own UI plugin system (timed animated panel changes, seamless back function, etc.)
Reusable hardware detection tool, the game starts at different quality settings on devices with different strengths.
Custom save system and configuration database.
Multi Battle (mobile game prototype) - Unity engine
In this game, I worked on the implementation of multiplayer, lobby, data synchronization, core gameplay. The game hasn't been released, I'm just listing it as a point of interest.
Deeprealm Odyssey EA (android / ios) - Unity engine
I worked on the following tasks:
Project manager / Team lead
Communication between departments
Assignment and review of programming tasks, compliance with requirements, maintenance of code quality.
Continuous measurement and reporting of progress and costs
Opponents (AI):
Programming their behavior: HP, attack, defense...
Save and configuration databases
Optimization
Flåklypa Grand Prix (steam, nintendo switch) - Unreal engine
We made the racing parts of the story game inspired by the popular Norwegian puppet film. Several studios worked on the whole game to achieve the best possible quality.
Here I worked on the following tasks:
Project manager / Team lead
Communication between departments
Assignment and review of programming tasks, compliance with requirements, maintenance of code quality.
Continuous measurement and reporting of progress and costs
Racing AI:
Tunable strength (easy, medium, hard)
Use of items that can be picked up on the field (oil spill, lightning, etc.)
Optimal and varied access to routes. It basically works with spline tracking and uses the road data to predict when you need to slow down and how much you can drive on a given stretch of road. It always tries to follow the optimum arc if there are no obstacles on the road to be as efficient as possible.
Cath-up system (player tracking, with multiplayer support), i.e. there will be AI cars around each player in multiplayer mode to give a sense of the competitive atmosphere.
Collision avoidance, effective overtaking, AI team communication. The AI constantly monitors the cars around it and tries to take advantage of the track to avoid collisions, for example, by pulling over much more.
For each track / game mode / car, I tuned the AI I implemented according to the design request.
Optimization (nativeizing or rewriting blueprints in c++).
Maximum Football - Unreal engine
I got involved in the development of American football later. My main task was to develop soccer AIs and debug existing systems.
A few things from these:
Timing of AI initialisation to ensure that all necessary data is available from GameMode.
I have introduced a separate commonData layer for AIs, where data is updated for appropriate game events and all AIs directly request game data only from here. So there is no need to access all layers.
Simplification of behaviour trees and programming of more generic BT tasks, BT services for newer requests.
Different game modes supported by AI, divided by roles.
Mudfest - Unreal engine
A mud-swashing car game based on custom-developed technologies.
Here I worked on the following tasks:
Team lead
Assigning and checking back programming tasks, enforcing requirements, maintaining code quality.
Vehicle AI development
Driving cars using custom physics, through an interface I define. For this I designed a custom AI plugin (completely coded in c++, no blueprints used). I will detail this AI plugin in the custom company development section below. It has quite a lot of useful features, it supports all existing AI features of unreal.
Character AI development
Implementation of AI characters with unique behaviour, walking and cheering on tracks and reacting to their environment.
I have also done porting, including submission processes, for XBOX, AndroidTV, PlayStore, AppleStore, Steam, for the above mentioned projects and others. My tasks included integrating various SDKs into games, such as AD, Cloud services (playfab), MultiPlayer (photon). I often created editor tools to simplify/automate workflows.
To speed up and simplify the developers' work, I created Unity editor tools.
Unity development tools (UMU - Unity Mikuci Utility)
Unreal engine AI plugin
The goal was to create a custom AI plugin, using unreal engine AI technologies such as Navigation mesh, Behavior tree, Perception, RVO, etc.The plugin consists of several modules, the generic part is the largest, which can work regardless of pawn type, extending the unreal AI tools. The other tasks are done by the pawn specific AI layers. Short summary here: LINK
The VR made a video with us