Skip to content
Aug 13 17

Patreon and the future

by stefanhendriks

I work on this game in spare time. From now on I’ll spend at least 8 hours or more a week on building my own RTS game.

If you like my work, you can support me at Patreon.

You might say: what about Dune 2 The Maker? This game will benefit from my work on my own RTS game. I will backport changes from my private repository into the dune2themaker4j repository. Or, dune2themaker might become a MOD of my engine. This is by no means a cancelling of the project!

Aug 5 17

Dune 2 – The Maker – 4J – Devlog – Harvester – Part 2

by stefanhendriks

If you want to have harvesting logic like C&C or Dune 2 has, you have to break it down into various steps. All these steps make it quite a lot of work. Lets just give you an example.

– You need something to build a refinery
– You need logic, when a refinery is placed a harvester is spawned
– The harvester needs to be able to move (unit movement)
– The harvester needs to be aware that is able to mine spice, and when it is on a spice field it should do so
– When the harvester can no longer mine the field, but it is not filled up yet, it should look further for other nearby spice fields/tiles
– These steps repeat until the harvester is full
– When the harvester is full:
– Look for a nearby (free, unoccupied) refinery. If no free refinery can be found, go to the most nearby refinery that is not free and wait there.
– When a free refinery is found go there.
– “enter” the refinery (ie, you need to circumvent any logic here that normally would block the harvester from driving through the refinery).
– after entering the refinery, start unloading spice + give credits to player
– when harvester is done unloading, respawn/repeat from step 2 of this list

So, this is just a rough description. There are edge cases everywhere we did not touch.

So far bits and pieces have been developed. Like movement of units, harvesting spice fields (but not unloading). “Entering” structures. All pieces for a bigger puzzle.

I’m happy to let you know that a first rough version works of the above list, and I made a short video about it!

Jul 24 17

Dune 2 – The Maker – 4J – Devlog – DeathHand Part II

by stefanhendriks

What is more fun than blowing up things?

Doing it with style 🙂

The Dune 2 DeathHand was ok-ish, visually it was (for the time) fine. But now, not so much. Here is a screenshot:

This is my version:

Or better, here is a video:

Fun times!

Jul 14 17

Dune 2 – The Maker – 4J – Devlog – DeathHand

by stefanhendriks

When I starting dune2themaker4j, one of the first I wanted to do was create a nuclear missile in the game.

They are awesome right? Well at least to look at 😉

Although the idea was cool, there was not much of a game engine to begin with. I mean, creating a nuclear missile without things to blow up would be a bit of a waste. So I decided to get basic stuff working first. Map rendering, camera movement, unit / buildings rendering, etc.

But a while back, I wanted to do this awesome thing again.

So lately we started working on this again. We actually have it so far we can ‘build’ it from any structure (you can configure it in the rules.ini file). For now it is hard coded.

We want things to be more flexible, scriptable perhaps. This means a “super power” as the deathhand is basically a ‘script’ that is executed. In the case of a deathhand it would shoot a projectile (missile) to the target. But you can think of many more super powers which should do different things. Especially if you look into the C&C scene where super powers may even require multiple actions from the player.

Although we do not build all of that at once, we do prepare for it.

So far our pull-request is going along well. For now we actually made the super power script a bit more complex. It would shoot a rocket, then detonate and from there spawn multiple other rockets for every unit on the map. (yes even friendly ones).

Because it is fun to do.

In the more grand scheme of things, this is just one of the many gameplay elements for Alpha #4. Alpha #4 (or v 0.0.4) is quite a big upgrade compared to Alpha #3.

With Alpha #4 you get some basic economy rules, building a base, and also firing a deathhand!

Oct 28 16

Dune 2 – The Maker – 4J – Devlog – Harvester

by stefanhendriks

Since the concept of money is introduced, it would be fun to have a harvester gathering resources.

While doing so, I’m introducing a state machine for the harvesting logic. (so far, I could get away with using simple if statements, but the complexity is growing)

Although I would like to move all logic into the state machine, I tried tonight and failed. Some more thought is required in order to make movement work better.

