top of page

Portfolio

Hey! I'm Sebastian! I'm a maker/builder/executionist!

Projects

The following shows my coding adventures since I started in 2020. Except "Pong Evolution" these are all personal projects.

itch-poster3.png

Pong Evolution (Unity, C# | 2021/2022): A game I created for University. Teamed up with another student who helped me to playtest. It started as a mixture of Pong and RPG but ended up being a Idle-Cliker-Merging game. Gameplay: Discover all creatures by merging two identical ones into a new one. Creatures give you money. Click them, merge them to get new creatures or buy upgrades to get more money to buy more/better creatures. Since the provided UI framework was so unintuitive I created my own 2D/UI framewotk to fasten the development. This often helped me to reduce multiple lines of code to a single one. I also applied my selftaught project-management skills that I learned  from my previous personal projects listed below. I was able to create multiple Iterations, only having to work 1h a day and finished 1 week before deadline.

My Unity 2D/UI Framework

My Unity 2D Framework (C# | 2021/2022): A 2D/UI framework written in C# for Unity inspired by libGDX. This framework contains an Actor class that is supposed to make the usage of RectTransform and its Utility classes easier to access and comprehend and allows the user to position the object easier in the scene utilizing alignments. Action classes are provided to quickly and easily create timed behaviours and animations such as MoveTo/MoveBy/ScaleTo/Delay/Sequence/Parallel and more.

Virtual Phone

Virtual Phone (Java | 2021/2022): I turned my previous Minecraft mobile phone mod (GTA 5 inspired) into a standalone app. It has its own simple "OS" to run apps and contains apps such as an app store and a built in editor/game engine to create custom apps with. I pushed through to reach minimum usable state of the phone OS and the editor before I decided to change the editor into a standalone app. I was able to finish it 2 weeks earlier as planed. Took me ~6 Months in total. In this period I woke up at 4:30 a.m. to be able to work on it before my university lectures. I firmly believe that willingness, perseverence and just a small amount of time each day is the recipe for change and reaching your goals and dreams. Design it in a way you are most comfortable with not stressing/overworking yourself to be able to do it for the long term. Enjoy the overall process and learn to live the lows. You may be slower than others but soon you will realize how hard work & perseverence simply outperforms talent.

Features & Functionalities: - General > Strong Focus on UI/UX > Custom Skin - Loading Screen: > Displayed while assets are loaded - Home Screen: > Displays all project internal app classes and their corresponding icons. > Utilizes masking and a custom Shader using OpenGL & GLSL to automatically round the edges of the icons. - Navigation bar: > Contains a home button and cache button (opens the Cache Screen) - Cache Screen: > Displays all opened apps for them to be resumed ore closed - App Screen: > Displays the screen of an app. > Automatically sizes the apps' viewport to fit into the phone - App API: > Provided interface which allows to create, render, pause, resume, resize and dispose an app on the phone > Built on top of libGDX framework to be able to run it as standalone application as well - App Store (App): > Purpose: Enables downloading apps on the phone. > Displays apps (icon & names) available on the server > Client to Server requests to obtain a list of all available apps on the server > A Server serving client requests with a list of all available apps(names, icons). > Logic for downloading, compiling and loading app files from the server exists but is not added to the app yet. - Editor / Game Engine (App): > Purpose: A Unity like game engine / editor to create custom apps for the phone. > Project screen: Lists all project directories on the desktop & allows to create new ones. > Editor screen: Consists of Scene View (displays all entites in the scene), Project View (Directory Tree and Content Browser listing all the asset files), Hierarchy (lists all the entities) and Inspector(lists all the components/systems and their attributes). > Context Menus for the Project View and Hierarchy with functionalities like renaming, deleting, creating dirs/entities of a certain type and more. > Drag and drop functionality to drag in textures from the content browser into the scene/ hierarchy/ a component/ or moving and inserting dirs/entites inside the directory tree/Hierarchy. > Utilization of Entity Component System (ECS) to display the scene. > Scene: Camera movement via WASD/ right mouse button press and mouse focused zoom > Available default Components (Transform. Canvas. Camera, Image,..) and Systems (RenderSystem, DebugSystem,...) > Custom scripts (in this version the scripts have to be project intern). > Scans the project for every Component and System and lists them in the editor > Annotations to display private fields in the editor, update field values when changed in the editor and additionally call methods

Game Engine & Editor

Editor/ Game Engine (Java | 2022/2023): The Editor from  the Virtual Phone as a standalone app. The idea was to create an editor focusing on 2D pixel art games, accessibility, visual appeal and quick & ez creation of iterations and code/project organization. When I started using Unity I disliked the unintuitive feel and simply wished that the environment itself would be more creativiy sparking. I've also noticed that when trying to implement sth new into a bigger organized code base time is wasted due to trying to think of a way to implement the new logic that keeps the order. I already got an idea for a solution that i want to implement in the editor. It's still in prototyping phase since I'm still having to figure out the UI + functionalities to fullfill my goal. The design already went through a couple of iterations though. The current state of the editor is displayed in the video above. Having started this iteration from scratch many pre existing functionalities are not included yet. During the development I bought myself a course about Programming Design patterns which improved my code a lot. Also learned about UX/UI Design by reading, watching videos & through iterating. Decided to hold the development after some months to gain more experience using game engines first.

Features & Functionalities: > Heavy emphasize on UI/UX > Custom Skin > Hierarchy (Improved) > Directory Tree (Improved) > Each in-editor project utilizes a given external java project root directory which contains src and asset files. Those project directories are modifiable with any IDE (just like in Unity that utilizes Visual Studio for scripting) > Utilizes Threads to efficiently watch for changes in project directories, re-/load assets, and re-/compile and re-/load scripts at runtime. > Content browser (Redone) > Utilizes artemis-odb library for the ECS > Inspector which lists all loaded scripts and components > Annotations for fields to be modified in the editor (Redone) > Integrated Console for displaying logs > Serialization of the scene(entities, components and their values) > ChatGPT integration > Shaders written in GLSL to round the edges of UI elements and cast shadows > Efficient asset management (loading/removing and disposing, use of texture atlasses) > Heavy emphasize on clean code (readable, easy to understand, well organized, commented & documented and maintainable) > Strong utilization of design patterns like DRY code, Single Responisbility Principle, Dependency Injection & Inversion. (Aming to get highly proficient utilizing SOLID principles)

Minecraft Mobile Phone Mod

Minecraft Phone Mod (Java | 2020): These are my first computer programs I have written. Taught myself Java & Minecraft modding to do so. It started with the dream of adding a GTA-5 style mobile phone mod to Minecraft with apps like stocks, real estate and custom user created apps that I could combine with my previously built Dubai map (screenshots further below). Multiple Iterations later this developed to the Virtual Phone you already encountered above. I worked on the Minecraft mod for about 6-7 Months.

Features & Functionalities - Mobile Phone: > Mobile Phone with multiple Apps > Apps: Developer Testing Ground, Bank App, Dungeon Escape (Game), Loot Box App > Custom written render logic utilizing OpenGL and Minecrafts' Tesselator class. > Networking logic to play the Mod on a Server > Everything is self drawn - Dungeon Escape Game (App): > Goal: Try to find a way through as many rooms as possible without getting caught by enemies. > 2 selectable player characters > Prodecural genrated levels > Enemies that try to prevent you from collecting the key that opens the door to the next room. > Simple AI for enemy movement > Zombie AI for detecting and trying to catch player > Zombie Idle, Move and detecting player animation > Creeper idle, move and explode animation > Key idle animation > Player health System with displayed health containers > Player health loss animation > Player idle and movement animation > WASD Player movement > Serialized high score > Different loot box tier rewards for certain scores that can be opened inside the Loot Box app > Score/death screen that dispalys your current and high score and information your rewards > Custom input handler logic for key and mouse clicks, presses, etc > Custom drawn font & logic to place & draw text > Custom logic to smoothly animate multiple texture frames - Bank App > Dispalys your current points (usable for i.e. buying loot boxes) > Custom button & text button widget logic > Scripted and smooth button animations on hover, click and release > Points (currency) as Minecraft items that could be added to the bank (app) account by right clicking them in the hot bar - Developer Testing Grounds (App) > To quickly test ideas and iterate on them instead of having to create and entire app with icon and name each time - Loot Box App > A shop to buy 6 different loot box tiers > A Lootbox opening animation and item drop animation > Inventory containing all loot box items > Serialization of inventory > Multiple loot box items with different effects on Minecraft player character (increased Speed, faster harvest and more) > Logic to display timer of timed loot box items on the lock screen - Coockie Clicker (App) > Goal: Click the coockie to get coockies > Coockie click animation > Coockie counter that increases each click > A later version provided a shop to buy some upgrades to get more coockies per click > Custom drawn font & logic to place & draw text > My first real program and "game"

Farming Game Mechanic Prototype

Farming Game Mechanic Prototype (C#, Unity| 2023): Tinkered with a farming mechanic and an environment that i found interesting. Would love to explore it further in the future. The general direction was an idle-clicker-farming game based on Forager x Tap Titans.

Old Game Mechanic Prototypes

Old Game Mechanic Prototypes (Java | 2021): While working on these prototypes I bought myself my first java course to improve my coding skills, learn java basics and about the libGDX framework. The course taught me things like DRY, clean & orderly, well understandable & documented code.

Features & Functionalities > First utilization of LibGDX framework and its Scene2D library > Customized soundeffects using Audacity > Worked with non rectangular collisions > Created simple GLSL Shader > Worked with OpenGL Blending & Masking > Created customized fonts using Hiero tool > Tested multiple mechanics (Player movement, slashing, feedback for clicking, picking up, moving and placing objects) > Built an archive app listing all my project internal game screens and enables quickly opening/changing them at runtime.

Art

Pixel Art

Game Jam Art

Made the house (rooms, roof, furniture) for the 48h GMTK 2023 Game Jam game Bustr's Mansion Link: https://zackzeta.itch.io/busters-mansion

Maps

bottom of page