Dune - The Battle For Arrakis Cooperative Mod

This version supposed for co-op walkthrough, but you can beat it solo.

For playing you need special emulator.
Reason for this is the fact, no matter whether you playing co-op or solo,
there are always two screens: for player one, and for player two.

Difference between emulators is only which screen they show:
mednafen_p1.exe - shows screen of player one.
mednafen_p2.exe - shows screen of player two.
Ability to play co-op reached by connection of two emulators by network,
via server. Server is common mednafen server. None modifications.

mednafen.exe - normal emulator with support of overclock and big ROMs.

Game file (ROM): Dune - The Battle For Arrakis Cooperative Mod.bin



    Launching.

How to launch game in emulator?
You can do that in following ways:

#1. Drag and drop ROM (game file) onto corresponding emulator (executable, for example mednafen_p1.exe).

#2. Open cmd.exe, see new console window,
    Drag and drop emulator(executable, for example mednafen_p1.exe) onto console,
    Append space in console by pressing space,
    Drag and drop ROM (game file) onto console,
    Press Enter.
    If nothing happens, or failure, then probably it's not the way for you.
    Try other way.
    For those who interested, just google "cmd.exe". Or "how to use console in windows".

#3. Make shortcut for corresponding emulator (executable, for example mednafen_p1.exe),
    Click by right mouse button on it,
    Select "properties",
    Append space in field "object", and after it,
    Also append full path to ROM (game file), enclosed in quotes, as executable is.
    Then, press OK.
    Now, if you open shortcut, it should open emulator with the game.



    Controls.

Right after you open emulator, first what you have to do is...
Set 6-Button pads for 1-4 ports!!!
( otherwise if you have different settings for ports, you'll unable connect )
To do it, press F1 and see help:

CTRL+SHIFT+[n] - Select device on port n.

Thus, you need press CTRL+SHIFT+1 to change device on port 1,
Next, look what is shown at bottom of screen. It should be:

6-Button Gamepad selected on port 1

If it shows other thing, then other device selected.
Continue to press CTRL+SHIFT+1 until it shows what we need.

Same, press CTRL+SHIFT+2 until it print:
6-Button Gamepad selected on port 2
press CTRL+SHIFT+3:
6-Button Gamepad selected on port 3
press CTRL+SHIFT+4:
6-Button Gamepad selected on port 4

Done! Don't touch other ports!

Reason for this is the fact, that for succesfull connect to server,
you need to have exactly same settings on all ports.
Otherwise it will disconnect you as soon as you connect.

To setup input bindings, or rebind, you can press F1 and see help:

ALT+SHIFT+[n] - Configure buttons on port n(1-8)

Or, straight forward press ALT+SHIFT+1,
then, you'll be asked what button you want to set for UP,
To set button just press it.
Next, you'll be asked what other button you want to set for UP,
If you don't want other button for UP, just press what you bind again.
After that, all other buttons will be set similarly.
For rapid A, rapid B... and so on, set some key which you never press.
Rapid A - when you hold the button, it rapidly pressing A with small delay.



    Game modes.

  Solo.
 
To play solo, just run the game using mednafen_p1.exe 

  Netplay.

To play co-op:
First player runs the game using mednafen_p1.exe, second player runs game using mednafen_p2.exe
No matter whether both players on same PC or on different PC.

First player press t and type: /server (server address)
                 for example: /server netplay.fobby.net (between /server and netplay.fobby.net SPACE!)
Second player press t and type: /server (server address)
                 for example: /server netplay.fobby.net (between /server and netplay.fobby.net SPACE!)

After that, you can play actually. But only if first who connected was player one, and only after - second player.
The thing is, when you connecting to server, at bottom of emulator, in console it says
which controller you took over contol. For example:

You, FLjQu0Sc, have connected as: player 1.

This means, that you took control over first controller. In our case: screen shown by mednafen_p1.exe
If this is not what you want, and you want to leave this controller alone. Type /drop 1

* <FLjQu0Sc>, dropped controller 1, and is now a lurker.

Then, for example you want to take control over controller 2 and screen mednafen_p2.exe, type /take 2

* <FLjQu0Sc>, took all instances of controller 2, and now is player 2.

However, more handy to know what other player does during gameplay.
To achive this, you got to open second screen.
This will be additional screen (emulator), where you may "observe" other player's doings.

First player additionaly runs the game using mednafen_p2.exe
Press t and type: /server     ( second emulator should connect to server )
Press t and type: ( depending on what controller took observer, drop it ) /drop 3 (/drop 4, /drop 5...)

Second player additionaly runs the game using mednafen_p1.exe
Press t and type: /server     ( second emulator should connect to server )
Press t and type: ( depending on what controller took observer, drop it ) /drop 3 (/drop 4, /drop 5...)

To avoid lags, "observer" emulators may drop gamepad which they took:

You, FLjQu0Sc, have connected as: player 3.

Thus, type /drop 3

* <FLjQu0Sc>, dropped controller 3, and is now a lurker.

To make nick more readable / nice, you may set it typing: /nick Imperator

To disconnect from server, type: /quit

To connect after disconnect to last server again type: /server



   Controls in Dune2.

A - select / attack.
B - cancel.
C - hold it to move cursor fast.
X - buildings: repair; units: Area Guard.
Z - even more fast cursor move.
Y+B - cancel production in building.
Y+A - request Carryall to carry unit in repair.
Mode+A - attack on position on ground, or attack ally unit or building.




   Megadrive overclock. To avoid ingame lags.

Normal speed of Megadrive is not enough to  play the game without ingame lags ( don't blame server ).
Thus better to overclock it a bit. To make it work in netplay,
     it should be set exactly same on all emulators.
WARNING: overclock should be exactly same on all clients of same game!!! (room)
          otherwise will be permanent desync (different clients will show different game state)

To overclock md, open mednafen config (mednafen-09x.cfg) with notepad.
Find (using CTRL+F) text md.overclock. Default is 1. Change to 2.
If the value is 1 - then it's normal speed of Megadrive. If the value is 2, then it's twice faster.
You can set it 1.5 - it will be faster in one and a half times faster. But to avoid desyncs,
Values should set exactly same on all players who join same game.

Bigger value - bigger CPU usage. Increasing number eventually will make game unplayable,
FPS will be too low, or over netplay it will always hang.



   Troubleshooting. Something is not working.

1) Emulator is not showing up, zero reaction. Looks like it's not launching at all.
   Solution: look into "Launching" section. Looks like you doing something wrong.

2) When I pressing buttons some other buttons pressing simultaneously, which I don't press.
   Solution: rebind buttons, if it doesn't help, then delete config (file mednafen-09x.cfg)
             and configure mednafen again.