So, what *does* work? Well, for a harvester, there is a nice little loop going on like so:
given a harvester which is ordered to harvest at a spice field:
– moves to spice field
– harvest (state)
– done harvesting? (ie, cell is ’empty’?) -> seekspice (state)
– look ‘around’ the cell for other spice cells, if found, pick one randomly (state is still ‘seekspice’)
– move to the spice field (no state change here, this is still old stuff)
– once arrived, change into harvest state again

Which looks like:

harvester state machine

PR at github is still in progress

Oct 9 16

Dune 2 – The Maker – 4J – Devlog – Concept of money

by stefanhendriks

Today I introduced the concept of money in the game.

This means players have money and building units/structure costs money. Also not enough money means no way to build it.

This is the first feature for Alpha #4, so I also created a new playlist at youtube.

Watch here the demo of the ‘concept of money’ feature:

Oct 8 16

Dune 2 – The Maker – 4J – Alpha #3 released!

by stefanhendriks

Today a new version of D2TM 4J has been released.

It requires Java 8 and runs on Windows/Mac OS X/Linux.

If you just want to see what it is capable of, watch this video:


Oct 3 16

Dune 2 – The Maker – 4J! (for Java)

by stefanhendriks

In my previous post I told you I abandoned the project.


I did abandon it. But then something happened.


Slowly, over time, I wanted to work on this ‘game’ again. This time I would start from scratch, in Java, and work on this engine. I wanted to know if it would work in Java, but also how to deal with testability of the code (something I strive for in my professional work as Software Developer).

The pace I have been working on this new thing has quickened and its reaching an Alpha #3 stage. This means it is far from anything but a game, although it does seem to do quite a lot already. In fact you can download and play it (or if you’re really bold, grab the source, build it yourself and play it). – also wait a bit longer and I’ll release Alpha 3… you can only download Alpha #2 now.


My aim with this project is two-fold. But I’ll let you in on that in the future.


This post is meant to let you know something is growing. If you just want to see a screenshot of something recent. Here ya go:



But if you want to see youtube video’s of the construction of the game so far (Alpha 1, 2 and 3) then watch these playlists

Nov 28 13


by stefanhendriks

At some point you realise that you need to let go of some things. Dune 2 – The Maker is such a thing.

I’d like to thank everyone who has played the demo’s, and sent me some feedback.

Its time to move on.

Goodbye and all the best,


(If you think I am wrong, don’t hesitate to fork it and release versions of your own, I don’t mind at all)


Oct 9 13

He who contributes controls the duniverse

by stefanhendriks

With Dune 2 – The Maker, we strongly believe the community is the driving force behind this project. We have tons of ideas but we can’t go anywhere near them without you.

Since our last update, we had quite a lot of help from our community member Koijirion. And he had great arguments to switch from SDL to SFML and had some other good suggestions. So we did follow up, accepted his help (of course!). I think this is a great example how the community has influence on this project and how we can make it better by sharing our knowledge and ideas.

Since the last update, in a nutshell, here is what we have done so far:


  1.  a total switch from SDL 1.2 to SFML 2.1
  2. gained a 20-100x performance boost (ie ~ 40 fps (sdl) versus to 4K (sfml) fps)
  3. a much easier to set-up project using CMake (guarenteed to work on OS X, Linux. Not yet tested on Windows; who wants to help out with this?)
  4. works on the ability to use a console (like you have in Quake for instance) – see this pull request in progress
  5. collision detection
  6. better movement code compared to SDL version


The infantry feature is paused a bit, but will be resumed shortly. If you want to know what we want to do (or are doing), just visit our new and public Trello board.

For our first release, we aim at a playable version where two players have units to eliminate each other. Very easy step, but it will involve quite some technical challenges. For now however, we are working on the engine basics, which evolved very nicely since our very recent (and quite a lot) additions from Kojirion. Thanks again!

Want to be part of this? You’re welcome, and contributing is easy; you can star/follow/fork our project at github. Create a feature branch, commit, push and you’re on your way.

If you are not sure yet how you can contribute, but have some awesome ideas? Just join our IRC channel (details below) and share them (you can also create forum posts, email us, etc).

IRC: Join us at channel #d2tm on