State of the Union

This is mostly meant for

@wangds
@miniupnp

I just added both of you to the “allowed to commit” list.

Basically, the last few weeks have clearly shown I don’t have the time to manage this project anymore. You both are very capable and have shown to understand the principles of the project. Above that, the commit style and code style of the patches you provide is exactly what I would like to see. Therefor, I gave you both access. I hope this speeds up development a bit, and stabilizes the codebase faster.

If you want to decline the invite; no harm done. Don’t feel obligated ;)
I do would like to ask you to maintain a few key principals of OpenDUNE. I know many will speak for itself, but I still like to write them down ;) It will also be posted on GitHub ( https://github.com/OpenDUNE/OpenDUNE/issues/197 ) and forum, so everyone knows what it going on.

- Stick to Dune2. If you really want to add new features like multi-unit select etc, please do make a fork and do it there. Keep OpenDUNE as close as you can to Dune2. I would very much appreciate that.

- Keep the code as much as you can close to Ansi-C. Don’t go all out with C++, templates, and all that shit. It is nice and all, but the niceness of OpenDUNE is in its simplicity.

- Don’t commit code to the master that is not finished, or violates coding style. Make a branch, make a fork .. Github is your friend.

- If you can add compatibility to the modpacks out there, that would be lovely. But, please keep the original Dune2 in there.

- Please keep in mind not everyone uses SDL, so keep stuff like Windows GDI. If you add another video or sound driver, awesome. Please don’t make other drivers obsolete. People like to pick what they fancy most. Don’t take that away from them.

- Be strict. Many people will send crappy patches, and claim it is the world. Many will ask for small favors, because it is awesome. Respect the project; don’t accept patches that are not worth accepting.

I will of course be around for questions, proof-reading of patches, and the normal nagging about coding-style and direction of the game. Always available on IRC, irc.oftc.net, #opendune.

Move to GitHub.com

As of now, we moved our Version Control System (VCS) from SVN to Git, and moved it to github. This should make it easier for others to make changes (read: fork), and send us patches (read: Push Requests), which we than can apply faster/easier.

It also means we will remove our Mantis bugtracker, as the github issue tracker is easier and more open. We will also remove our wiki, as it is only used for spam anyway.

Forum will remain open for now; but it has to be reviewed if that is the best way. Please debate about this on the forum (the irony!).

Silence in the sand

So I haven’t written much lately. So what, neither did Shakespeare.

That sentence always pops up in my mind when I start these posts. I was planning doing it 1 month and 2 days ago; sadly, life happened, and I missed that deadline. Still, 1 year of silence. What happened?

Well, as said a year ago, we consider 0.7 ‘done’. That is code for: we lost interest, as nobody else seemed to give a … what is a PR-rated word that fits there? Well, all the same.

Lately, fully due to other people showing interest in this project, we see some momentum being created. As announced on the forum, I will keep word and make a new release with tons of (user-supplied) bug-fixes soon. We will also take the code of this project to something like github or bitbucket (will have to review which), so people can send us patches easier, and for us it will be easier to apply them.

Anyway, you can expect a 0.8 release this month. So do remember to send all your patches, bugs and issues to our bug tracker. This includes if you author ports like EMScripten etc. We would happily apply your patches etc to our official repos ;)

OpenDUNE 0.7 release

Today we present you our latest version of OpenDUNE: version 0.7.

This release comes with a new configure system (with a big hug to OpenTTD), a native video driver for Windows, better sound support for Windows (natively) and Linux (fully via ALSA), many fixes, naming of functions and variables, support for Windows 64bit, and many more. Short: it should be a lot more stable.

As usual, a complete list of enhancements can be found here and a changelog has been made, and can be viewed http://binaries.opendune.org/releases/0.7/changelog.txt.

You can download the release http://binaries.opendune.org/releases/0.7/, and here you can discuss the release on our forum. If you notice any bugs, please report them at our bugtracker at http://bugs.opendune.org/

We strongly recommend that you download an updated scenario.pak (tnx to MrFlibble): http://forum.opendune.org/viewtopic.php?f=9&t=23

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- MrFlibble (for his scenario.pak updates, and his endless questions and suggestions and insights)

The development team (alphabetic order):

Albert Hofkamp (Alberth)
Loic Guilloux (glx)
Patric Stout (TrueBrain)
Steven Noorbergen (Xaroth)

OpenDUNE 0.6 release

Just over 10 days ago we made our last release. And today again, we present you with proud the next release of OpenDUNE: 0.6.

A day after our last release it became clear to us that there was a critical bug in it, which under certain circumstances (bad-luck situations) could make the game unplayable. Of course this bug got quickly addressed, but right after the release of 0.5 we drifted off too far already with our main development trunk. Within a day we made some critical process, which made us hold a fix-release. Instead, today we release a new version which will be much more stable in many ways.

