Jump to content

OpenD2k - cross platform reimplementation of Dune 2000

Matthias M.

Recommended Posts

Yeah, as I edited into my above post, they were stupid; instead of defining an actual SYSTEM for defining the remap style in those yaml files, they just make it point to 3 possible hardcoded methods of handling it -_-

Personally, were I to program this, I'd make the setting into an actual 16-integer list of the colour indices to remap, from bright to dark. Then you could've done it yourself, and with the order change.


Heck, they even got the C&C1 style all wrong (in their docs anyway). It's not two ramps of 8 colors each, with one ramp used for buildings and the other for units. That was the original intent (almost; it was part of a dual colour system), but in the final game it just serves as one big colour fade. They just happen to be not sorted by brightness -_-

Link to comment
Share on other sites

Hmm Matthias... D2k graphics have their shadow set on colour #1. How do you solve that in OpenRA?

(tbh, the odd mix of programming and config files that makes up a 'mod' gets really confusing)

[edit reread the docs a bit]

Buh, OpenRA has 3 shadow colours? that's... kinda weird. Another thing that might be better left custom defined in these configs imo.

Link to comment
Share on other sites

According to https://github.com/OpenRA/OpenRA/wiki/Palettes-and-Remaps

Transparent: <bool, default true> # Map indices 1,3,4 to shadow if true

There is just a setting to enable/disable shadows and it sets three colors to shadow.

I used that setting lately to enable transparency for the mouse cursor. There was another redundant palette definition in another YAML file which lacks transparency enabled by default.

I think https://github.com/Mailaender/OpenRA/blob/dune/mods/d2k/rules/system.yaml#L133 sets the color of the shadow as it is a little dark compared to the original Dune 2000, but changing the A: value did nothing.

It seems that you can change nearly every hard-coded variable via the YAML system, but it lacks documentation and sometimes even the developers did not know that the option exists. I usually have a look at the Code and then try to override it in the YAML to avoid changing source code.

Link to comment
Share on other sites

Yeah, it just seems odd that they got 3 shadow colours defined, while no C&C game ever used anything except colour #4 as shadow. Guess it's handy for you though, since D2k uses index #1.

I think https://github.com/M...ystem.yaml#L133 sets the color of the shadow as it is a little dark compared to the original Dune 2000, but changing the A: value did nothing.

Oh, wow. In a mess like that, settings that don't actually work are not a good thing -_-

Link to comment
Share on other sites

(tbh, the odd mix of programming and config files that makes up a 'mod' gets really confusing)

You can make a mod without touching any code. My D2k.Dll currently just displays the splash screen and has the installer logic. In the future it needs to get modules for the automatic carryall, concrete plate and sandworm features. Shroud, overlay tiles and turrets need renderer updates, too.

The YAML settings are quite powerful. The map format .oramap is in fact a zip that contains the map, optionally additional SHPs and a map.yaml where you can reset nearly everything. I saw a map recently that other games would call a semi-conversion mod.

Link to comment
Share on other sites

The first contribution by a tester is a nice 1on1 map. I combined all the slightly different Dune 2000 tilesets into one featuring nearly 500 different tiles.


A release with pre-build binaries and one-click download of the game files might arrive in the next OpenRA playtest.

  • Upvote 2
Link to comment
Share on other sites

Some contributors are adding the first campaign missions to the Red Alert and Tiberian Dawn mod so technically it is possible. I will include them if you create one, but I probably won't do it myself.

Using the map editor should work by doing the following:

  1. http://openra.res0l.net/download/ the latest stable release and install
  2. download https://github.com/Mailaender/OpenRA/zipball/dune and copy the mods/d2k folder into your "Program FilesOpenRA" installation
  3. download http://open-ra.org/get-dependency.php?file=d2k-packages and extract to "My DocumentsOpenRAContentd2k"
  4. start OpenRA.Editor.exe
  5. choose d2k at the top right
  6. Click New (wait a moment, it lags while loading)
  7. Start mapping

Send me the *.oramap saved into mods/d2k/maps.

Playing the game won't work without https://github.com/OpenRA/OpenRA/wiki/Compiling

Link to comment
Share on other sites

Played other OpenRA modes (C&C and ra), and I can say they are good. Any new progress with the dune2k mod?

About the map editor, I prefer to wait for a kinda beta release, so I can test the maps I make. I won;t ever make maps if I cant test them :D btw, the editor crashes for d2k mod.

Link to comment
Share on other sites

Yeah, I now changed some palette stuff which requires the editor to recompile, too. But we might reach beta quality soon.

I recently fixed the infantry and ornithocopter frame ordering with help from chris who is the main developer. He also fixed the shroud and is working on the sandworm. I also added the sounds, voices and nearly all notifications. Nothing you can see at a screenshot, but still we are polishing for a release.

If you are not into coding but still want to help:






Those could need some overhaul. The square-flags in buttons.png should better be rectangles as in https://github.com/Mailaender/OpenRA/blob/dune/mods/ra/uibits/buttons.png so they fit into dropdown menus and https://github.com/Mailaender/OpenRA/blob/dune/mods/ra/uibits/dialog.png has an edge-tile.

