Also available in Dutch (Nederlands)
I’m an enthusiastic Java developer and hobbyist game developer. I also know my way around Linux and the command line. Below are a few of my accomplishments.
I have experience in JUnit, Docker, Maven, and Git, and have also acquired my Oracle Certified Associate degree. On top of this, I have made use of PHP and MongoDB for my website and some email and form protection stuff in Javascript.
Back in middle school, Game Maker was what initially got me into programming and game design. In my free time I worked on all sorts of ideas, and through practice I taught myself simple programming in Game Maker’s GML.
Blue Hotel is an arcade-like, story driven, top-down shooter made with the help of a good friend of mine.
Despite its pixelated and slightly cartoony visuals, it pays a lot of attention to detail, primarily in terms of gore, gun play, and enemy AI. The project started at around March of 2015, and has seen quite a few revisions, although it has never been finished.
Gyroclock was a simple yet addictive top-down arcade shooter.
The graphics were simple, but very trippy. Gyroclock has never been finished, as the project files have been lost. However, I still have a version hosted on Dropbox.
As of mid 2019, Gyroclock is being actively rewritten as an Android game, with emphasis on trippy yet smooth and responsive gameplay, more variety in weapons and enemy AI, and a point system. The game can be found on the Play Store
When I started my college course in application development, I chose Java as my first actual programming language. Through practice I taught myself the syntax and object-oriented thinking. Around February 2018, I felt confident enough to follow an online, dedicated Java Programming course at LOI, and I have since acquired the Oracle Java SE 7 Programmer certificate.
LockHead was a modified Minecraft client designed for cheats and exploits.
Despite it being my first Java project, it was quite sophisticated in what it did. It managed to circumvent several anti cheating solutions used by multiplayer servers at the time.
Skynet was a modular anti-cheat plug-in for Minecraft.
Skynet grants developers the ability to write their very own detection methods. Every detection method (or check) is its own jar-file, which is then loaded with a classloader. These jars can be enabled, disabled, reloaded, and removed on-the-fly, without having to reload or restart the server. Skynet itself does not contain any checks, and can thus be released open-source without revealing any of the tricks up its sleeve.
LPF (LockHead Plug-in Framework) is an easy-to-use, event driven plug-in framework.
It was designed to be easily added to any project, and is very easy to scale and customise. Thanks to its tiny size and zero library dependencies, implementing custom events and using them in your plug-ins is a breeze.
LZombie was a core plug-in that brought to life an open world zombie survival game mode.
While it was never finished, it still featured a custom zombie AI, loot chests, a customised chat, which only showed the other player’s name if they were in range and if it was determined that the player had seen them (i.e. the player actually had eyes on them.)
Odd Folk is a roguelike videogame currently in early development.
The game takes place in the late stages of a post apocalyptic world, in which civilisation is back to square one. Because it uses random generation, and there are no set restrictions on gameplay, the story is in your own hands. Odd Folk follows the basic principle of “do whatever,” as anything can interact with anything. Any item can be eaten, used as weapon or tool, disassembled for parts, and so on. Any entity can be interacted with. They can be talked with, killed or permanently injured, et cetera. However, every action can have consequences.
On the technical side of things, the game uses JSON to make it easy to add items and structures. Items have flags which specify their attributes, and values such as weight and volume. Structures are three dimensional grids of tiles, which are then used in terrain generation. Everything is kept as abstract as possible to allow for scalability, and JUnit is used to test new features, or bugs, whenever possible. On top of this, it uses LPF for the purpose of event based modding, and modders will have access to the game’s internals such an extent that the entire gameplay can be altered.
In the past I have done several part-time jobs in which I made use of my Java experience to develop plug-ins for Minecraft servers.
Sarefine was a server revolving around player-vs-player combat. It hosted the game mode Practice PVP, which consists of 1-on-1 arena battles, both competitive and casual.
LFilter was a plug-in which silently hid a user’s message if it matched certain keywords or phrases.
It hid the message from other players, while it was still visible to the sender. This was done to keep spam, toxicity, and advertisements to a minimum.
StaffMode was a moderation tool.
It featured several easy-to-use shortcuts for commands, and interfaces, to make server moderation easier. With a click of a button, one could turn themselves invisible, or check a player’s inventory, clicks-per-second (to manually check for autoclickers), and other information.
GhostBuster was the server’s anti cheat.
Since its original developer resigned, I took over the project, and improved its detection methods.
Like Sarefine, Systic was a server which revolved around PvP combat. It hosted two different game modes: Practice PvP and Free-For-All. The server also made use of Skynet.
Barrier was the anti-spam solution, and the successor to LFilter.
Apart from simple chat flooding, it was able to smartly detect several other forms of unwanted messages, namely advertising, full-caps, and downright gibberish.
Advisor was a ban manager with chat-based interface.
It allowed moderators to pick an offendor, and click on which rules they had broken. Advisor handled the ban message formatting, and broadcasts.
FFA was the core plug-in which brought the Free-For-All game mode to life.
The game was simple; you start off with a default kit containing armour and health regeneration items. Special sign posts were scattered across the map, which you could click in order to be greeted with an item refill. The goal is to get as many kills while keeping deaths to a minimum. You gain points by killing, and lose a few every death. Once a player gains enough points, they would be greeted with the option to purchase - with points - temporary armour or weapon upgrades. These would last until the player dies.
I can find my way around the following tools and software:
Game Maker 8.1
10+ years, expert
Game Maker Studio 1.4
5+ years, near-expert
Game Maker Studio 2
3+ years, advanced
Eclipse Java
5+ years, expert
IntelliJ IDEA
4+ years, advanced
Vim or Neovim
4+ years, advanced
Git (mostly using GitLab and BitBucket)
3+ years, advanced
Apache HTTP, MongoDB, MySQL (MariaDB), PHP
3+ years, advanced
The Linux command line, but most prominently:
Arch Linux and derivatives
5+ years, advanced
Alpine Linux
2+ years, advanced
JUnit, Maven, Gradle
2+ years, intermediate
HTML, CSS, JS
1 year