First off, we removed the last bits of the 16bit world, and removed LibEMU from our project. LibEMU is the library that gave us access to the 16bit world. This is a big milestone for this project, as we are now fully native for which ever system you compile, and we only depend on SDL (and asound under Linux).

The second thing we addressed, is that OpenDUNE always used 100% CPU on one core. This is because it contained many many infinite loops waiting for some time to pass. We located most of them, and made them less CPU intense. The game now uses between 4% and 20%, depending where in the game you are. It is still a lot for such a game, but we are working on it!

The other thing is sound support. Although voices and music were supported in older versions, it was often reported as buggy and often the case for deadlocks (‘hanging’). We sat down and fixed all the problems related to voices and music**. So you can now all fully enjoy the beauty of the intro (remember it was made in 1991!), and play the game with all the sounds and pieces on it.

The last major milestone in this release is that we improved the speed of the video-interrupt, from several milliseconds to a few microseconds. This means that many parts of the game are much more smooth, even on slower machines.

We also spent several hours playing the game, detecting and fixing errors when we found them. We fixed issues with 1.07hs and 1.07us datafiles, and they are now fully supported. Many more fixes were made, with over 300 commits made.

And for the people who enjoy those things, OpenDUNE now also compiles with TinyC Compiler, and with that is very much ANSI-C.

So as you can understand, with proud we present you OpenDUNE 0.6. We hope you enjoy it as much as we do.

As usual, a complete list of enhancements can be found here and a changelog has been made, and can be viewed http://binaries.opendune.org/releases/0.6/changelog.txt.

You can download the release http://binaries.opendune.org/releases/0.6/, and here you can discuss the release on our forum. If you notice any bugs, please report them at our bugtracker at http://bugs.opendune.org/.

We strongly recommend that you download an updated scenario.pak (tnx to MrFlibble): http://forum.opendune.org/viewtopic.php?f=9&t=23

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- MrFlibble (for his scenario.pak updates, and his endless questions and suggestions and insights)

The development team (alphabetic order):

Albert Hofkamp (Alberth)
Loic Guilloux (glx)
Patric Stout (TrueBrain)
Steven Noorbergen (Xaroth)

**: to solve voice issues, we had to upscale all VOCs from all different kind of frequencies to a single one (22050 Hz). We are not audio professionals, so it was solved with a linear upscale algorithm. This introduces a slight noise (there is no low-pass filter), and slightly distorts the voices. If you know how to make a better (license-free) algorithm, please drop by and help us out!

OpenDUNE 0.5 release

Today we are proud to announce the release of OpenDUNE 0.5

This is the fourth release in a set of releases which concentrate in understanding and rewriting all functions of the original code, making enhancements on the way, without really changing the game in any way. A complete list of enhancements can be found here.

This release finally has all functions converted to ‘real C’, and we are now cleaning up stuff. A lot of functions have been named, variables have been identified, and the stability has increased a lot. Many small (and odd) bugs have been fixed and addressed.

A big welcome goes to Alberth, which joined our development team for this release. He is partly the reason we are much further along than I expected to be.

For the next release we will try to remove the libemu dependency, making that release the first ‘stand alone’ release.

As per usual, a changelog has been made, and can be viewed http://binaries.opendune.org/releases/0.5/changelog.txt.

Please keep in mind that until we understand more of the game, you still need to manually put the Dune2 data files in the proper directory; if you do not, the game will not start.

You can download the release http://binaries.opendune.org/releases/0.5/, and here you can discuss the release on our forum.

We strongly recommend that you download an updated scenario.pak (tnx to MrFlibble): http://forum.opendune.org/viewtopic.php?f=9&t=23

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- MrFlibble (for his scenario.pak updates, and his endless questions and suggestions)
- tneo (for, singlehandedly, continuing finding more bugs than the entire team could solve)

The development team (alphabetic order):

Albert Hofkamp (Alberth)
Loic Guilloux (glx)
Patric Stout (TrueBrain)
Steven Noorbergen (Xaroth)

OpenDUNE 0.4 release

Today we are proud to announce the release of OpenDUNE 0.4

This is the third release in a set of releases which concentrate in understanding and rewriting all functions of the original code, making enhancements on the way, without really changing the game in any way. A complete list of enhancements can be found here.

This release is heavily delayed as development slowed down a bit, and because we didn’t feel it release worthy till now. This version is much more stable, and it has been a long time ago that we have seen crashes like earlier releases did.

As per usual, a changelog has been made, and can be viewed http://binaries.opendune.org/releases/0.4/changelog.txt.

Please keep in mind that until we can convert more of the game, you still need to manually put the Dune2 data files in the proper directory; if you do not, the game will not start.