Link to comment
Share on other sites

A small visual update: I added the turrets and chris the shroud.


The Ordos deviator will now convert enemy units to your own team permanently. However he can not attack armored vehicles like harvesters or tanks. Just infantry and light vehicles.

Link to comment
Share on other sites

nice but not sure about the deviator thingy, converting infantry is somehow .. weird :D and by "it can't convert tanks", u mean that for example a Devastator can't be converted? or even an atreides medium tank?

Btw, how far is a beta release? :D and is there AI for the mod?

Link to comment
Share on other sites

In my eyes a deviator who fire a chemical weapon that won't affect infantry but tanks is weird :) I can change it later if it is a balancing problem, but it was easier to code this way.

The d2k mod is already merged into OpenRA. The packaging routines were updated a day ago. It will hopefully make it into the next OpenRA playtest which will be in a week or so preparing for a release in july.

I also added AI, but it's only strategy is amassing units and throwing it at you. Someone worked on the harvester AI lately which is really improved now. Maybe he will do the same for the combat AI.


Just added the bibs. The buildings offset is still a little wrong.

  • Upvote 1
Link to comment
Share on other sites

i meant not to convert infantry, maybe to kill them. But dune2k always had a problem with house ordos as it was weaker than others because the devi was innacurate. i guess this one will be right? :)

Link to comment
Share on other sites

It does not care if the fake projectile that deals no damage hits. Every shot is a conversion at the moment.

A notable difference might be the saboteur who is now uncloaked all the time, but not wasted after planting the explosives.

We also think about a C&C Generals style engineer capture https://github.com/OpenRA/OpenRA/issues/2274

I might put a passenger seat into the raider/trike for quick hit and run tactics using saboteur/engineer as the RA mod does it.

Also the Ornithocopter is directly controllable and fires a machine gun like in Dune II.

The similar unit share the same stats at the moment. Only the raider is a little faster and stronger then the trike. This might balance the "different" houses already.

The artillery also has a lot more range.

  • Upvote 1
Link to comment
Share on other sites

Ah, so the saboteur will be like a Commando in C&C? Nice :D

About the engi, yeah, it may be interesting.

Raider seats, again, its nice.

Orni, nice as well :D but did u rename the unit? Cuz originally it is Ornithopter. (maybe the Atr orni should be a bit better to fit their house profile?)

Now some questions:

1) all houses will have the same artillery?

2)what about super-weapons? i guess the DHM (Death Hand Missile) will be kept, but what about atreides and ordos ones?

3)any new units? like flame tanks for hark? or some kind of stealth tanks for ordos?

4)I hope that the mod will include the tank squishing option, because what RA mod did (removing tank squishing) it's just bullshit and non-sense... :)

5)are you going to keep the key shortcuts? like "Y" key to repair? (very usefull) and "H" key to go to ConYard? (very usefull as well)

6)if there is going to be a campaign mode, will the sub-houses be available? (of course, not to be done now, maybe some time later, after the mod is consolidated)

Link to comment
Share on other sites

Saboteur is like a Commando but without weapons.

Ornithocopter is a misspelling. Will fix it. Thanks

1) Yes, currently siege and missile tank is available to everyone.

2) Death Hand is definitely planned. Atreides could get their orni bombers. Ordos could get paratroopers (should be easy to do) or a tunnel for sneak attacks (that requires some work).

3) I found napalm sounds in the D2k game files so this might have been planned even for the original game. However I rely on people drawing new vehicles. You can see some early attempts at http://content.open-...ble=units&id=10

4) In the RA mod only the big tanks can crush infantry. As D2k does not really have small tanks I think I added the crush option to every tank.

5) Conyard is backspace (cycles through) see https://github.com/O...A/wiki/Controls

6) OpenRA has support for "countries" and "races" which should be equivalent to houses and subhouses. You can also define new units in your map.yaml so everything is possible.

By the way you can also make a lot more interesting mission than kill all the enemies or collect 5k spice. See https://github.com/S...lies01Script.cs for a quite advanced mission code.

  • Upvote 1
Link to comment
Share on other sites

Thanks for the answers!

Of course, I made some campaigns for original dune2k, the published one can be found in my signature. I didnt remake any original mission, everything was made by scratch, with new objectives of course. So I'd like to create a campaign for the dune2k mod, but I'm not that much into coding, if u know what I'm saying :)

Btw, that language is C# ?

EDIT: I wanna make a suggestion, maybe u will see it useful :D what about one new infantry unit for each house? like a flamethrower for hark, grenadiers for atr and chem troopers for ordos? Also, I thought about Ordos' superweapon, and it may be best for them to have some sort of chemical missile. What do u think about these?

Link to comment
Share on other sites

A grenadier is in the 1.06 patch files which I currently can't rip. Have to look at mvi's code for it. Other infantry and new super weapons is doable, too but it needs at least an icon.

Yes, it's C# which is quite easy to learn. http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&t=15510 allows LUA scripting, but that won't be merged anytime soon I guess. I could help with mission scripting.

