• Register

I'm a M.Sc from the Computer Science department at Aalborg University in Denmark. I've studied game development at DADIU, as part of my specialization in games on my master's degree and specialized in HCI. Currently, I work as a Project Manager for TimePlan Software in Denmark. I dedicate a lot of my spare time to grow in this role, while I also do investments in my own company. I don't see myself working on game projects in the near future. I have been working on BZSmod since 2007 with level design, programming, and project management. BZSmod has been a great platform to learn and develop my skills related to software development. BZSmod was released with its development files in November 2022, and we support anyone who wants to fork the mod or bring fixes to BZSmod. I blog a bit on moddb when it is related to the mod or personal experience which I find useful for the game community. To read more about my study experience and other projects, see www.ringhauge.dk

RSS My Blogs  (0 - 10 of 22)

15 years

I had too much vacation left this year, which my employer suggested that I took care of.

Some of you on discord just had to ask if the mod was still alive.

Well, now it is released!

Download BZSmod here: Moddb.com


I recently stumbled upon Yandere simulator. A game in development and with plenty of video blogs to follow the progress.

I have often surprised people have met with how long I have been working on BSS/BZS combined (since 2007/2011) The ups and downs, the reasons, and in many cases had to explain why I keep working on the mod.

Yandere simulator cannot be compared to a mod as it is from scratch, and it is neither worth comparing to BZSmod due to the vast difference in scope.

But i think there are some keypoints in this video that are general and well explained to cover a lot of question to "why it takes so long" to develop a mod/game.

Did you notice the amount of updates to BZSmod this year? No?
Maybe you noticed a small change in the Trello board, because that is what I came around to do.
It is not good enough, if I was my own boss I would fire myself. But Angel and Joshua do not really want to be the leader of BZSmod, so it is... sigh, I will just have to work harder!

Working for miga-tro-nic (ignore dashes) has been wonderful, I probably would like to rewrite all the code of BZSmod to meet my new standard, but then nothing would be completed.
It is a place where I have been able to develop my skills with programming and beyond. Reading hardware schematics and writing drivers has been a new topic this year; if the RCI I/O does not work, then I might be to blame :D

It has also been a year where I could appreciate my workplace by comparing it with other friends workplaces, and I have come value the benefits which are not part of my salary. This too makes me want to engage more in a successful development and maintaining my job, as a good work environment can be hard to come by.
Apparently there are multiple companies with millions in profits, that does not care as much for its workers as they do at miga-tro-nic.

It does poses a challenge though.
Despite my wife considers me more calm and less stressed compared to the days of studying at the university, I have little or no interest when I am home to work on anything. There is house maintenance (and a big 20.000$ energy renovation), dinner, cleaning, etc. and getting home between 18:00-18:30 and planned bedtime around 22:00 leaves little time for my sparetime projects, not to forget work-related skills development.

It is rather tragic that I finally have improved considerably with my programming skills, that I have less time and energy to work on BZSmod.
But it leaves me with a choice, do I endure the challenge or do I pass it to someone else.
I have no desire to leave BZSmod behind, but holding the flag high and cheering won't accomplish anything on its own.
I think it is time to set some deadlines and either meet them or move on.

Company names has been removed to avoid LinkedIn from publishing this blog entry as "an article has been written about <major company name>". This entry is targets the audience at moddb and represents my personal experiences in a field outside my research topics and game development topics, which provides a view and thought for many users on moddb but not my professional network on LinkedIn
---

It has been a year since I started working for a company with embedded software in the machine industry (welding machines). It might sound quite far from HCI and game development, but BZSmod was part of the portfolio and reason that I was hired.

In this blog I will share some of my experience and bring my two cents for programmers based on what I learned in the transition from student to professional hire.

First off it is important to emphasize that my success and gain from BZSmod which aided me in getting the job, is not related to gaming, animations, sprites, and physics but rather due to C++ being close to C and my experience with network development, user interface, continued integration and interaction with the OS.

