In a logistics game I have been working on there are trucks picking up goods and delivering then. The game needs to calculate their paths in order to simulate their motions. On normal roads the trucks simply follow a determined path as defined by the road lanes, but I needed a different approach when the trucks are driving across an open space such as a big parking lot or when trying to manoeuvre towards a free terminal.
There has been a rise of solutions for application development that identify themselves as ‘low-code platforms’. On the websites of these vendors you can read a lot about low-code development but it still might confuse you a bit. I would like to take a more neutral point of view by dissecting the concept of ‘low-code’ from a (historic) software design perspective. What is it? Is there also such a thing as ‘high-code’?
During the development of my game I have created an entity-component-system (ECS). I decided to extract the functionality into a generic library as it might be useful for other (game) developers as well. The library is named ECSOS and is now available on GitHub. ECSOS is a small header-only C++14 library that provides a data-oriented entity-component-system (ECS) based on ordered sets. By default it uses the boost flat_set container, which stores set elements (components) in a cache-friendly contiguous array, although other (custom) containers might be used.
Just two days ago Epic announced that you can use their powerful Unreal Engine 4 with no upfront costs. And a 5% revenue fee is only collected when your gross is over $3.000,- per quarter. This used to be $100.000 per developer seat just a couple of years ago. One day later, Unity announced that they basically give away their engine for free with their personal edition. Only when your revenue/funding exceeds $100.
In the last months I have been working on a video game. In the early development days I made some choices regarding the technologies to use. Here I want to talk specifically about my choice to go with low-level languages and low-level components, rather than a high-level game-engine such as Unity. A polished design The market for video games is huge, but pretty saturated. So, how does one stand out among the crowd?