Link to comment
Share on other sites

Another suggestion: I really want the ALT+click option enabled, so squishing infantry is easier than it is at the moment. Also, I hope that the mod will be included in the next release of openra :) because i tried to install it but it didnt woork, and the game was screwed up after I tried to remove the mod (the game didnt start at all). So I'm not into testing and compiling :D i just wait and want the mod to be included in the next release (which i hope it comes soon )

Link to comment
Share on other sites

  • 2 weeks later...

Beta Release!

Go to http://openra.res0l.net/download and get the unstable playtest 20120715-2 which has for the first time Dune 2000 support. No need to compile anything yourself.


The d2k specific OpenRA changelog:

Chris Forbes:
add d2k -> ra shp conversion support to utility
fix #2215 - add shadow.shp based on RA but with proper size for d2k
include d2k mod in official packages

Paul Chote:
Hacky beginnings of a standalone d2k mod
support d2k remap range
d2k shadows
Initial support for custom tile sizes
Custom tilesize support for editor
Support custom tile size ingame
Create valid maps for custom tilesets
Add new tileset source
Fix d2k colour picker (fact doesn't exist yet)

Matthias Mailänder:
added DATA.R8 → BMPs to OpenRA.Utility.exe
fixed R8Reader for DATA.R8
aligns all images to top left ignoring offset
created a bash script to append Dune 2000 BMPs to single PNG for SHP creation
individual frames of DATA.R8 now get converted to appended indexed PNG
use correct offset for D2k PNGs, started new bash script
reverse and cycle the frame order for D2k vehicles
fixed d2k mod, removed redundant palettetest and broken default
mostly makefile fixes for D2k.dll
added CnC as Dll dependency
removed Requires: tag because of map editor, added Atreides
fixing atreides voices/chrome, mcv, icons, adding structures
added refinery and carryall
added light factory, silo; quad and trike
put d2k mod stuff into it's own branch
added harvester, trike/quad now working, fixed mod inheritances
fixed vehicles driving backwards
fixing MCV facings and flickering bug
+heavy factory, radar outpost, brick wall
added tech buildings, repair pad, startport, tanks
fixed wall, silo; add ornithocopter, sonic tank, infantry
fixed refinery, factories
added Dune 2000 music, voices
make Dune 2000 an independent mod
inherit units that differ only slightly for each faction
added flags, worked on the UI
added Harkonnen
added Ordos
fixes repair pad
made HackyAI more flexible for Dune 2000 mod
fixing RALint.exe d2k and ordos missing defense buildings
added more Dune 2000 EVA voices
add D2k crates, started fixing infantry
updated the README
removed need to define Harvester/BaseBuildingUnit manually
added d2k mouse pointer, fixed aircrafts
added spice as a ressource
added (broken) content installer, moved instruction to GUI
fix CD rip logic a little
added smudge
added spice bloom
added TilesetBuilder2 and fixed it for Dune 2000
added TilesetBuilder command line, added Tileset extractor
adding chrome/settings.yaml
updated BLOXBAT terrain
adding in-game GUI gamefile extractor/converter
added utility reference to Makefile for d2k mod
tsbuilder is required for mod_d2k
fixing BLOXBASE problems
added install rules for d2k mod, fixes carryall landing
new AI with optimized build order
remove unneccessary dependencies, make SendTo less spammy
experimenting with auto-downloader, sandworm
add the first Sounds
fixes mouse cursor not being transparent
+resampled sounds, readded and completed Arrakis tileset
make cursor always transparent, fix Arrakis tileset
replace RA conyard with D2k carryall for colorpicker
added engineer, bazooka
added special infantry, fixed UI, added new map
fix passable edges in Cliff terrain tiles
added Renderer Dropdown in RA Settings
add notifications
fix settings for d2k and cnc
new settings Transparent for cursors.yaml
made PaletteFormat configurable
added harvester unload, thumper which spawns sandworms
race specific notifications/mcv-crate
race specific ProductionQueue audio
voices now support prefixes
race specific BaseAttackNotifier
make ornithocopter flap (broken)
replaced RA sounds by Dune 2000 ones
make orni flap slower
transpose infantry/ornithocopter
fixed some selection boxes
fix utilty remap, remapped flag/poweroff to d2k.pal
READY/ON HOLD as DrawText instead of SHP
remove ready/hold/group pip from BuildPaletteWidget
auto-restart the game after getting the game-files
don't mount unneeded RA game files
string AcceptsSmudgeType replaces boolean AcceptSmudge
relative altitude for carryall cargo
fixed turret facing order, added rocket turret
added real allyrepair, fixed flagfly shadow
fixed crash when mod not found, don't save broken settings
change mouse pointer on terrain types
arrakis tileset categorized for editor
non-capturable hospital with heal-zone
notifications (formerly EVAalerts) centralized and race specific
unclock factory exits
made palette shadowindex configurable
added HarvesterAttackNotifier.cs to .csproj
add bibs for d2k
fixed building dimensions as d2k now has bibs
new spice shp with 20 densities
don't crash when sound rules are not loaded
manually fixed #2293 (building offsets)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...