3) When I connect to server, it says something weird and disconnect straight ahead.
   * Controller type mismatch for controller 1. Game: 3, You: 2
   Solution: you should set controller type on port 1 to 3 = 6-Button Gamepad.
            you have 2 = 3-Button Gamepad on port 1 right now.
            to make it, press CTRL+SHIFT+1 until it show 6-Button Gamepad.
            if you try to connect again, and it will say something similar,
            look carefully, probably now it complain about other port.

4) Right after connection to server, emulator screen hangs, and never response.
   Solution: looks like your PC is not powerful enough to run emulator and netplay at full speed,
             or maybe you have too big ping, try to pick other server.

5) I'm controlling other screen instead of my.
   Solution: you need to undertand /take, /drop, read above what they do.

6) Disconnect happened!
   Solution: player which is still connected makes savestate (F5)
             player which is disconnected types /server
             player which made the savestate, loads the savestate (F7)

7) Desync happened! My mate saying that I'm trying to build turret in sand.
   Solution: someone of you makes savestate (F5), and then loads it (F7).
 
8) We always have desyncs!
   Solution: probably you have different md.overclock setting, thus different timings.

9) When we connect to server, someone already play.
   Solution: use gamekey. For example /gamekey pudding
             gamekey can be any text.

Additionaly: we live in most beautiful country in the world, and biggest!!!
So, not everyone would be able to use same server.
Therefore, we suggest to find best server first, and only after start playing.
For example, if first player has ping 20, and other player has ping 40, then lags may happen!
Best is when both players has similar ping. Ideal is when ping is lowest and similar: 5 and 5.

If you want to know ping, just type /ping


    Hints.

Slava: hey folks, of course you may try any combinations. However we with r57shell came to consensus,
someone builds base, other moves forces (but it's in the beginning).
During offense, best our formation: one moves Tanks, one moves Rocket-Launchers...
Well, there I think you will understand...   



Our contacts:
Community in VK: https://vk.com/dune2online_sega
Channel on YouTube: https://www.youtube.com/copralpornov/
Send email to r57shell: r57shell@uralweb.ru


 Dune - The Battle For Arrakis Cooperative Mod - developed by r57shell and Slava.
 Made by modding DuneHack Rebuild - r81c (17 september 2017 year) by Ti_.


 Video instruction (RUS language, but you may see in action):
 https://youtu.be/0UJAUa82N20
 
 Say thanks to us: htts://www.donationalerts.ru/r/slava1989_13
  Enjoy the game, folks!