You can download the release http://binaries.opendune.org/releases/0.4/, and here you can discuss the release on our forum.

We strongly recommend that you download an updated scenario.pak (tnx to MrFlibble): http://forum.opendune.org/viewtopic.php?f=9&t=23

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- Alberth (for his patches, and hopefully more to come)
- MrFlibble (for his scenario.pak updates, and his endless questions and suggestions)
- tneo (for, singlehandedly, continuing finding more bugs than the entire team could solve)

The development team (alphabetic order):

Loic Guilloux (glx)
Patric Stout (TrueBrain)
Steven Noorbergen (Xaroth)

OpenDUNE 0.3 release

Today we are proud to announce the release of OpenDUNE 0.3

This is the second release in a set of releases which concentrate in understanding and rewriting all functions of the original code, making enhancements on the way, without really changing the game in any way. A complete list of enhancements can be found here.

As per usual, a changelog has been made, and can be viewed http://binaries.opendune.org/releases/0.3/changelog.txt.

Please keep in mind that until we can convert more of the game, you still need to manually put the Dune2 data files in the proper directory; if you do not, the game will not start.

You can download the release http://binaries.opendune.org/releases/0.3/, and here you can discuss the release on our forum.

We strongly recommend that you download an updated scenario.pak (tnx to MrFlibble): http://forum.opendune.org/viewtopic.php?f=9&t=23

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- MrFlibble (for his scenario.pak updates, and his endless questions and suggestions)
- tneo (for, singlehandedly, continuing finding more bugs than the entire team could solve)

The development team (alphabetic order):

Loic Guilloux (glx)
Patric Stout (TrueBrain)
Steven Noorbergen (Xaroth)

OpenDUNE 0.2 release

Today we are proud to announce the release of OpenDUNE 0.2

This will be the first release featuring our re-doing of the original code, as such, several ‘enhancements’ have been made, enhancements which we find will improve the game, without changing the feel of the game. A complete list can be found here.

As per usual, a changelog has been made, and can be viewed http://binaries.opendune.org/releases/0.2/changelog.txt.

Please keep in mind that until we can convert more of the game, you still need to manually put the Dune2 data files in the proper directory; if you do not, the game will not start.

You can download the release http://binaries.opendune.org/releases/0.2/, and here you can discuss the release on our forum.

We strongly recommend that you download an updated scenario.pak (tnx to MrFlibble): http://forum.opendune.org/viewtopic.php?f=9&t=23

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- MrFlibble (for his scenario.pak updates, and his endless questions and suggestions)
- tneo (for, singlehandedly, finding more bugs than the entire team could solve)

The development team (alphabetic order):

Loic Guilloux (glx)
Patric Stout (TrueBrain)
Steven Noorbergen (Xaroth)

OpenDUNE 0.1 release

Today we are proud to announce the first public release of OpenDUNE.

It is our first release of many. While it’s classified as a release, it is not a 100% stable release (see below).

If you want more information about this release or OpenDUNE, please check our forums or our wiki. If you find a bug, please report it at our bug tracking system.

A feature list would normally be in order, but as this is the first version, and 100% identical to the original Dune II, there is none yet.

You can grab your copy at the following location:
http://binaries.opendune.org/releases/0.1/

NOTE: in order to play this you will require all the data files of the 1.07 EU release to be present in the /data folder; without this the game will not work. Also, the first time your start the game, you are forced through the whole intro (your mouse and keyboard won’t work). This is only the first time, and exactly as it was in the original Dune II. Finally, the security question is also there. Answering it wrong makes you get kicked out of the game. We suggest to buy the original game with the manual, so you can answer them truthful.

Below is a list of known issues, due to the method of decompiling. Besides these issues, there are the ones that Dune II already had (we haven’t fixed any bug of the original Dune II):

  • The game sometimes randomly hangs. Mostly when entering Buy-screens.
  • The game sometimes randomly shows garbage on your screen, units disappear, we even have a reported case of switching houses. This is because in the emulated memory there is a buffer overflow, which we can’t track down. It is _not_ a buffer overflow in the hosts memory! So there is in no way a security risk. It happens inside the emulated memory.
  • The mouse can go crazy from time to time. Just give it a moment, and it mostly restores.
  • Saving the game can lock up the game. Close the game and load your game, and you should be fine.

All above problems will resolve themselves when converting to real C, which will happen in the next few releases. To avoid loss of progress, we suggest you to save often. This is only a temporary solution, and the game will be more stable as it matures.

Special thanks:

This release wouldn’t have been here if it wasn’t for the following people (alphabetic order):

- Alberth (for all his testing in the early stages)
- glx (for joining our dev-team and making the Windows binary happen)
- nsz (for his C89 knowledge)
- planetmaker (for his testing)