This shows how it can be important to look at the content of your works and skill set from a different perspective, to avoid limiting one self from good opportunities. Using a mod as an incentive to grow your experience and portfolio can be a good way market yourself and provide self-confidence at a job interview.

I was once interviewed at a different company working with embedded systems, the interviewer was quite found of the .NET framework due to its "standardisation" which couldn't be obtained in C++. I assume the interviewer didn't know of C++/CLI (https://msdn.microsoft.com/da-dk/library/68td296t.aspx). I didn't get the job :)

Good experience makes it possible for you to determine if the workplace (and your future boss) is the right one for you. Keep in mind that you can negotiate salary, but you can't negotiate your colleagues.

I have always been a fan of C and C++ and still encourages it, because you are forced to understand how the system works close to the core. I find it much easier to implement my learnings from C in C# than the other way around. This is because C# and .NET provides a handy toolset that makes difficult things easy to implement such a network communication and garbage collection.
But when .NET isn't used, the tools are unavailable and you will have to come up with the 400 line code that only required 10 -25 with .NET and because .NET is nicely packed in API's you might have a hard time in figuring out what happens behind the scene.
Also, don't forget the memory management. It is very easy to be lazy in C# and you have a lot of ram for a desktop application. However, that is not the case for embedded systems.

Train your skills and avoid being too shallow when learning about new features. Knowing what the code does makes it easier to debug your software and identify the root cause of a problem. Working with pointers and looking at the memory can provide some experience that even can help identify race conditions. Pick the right tools (language) for the job. C and C++ are not the right tools for everything.

Getting a job will give you more money, not more time - at least if you value your job.

Understand that side-projects might have to be reprioritized, especially if a project doesn't train you in a job related manner. This will be trivial if you enjoy your job, if not then consider looking for a new job.

My longest week logged 50 hours this year, and I used an additional 10 hours in traffic. Needless to say, my wife wasn't particular found of the situation. I'm very committed in my job and I aim for high quality and well tested solutions. As a result I have been provided advanced tasks and responsibilities and these provide new possibilities for me to learn and to enhance my position.

Good quality is valued and creates trust. Trust leads to more responsibility and new challenges. Meeting new expectations enhances your position.
Low quality has the opposite effect.
Testing before delivery can prevent you from providing low quality and can be used as a resource in the decision making, this can improve the solutions and potentially save time.

I had the chance of recruiting a developer to our team, as we were in dire need of additional workforce.
The developer is on my friend list, we studied together.
Working together is a different kind of challenge as the hierarchy isn't flat and decisions might have to be taken or enforced even when in conflict.

Before you hire a friend, realize that you might get into a conflict over work related matters and plan how you will handle those situations to avoid them from affecting your friendship.

Epilogue:
A lot has happened during the last year. The company just release their new flagship Sigma Select, which I have been working on. I had some new leadership experience and collaboration as I'm one of the main developers that provides support and handles for testing the machines by using SeqZap. It provides a good deal of experience by taking part in strategic meetings and learning from our Software Architect's approach to technical solutions.
I have the benefit of having some well educated and experienced colleagues who can mentor me when approaching new challenges. This has provided me with an aid in understanding complexities in our systems and reduced the learning curve greatly.

It has been difficult to find time for developing BZSmod, but it is a sacrifice I can endure. I want to finish BZSmod properly instead of rushing it and at the moment I have prioritized my workplace. I'm looking forward to acquire some more spare time after I move in 2018 and finishing the project.

While the work of Hans Hüttel (Transitions in trees) isn't a work about life development, I still find it funny to occasionally relate to his work; not because I use it for my profession, but because the abstract material can be used in different types of life situations, which amuses me.

I'm currently transitioning from student to full time developer and already had my shares of good and bad job interviews. Besides of working with games and HCI, I do a wide amount of work in general system development and have an interest for network and embedded systems, while I to a certain degree lack the expertise of web development and compiler development.

So currently I'm working on expanding my experience by doing some small projects besides of BZSmod.

My last project is MCDaemon, which is released on Github.com, allows for switching between and interacting with active services though a web browser. This was inspired by friends who wanted to switch between different gaming servers (mostly Minecraft but not every time), and I had to be involved in the process every time.
Unfortunately PHP has limited rights on the system, and everything is run in the background (so you can't check if a command has successfully been parsed and verify that a server is running).
The work of MCDaemon seeks to resolve that, which involved some back-end network programming and a bit of JavaScript on the front-end. The HTML was simple and the CSS was from W3C, making it really easy to make a web client for the system.

You can read more about the project on its wiki on Github.com

These projects however also reduces the time that I can use to effectively work on BZSmod, but they necessary to expand my qualifications and thereby leading to getting a job.
On the bright side, my work in BZSmod has high value and is something i mention every time, because it is afterall 5 years with C++ and project management.

I intend to polish the work of MCDaemon as I identify smaller issues, I already have a todo list to work on. If it gets enough interest and feedback on github, then I might want to extend its features.
MCDaemon is free for use under the MIT License, and I would encourage you to modify it for your own needs as you see fit.

BZSmod is still developing at a steady rate and the breakthrough with the collision boxes makes it one less issue to worry about for the other ranged attacks. Thanks for the questions regarding the solution, it lead to a performance test that showed that things will work fine if the server runs with less than 1200 entities.
I will write an article later that describes the solution in detail.

Depth

eliasr Blog

There are several teachers who I feel like complimenting, despite I don't necessarily like all of them. The thing they tend to have in common is that they somehow have inspired me. Whether it is something in their personal traits or they simply provided motivation for me to make yet another milestone.

It is those people who I think had a positive impact in my personal development. Most of them might not even be aware of the greatness they have provided for me, including my family.

Because the deep true emotional me, is only shown to those who are extremely close. Over the past 5 years during my university studies and being in a relationship, I had some opportunities to work more with that part of myself.
And in the last year or so, I have really felt a change. A really truthful peace I haven't been able to embrace in my entire life and my perception of things has changed as well.
That also made me realize how much the depth in me changes the way I reflect on art, whether visual or audible, even a story in ex. games or literature.

I'm that kind of guy who who tends to play AAA tiles, they are big, they are whoa, they are fun and they are Aim Assisted Adrenaline. But recently I have found to be somewhat bored of the generic pool of AAA titles that tends to put a male character without voice (or sometimes lacking brain...Arno Dorian) into a battle dress and a situation with a weapon being the tool for a solution and killing becomes the most rightful mean of justice. At least i lack the auto aim, as i don't play on a console.

I have engaged in interaction with much smaller games and found a lot of rejoice in them. One of them being Rechettear which sounds resembles a small princess deepest emotional honest truth about a situation , such as "awwww" and "yay" in the most true japanese vocal possible (very princess-like), that are so emotional that one should think you were looking at the world though TF2 pyro glasses.

And other small games tend to have their own unique kind of art. Which can be very interesting if one is open towards it. Those games can give a fresh look on the opportunities there are in game development.

After my last c++ exam, I was able to relate to it as a mini-game. Well in general at least. Compared to most puzzle games, there usually are a situation where one must combine smaller solutions (solve some subproblmes) or time some events correctly (synchronizing), and some even tend to have multiple solutions.

During the exam period (some days) i began to challenge myself. Trying to learn PIMPL idom, to satisfly a problem and ended up using it, but probably not in a way which was intended. (I only made a part of the soulution as PIMPL) - However for a moment I was that child who sits with its shape box and realized how to get the triangle shape tough the triangle hole, and I realized I could improve my solution by removing the shape grid.
Somewhat the same types of interesting challenges that adults experiences duing a playthough of Portals.

And that 'aha' experience was really nice. A somewhat different perspective of my everyday, which now makes me able to make even more smart solutions.

I think my experience with the regular shooters and adventure games (the AAA ones), has made me able to predict the outcome so well that they don't surprise me any longer. And if they do, there still not a challenge which triggers this 'aha' experience.

Maker of Stuff

eliasr Blog 1 comment

Hah, the title for level 14 is fun.
But it also seem to be true. (at least for my case)
I have been here a long time now. Added my own small addons and actively development in a mod.
Posting content both to BZSmod's page and this blog. I guess most people who get to this level, in some way probably have made multiple things.

Right now I'm working on a trebuchet in Unity, using its build-in physics(without coding)and working on Jenga in a VR enviroment (unity) where camera movement is determined by accelerometer and gyroscope. Besides of that there is networking and interaction with the bricks.
But i'm also working on the melee system at bzsmod, which finally has taken some form. (4 years too late however...)

Well, this post wasn't to focus on that...

Dadiu.. project management ... everything...

I completed the DADIU internship ( Dadiu.dk ) - there is a google play link for those of you who want to try the game.And working on a game 45 hours, if not slightly more, every day for 45 days was an amazing experience. It was so amazing that the professor who invented the game study at our university retired (due to age).... and now they don't provide this opportunity any longer..... seriously... wtf!
Yeah yeah... so it isn't classical computer science, and every single one of you are so classical that you can't come up with a proper academic study regulation for a single game semester.... I get it, it is very hard and DADIU is wayyyyy to fun.So I probably learned nothing..... about economics about the gaming market and the F2P market... about establishing a carrier and how publishers evaluate your products... about project management with a large team and tight deadlines... about how long long time a small game project really can take... about pipeline between artist and programmers.. about continued integration (Jenkins CI) and deployment as well as QA releases.. about a lot more.
Well honestly, I can't write a Ph.D in any of this. But I had never gotten this experience anywhere else.(university scope)
And I learned a lot though the programming... about teamwork and... not-teamwork, all the mistakes we made, the wrong estimates and the solutions we came up with.So okay, Lets Raid Ain't much, but it is neither nothing. But try to compare it with Heroes Charge by Ucool. We only had 50 Mb, not 250 Mb. We were also limited to 42 days and our location wasn't the best.This is one and a half month, and it really made me realize how long a simple project can take. Let Raid is actually more than 4860 man hours.To compare that to a regular 4 man group at the university that would take about 6 months and 3 weeks. And we usually have 4 months, which includes courses. so ~2 months without courses.


Sometimes, people wonder why bzsmod is so damn slow?
Or why I estimate a high amount of time for a given work proposal?

And I think it can be really hard to explain it to someone who isn't affiliated with programming or modding or projects that requires a custom software solution. One such as my mom.
I really think that next time I should explain it, I should not show Lets Raid and say 1½ month. But 5000 hours. - that is equal to 208 days

But I didn't even expect it to take that much time when i started on the project, so I do have compassion for those who might not understand why it can take so long.


Well I learned a lot. A lot of tiny small things, so many that I can't express them all. And I learned a few big ones.

However in the bigger picture I realize i'm still learning something today... something basic.
I finally got around to code the melee part of bzsmod. Something we should have started with as the very first thing in bzsmod. In my mind, the idea is so simple. At an abstract level that is so refined that everything just seems like plug and play. But it just ain't like that. Otherwise we would be done by now.

The basic thing however is related to PR.
Moddb aint that bad. Nah i don't like to get archived news number 8 in row, just because there are too few images or its too long or too much coding. I also hope for some good feedback or creating a debate, but its like it never get that far.
So we went a bit into the background for some time, into our forum of void and an occasional spam message... heck its even so well fortified that we don't get that sort any longer.

An occasional news story about some code would be written, as people who didn't code was either disappearing or waiting for the code to be done. Which can be hard when you have a 45 hours work week taking all the time.

But making the melee system changed all that. DADIU and Roei changed that. My extra year of study that made me understand object orientated development much better, changed that... ok maybe not, but it made it possible.

Interfaces, Factory design patterns and now 50% binary tree (i don't like all the code for building them, so that ain't being made)
Well all i really learned from my c++ course this semester was a bit of c++11 variable instantiation and templates.
All that made it possible for me to take some of Angels animations and crunch them though my code as it pleased me.
All that made it possible for me to provide an easy way for Angel to add his animations to the QC file without worrying about animation names or the indexing.

And all that in the end made it possible to publish some graphical content on moddb. On moddb where we at times have several hundred readers.

That... and reducing democracy. Apprently the fewer we are the faster we progress.

It was a mistake to reduce our activity on moddb. Well perhaps the time to focus on work instead of PR did benefit us a tiny bit, but that was not the core issue.
Instead PR should have been an catalyst for us to complete our things, to apply our own deadlines and show off.
I think that seems to be working now. And with the melee system being implemented, the game begins to take shape and provides a foundation for us to demonstrate the game mechanics in bzsmod.

Instead of just saying. Oh we like the idea of dash attack, it will work like this. Angel and I can sit down and make the animation and code for exactly that and then toss it into everyone faces by showing it in a video.

Instead of writing a wall of text explaining the matematical function for calculating directional block (which no one apparently cares for), We can demonstrate grimmjow "trying to beat ichigo" and "beating ichigo from behind" instead.

That is probably where i think, as a project leader, that I didn't fulfil my responsibility. That and relying on hierarchical leadership foundation.
The greatest issue with hierarchical leadership, is that the leaders must be able to lead, wants to lead and can do it independently. If that fails, then it is like a joint breaking away from the entire structure.
If it succeeds, then it should be able to work really well. Just as well as it did at DADIU.

What i have learned form that is that there are some which I can really rely on and those where I should cover their administrative "leader" role. Like enforcing weekly sprint meetings, with everyone in a team.


That was a lot... if you got this far, then i hope you liked my monologue. And thanks for reading it.

If there is something I really appreciate from moddb and especially bzsmod, then it is the ability for me to learn though these experiences. While I learn many things from my studies, it always comes down to whether i have been able to implement that into bzsmod or not... well most of the time.

I'm also happy for the feedback we get from you guys, it helps us get an idea of whether we are on the right track or not.

2014 - TBD

eliasr Blog

TBD can be an acronym for many things; To Be Dated is probably the one we mostly used at BZSmod.

A lot of project decisions and programming was successfully implemented during fall 2013 and spring 2014. Programming however is quite difficult to show, unless it is related to assets.
One of the things I have realized, sadly quite late, is that many smaller issues has been our focus, while all the big issues had to wait.

A result of such an approach, is that our initial complex fighting design has been changed to something less complex and remaining bugs are those we can't find a simple solution to.

While out new fighting system seem to be more fun, it takes a while to implement and hence we can't test it or make a showcase of it. That makes it more difficult for us to reach out to our fans and show that we actually are progressing.
Our assets has a few difficulties being developed due to lack of the right developers.
Ex: At the moment, Joshua the sound artist is doing mapping, while Angel the 3D modeller is doing animation.

As such it has been a large debate whether to make a video or add some details before doing so.
Making a video is quite a large process in its own right. The manuscript, shooting and editing can take a lot of time.
The goal for us is to show in our current phase, how good the mod can be. That means it has to be interesting, but it also has to be made within reasonable time.

By the terms and conditions for developers' update doing our last general meeting, we are able to avoid certain content preventing us from showcasing the work we have done. This reduces the problem to the determination of quality.

TBD could also mean "To be D(ADIU)"

DADIU ( Dadiu.dk is in english language) is an education offer to developers at those universities and schools/academias who has a cooperation with DADIU.
In the next 4 months, I will be working with game development in Unity, and I will also experience to work with a local team.
After 2 days at our team-building workshop, I acquired some knowledge which I can use in BZSmod.
I'm participating in Team2 and we are all eager to make some good quality work.
Hopefully we won't get burdened by issues and keep our good spirit :)

Not getting BF4

eliasr Blog

Update: I got bf4.... sigh. (but at least quite cheaper)

Im not getting it... period!


A bit like BF:Bad company 2, they seem to use BF4 like some kind of prototype for something new they have in development.
I played the beta, I didn't like it. My Asus G74sx didn't like it either (Nvidia geforce gtx 560m) due to my now 2 years old graphic card that can run almost anything on highest settings. (with exception for those really heavy games that barely no one can run in highest settings)

But bf4's "new" "features" simply suppress my graphic card into submission. I need to go to medium to keep a framerate between 20 and 30, or well so it fells. For smoother game play i would probably have to go into low settings.

So what could this possible be caused by? Dynamic water? The one single building that can fall down, just like the radio mast in BF3 ? (yes that is one of their "new" features) Their new lightning which I don't notice at all ?.

I'm not sure, but it seems wrong. It is definletly not a great effect for the performance you have to pay.

And about that "new" "feature", the skyscraper that can be destroyed:

BF3 antenna pros:
Didn't kill everyone around, only those it hit. Real time hitbox calculation
Cons:
Happens when the round is almost over, not by players actions

BF4 Skyscraper.
Pros:
Players can make it crash down
Cons:
It is prerendred.
To achieve the affect, alter the game map and avoid any bugs, people are just killed.
Nothing in between. In a tank on the ground beside the skyscraper. Well sorry, you die. You might not even be hit by the wall, but you were close enough to be über raped by this feature.

Ofcourse it is prerendered, physic calculations on that shit would make the server lag every single time someone destroyed it. But this is their sales monument. "See we got a falling prerendered box, that magically kills you if you are near it, and at the same times spawn some objects" This is one of our "new features" that's definitely not a copy from BF3. Ow and by the way we made the sun shine a bit different, and you now have waves which you don't give a shit about, due to the battle being on the ground and in the air.

It is SO new that even COD's dynamic maps sounds next gen.

Dear Dice. Thanks for letting me play the beta. Now you saved me for 200$ this year. You also made some of my friends save 200$. Cya when you stop waxing your old games and call it new.

This entry will sum up on my last semester and reflecting on some of the comments from the last blog entry.
After the project during the fall semester 2012, where there was a huge work pressure due to individuals enforcing a constant day to day work pace and due to the agile Scrum being abused. I had too little time to read for my courses and also caused a depression in my exam period.

This semester I grouped up with some other students, who all are interested in doing a special in game development. While this group were less quality focused, it provided a much larger flexibility, but also more respect towards individuals and their relationships. It is not a secret that relationships requires time and care, but many students do not embrace a relationship or just haven't found one, while they are studying.

This flexibility caused us to work more loosely than what I have encountered in any other project. Mainly we worked from 9 - 16 , sometimes less. In the start of the semester, one was first meeting at noon. We didn't like it, but instead of punishing him, we tried to work with him as best as we could, and eventually he also joined us in the "morning".

This semester, I was sharing the leadership with a second student. On pair work him and I worked really well together, meanwhile we kept a good teamwork a motivation overall. We took a bit extra work if necessary, to avoid cumbersome parts for the to others in the team. While I knew one of them and the other guy knew both of them, it was easy for us to make sure we worked together as a team, without anyone getting an annoying task.

In our semester we combined two projects, to make dynamic map generation and dynamic strategy selection based on utility maps. Where we defined utility maps as a combination of heatmaps representing the environment. (as compared to utility maps from Machine Intelligence, we use both the high values and the low values)
By using Google Maps, we could retrieve satellite images and environmental data to represent the level with roads, water, grass( anything else) data and altitude data to give the 2D game a third dimension. Furthermore we made a weak map segmentation to locate houses, and use them as obstacles in the generated map.
To create an example and test our work, we made a small Pac-man game.
Our game was tile based, as it would simplify the calculations for the pathfinder; however the movement was not title based, but utilized every pixel. It can be seen in the two images here:

Pac-Man Univsrsity Project
Image of the actual game

Pac-Man Univsrsity Project
Image illustrating tiles in the game, which is used for pathfinding (obstructed / non obstructed)

While we focuses on the production in the game, we didn't reflect on the scientific requirements for this semester. Hence we received a lower grade than we expected, but all in all it was a great project, which we learned a lot from and will be able to use at later stages. We consider to fix some bugs in the game and then release it for free.

Within a year from now, I expect that BZSmod will be released, since I will have a lot of time to work on the project. I have not decided what will happen if we don't make a release before the summer 2014.