Koen Ursem Software & Design
Portfolio english language Portfolio nederlandse taal

Programs

Avanade 3D visualization of Datacubes with Unity3D:

For my final internship on Stenden i found the opportunity to do something with Unity3D and Datacubes. When i started the project i knew nothing about datacubes and had to research into this. From day one i've worked realy hard to make the deadline. This didn't come easy though. The first challenge was actually getting a working datacube set that was runable on my own machine. The datacube i've used was running on MSSQL analytics services.
Now that i had a Datacube up and running the next challenge i found out was that Unity didn't support C#.net but instead was relying on Monodevelop librarys (Which is not the case anymore nowadays). So in order to actually collect the data i had to make 2 applications. One application that was able to parse the data and send it to unity. And the unity application that was able to speak to the first application and show the received data in a 3D visualization. In the following movie you will see both the parser being set up, and unity3D using the parsed data to visualize the data.

My mentor at Avanade was really happy with the work and effort i have put into this. My grade was a 7.9 out of 10 since no one of the teachers could really judge the complexity of this project and my internship mentor was a bit sad that they couldn't at least make it an 8. For me it didn't matter much since i was really happy with a 7.9 and already new the school wouldn't give such high grades quickly anyway.

Personal bot tool for Lineage2:

During my Lineage2 time we had to collect lots of things in the game to stay competitive. So it was common in the community to use farming bots and other tools that would automate some parts of the game. Since some servers managed to block tools that would inject into the game client i tried making my own tool. The tool works by reading out values from the memory of the game and then send simulated key presses to the game. The tool also recognized multiple clients running at the same time, making a party setup really easy. Since the tool did not have to inject into the memory of the game to read it, it was totally undetectable.
The tricky part for making this tool was finding the correct memory addresses in the game since the game code was encrypted and never released. In order to do this i've used a tool called CheatEngine by scanning the game memory for the required values and then backtracing and calculating the pointers toward these memory addresses.
Screenshot of the soiiprofag botting tool.

Realtime sheep vs wolf simulator:

For my final assignment on the first C# course on Stenden i have made a small real time simulator. So what do i mean with real time? Well in a normal simulator all actions of each individual are calculated in one step, but that is not the case in this simulator. Each animal has its own running thread and decided for itself when it is time to do an action. Ofcourse this also means that the shared resources in memory should first be locked by the accessing thread and then be released again for the other threads when it's done. You can see this in the video below because the blue sheeps and red wolfs are all moving at different times instead of all moving at the same millisecond.

At the start i tried to balance out the game so the sheeps and wolfs would coƫxist for a long time in the simulation. But lets face it, in a small boxed area the wolfs feasting on the sheeps and then starving out themselves is actually way more realistic.


K.U - Koen Ursem
© 2015 - 2018