1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382
|
+--------------------------------------------------------+
| CCC OOO N N QQQ U U EEEEE SSSS TTTTT |
| C C O O NN N Q Q U U E S T |
| C O O N N N Q Q U U EEE SSS T |
| C C O O N NN Q Q U U E S T |
| CCC OOO N N QQ Q UUU EEEEE SSSS T |
+--------------------------------------------------------+
This file contains various information about Conquest, such as a
description of the files supplied, and various tips and hints on
configuring and playing the game.
See INSTALL for instructions on unpacking, compiling, and installing
conquest, as well as information on terminfo requirements and system
specific issues.
See README.cygwin for information on building/using conquest on MS
Windows systems.
See SERVER.TXT for information on how to setup and run a Conquest
server.
See HISTORY for the latest news and modification history.
See conquest.doc for information on available commands, and how to
play the game.
NEW USERS: Please read the section '## Hints for new players' below
for some useful information you should know. Reading the
whole document is advised, but this section is probably
the most important as far as providing some useful
playing tips.
In the sections below, commands you issue to conquest will be
enclosed in parentheses '()'. The RETURN key is represented as '\r',
and the TAB key is represented as '\t'.
CONTENTS:
### Conquest Synopsis
### A Little Background
### General Information
## Starting Conquest
## Default network ports
## Server game flags
## Meta Server
## ~/.conquestrc
## Recording Games
## Replaying Games
## Hints for new players
# Shields
# Energy Allocation
# Bombing
# Repairing
# Cloaking
# Carrying armies
# Detonating enemy torps
# Using torpedos
# Using phasers
# Kill points
# Robot scanning range
## Planets
## Suns
## Cloaking
## Tractor beams
## Ship Strength
## Refitting
## Leaving the game
## Teams
## Combat
## Macro Keys
## Navigation
## The Robots
# Conqstrat
# Combat
# Creating Robots
## The Doomsday Machine
## Using conqoper
# The semaphore status line
# Leaving a screen on conqoper
### The installed files
## conquest
## conquestgl
## conquestd
## conqmetad
## conquestsh
## conqdriv
## conqoper
## conqai
## conquest_common.img
## HISTORY
## conquest.doc
## conquest.log
## conquestrc
## libconquest.so
## libconqclnt.so
## libconqserv.so
## libUi.so
## libUiCU.so
## libUiGL.so
## img/*
## ~/.conquestrc
### Getting more information
### Obtaining Conquest
### Copyright Information
### Conquest Synopsis
Here's an extract from the conquest.doc file:
NAME
Conquest - a multi-player real-time screen-oriented
space war game
SYNOPSIS
conquest
DESCRIPTION
1. OBJECT OF THE GAME.
The object of the game is twofold. The short-range goal
is to accumulate "kills" by shooting down enemy players.
You get one kill point for each enemy ship shot down,
plus some extra if the enemy had kills too. The major
weapon used to shoot down ships is the photon torpedo.
The long-range goal is to conquer the universe for your
team by taking every planet. You take planets by killing
off the enemy's armies via bombardment, and then beaming
your team's armies down. When all the planets have been
taken, the game ends, a new game begins, and the player
who actually took the last planet gets his/her name up
in lights.
...
### A Little Background
A quote from Michael Erskine:
"We were playing xtrek before there was X... It was known then
as Conquest, was written in RATFOR and ran on a VAX...
Personally, I liked it better... but who can account for the
tastes of old C programmers?"
Conquest was originally written in Ratfor for the VAX/VMS platform
in 1983 by Jef Poskanzer and Craig Leres. I wasted incredible
amounts of time playing this game with my friends in the terminal
labs at college, and when I actually had a multi-user system
running at home (Unixware) I decided to try and translate/port the
code to C in Unix. While doing the port, I added several new
features including color and Fkey macro support, as well as many
other minor 'enhancements'.
For those who played the original Conquest, you may notice that
cloaking is more usable, (though not *too* usable), torps have a
slightly longer range, the keypad can be used for 1-key steering,
the Conquest driver recovers almost immediately from a crash/kill,
color and macros are supported, and other small changes. Where
possible, I've tried to keep the mechanics and balance of the game
identical to the original. More tweakage should be expected
though, as well as the continuing removal of useless code.
Starting with Version 8.0, Conquest has been split into a true
client/server game. Conquest clients connect to a local or remote
conquestd server to play.
### General Information
## Starting Conquest
Starting with Conquest 8.0.1a, there are two conquest clients you
can use to connect to a game:
conquestgl - the new GLUT/OpenGL client
conquest - original curses based client
You can start a Conquest client with various options. For example
type 'conquestgl -?' to see a list of supported options, and what
they do.
In the following examples we will use the OpenGL client
'conquestgl', but you can substitute 'conquest' if you want to use
the curses client instead.
To connect to a conquest server running on the local host:
$ conquestgl
or
$ conquestgl -s localhost
To connect to a conquest server on a remote host:
$ conquestgl -s conquest.radscan.com
- connects to a server running on conquest.radscan.com.
$ conquestgl -s conquest.radscan.com:1702
- connects to conquest.radscan.com, port 1702.
To contact the default conquest metaserver (default:
conquest.radscan.com) and select from a list of available online
servers:
$ conquestgl -m
NOTE: If you want to connect to a server on your local machine, be
sure conquestd is running. See SERVER.TXT for more information on
conquestd and running a server.
## Default network ports
This is the list of default network ports Conquest uses:
1700/udp - metaserver update port
conquestd sends updates to conqmetad on this port
(when run with '-m')
1700/tcp - metaserver query port
When you (or a conquest client) connects to this port
on the metaserver host (default:
conquest.radscan.com), the metaserver dumps the
current server list out on this port and disconnects.
1701/tcp - default game server port
conquestd listens on this port for client
connections.
1701/udp - default game server port for UDP location data
(v8.0.1c or better).
conquestd listens on this port for client connections
to determine if the client and server can both do
UDP. The server will also send UDP motion data to
the client(s) from this port.
UDP is only used for ship motion data from the server
to the client. The client only sends data to the
server on this port during UDP negotiation.
You can use the '-p <portnum>' option to conquestd to have the game
run on a different port other than the default of 1701.
## Server game flags
The server operator can set various game flags via the conqoper
Options menu. These flags are displayed on the conquest login
screen (when connecting to a server), as well as when the user
selects the Options menu from from within the game (while already
connected to a server).
Currently the following flags are available.
Refit - refits are allowed. You can refit to
one of the 3 types of conquest ships
when you have at least one kill, and
are orbiting a team owned planet.
Vacant - vacant ships are allowed. A ship goes
vacant when a client exits the game
without self destructing first, while
flying a ship.
When vacant ships are disabled by the
oper, such ships are immediately killed
by a 'lightning bolt'.
NOTE: In previous versions of conquest,
oper's would always go vacant in this
case, regardless of the vacant option
setting. In this version, every user
is subject to this option.
SlingShot - the SlingShot bug is enabled. This is
a towing bug that existed in the
original VMS/RatFor version of
conquest. It's a fun bug, and I
received several emails about it when I
inadvertently fixed it in a later
version without understanding it's
true significance.
If you don't know what it does,
well... figure it out! You'll need a
buddy to make it work though ;-)
NoDoomsday - when set, the doomsday machine is
prevented from randomly starting up and
trashing the universe.
Killbots - when this option is enabled, robots are
created with a random kill point
value. The kill points a ship has
affects the efficiency of it's engines,
the strength of it's weapons, etc.
Normally when a robot is created (by
attacking an unguarded homeplanet, etc),
it is initialized to 0 kills. When
this option is enabled, a kills value
is randomly selected. This means that
a new robot might prove to be much more
deadly than the default 0 kill robot.
This may not be a good option to enable
on a public server where newcomers play.
Fighting a 25 kill robot takes some
skill ;-)
SwitchTeam - when enabled, users can switch teams at
the conquest main menu.
## Meta Server
With Conquest v8.0, a meta server is supported. There is one
running at conquest.radscan.com.
If you want to see what servers are available, run conquest with
the '-m' option:
$ conquest -m
This will query the meta server and list the currently active
servers. From here, you can select one and connect.
There is a cgi-bin perl script on the Conquest website where you
can also get this info:
http://radscan.com/cgi-bin/conqmeta.pl
If you want to run a server that other Internet players can play
on, and you want them to know about it, you will want to run your
conquestd server with the '-m' flag.
$ conquestd -d -m
Depending on your network topology, you may also need the '-N' flag
if the Internet has a different idea about your server hostname
than you do internally. For example, here, conquest.radscan.com is
an external only address, so I must explicitly specify it to the
metaserver, or it will use the address the update packet came in on
(which no-one would be able to resolve and connect to). For
example, here is the complete line I use on my server to start
conquestd:
# conquestd -d -u nobody -m -N conquest.radscan.com
## ~/.conquestrc
After running Conquest for the first time, a file called
~/.conquestrc should have been created. Look at this file (it's
self-explanatory) for various options you can set. Conquest
Operators (or CO's) should look at /opt/conquest/etc/conquestrc for
a few system wide options you may or may not want. As of version
7.0, all options (user and system-wide) can be viewed and edited
using the new (O)ptions Menu. This menu is available at the
conquest/conqoper main menus, as well as being accessible from
within the game.
## Recording Games
With Conquest 8.0, recording has been significantly re-worked.
'.cqr' files created prior to v8.0 are not compatible with v8.0+,
sorry.
The new format uses the same packet protocol that the clients use.
This means recording files (cqr's) are *much* smaller and much more
efficient (cpu-wise) during the recording process, than they were
with v7.x.
Another benefit is endian safety. With the old format, recordings
could only be played back on the same machine architecture the cqr
was created on. Since the recording data is now based on the
packet protocol, recordings are now completely endian safe (network
byte order is used). So now, some poor slob on his Sun SPARC can
play back a recording I make on a lintel machine and vice-versa.
There are two types of recordings possible in Conquest: Server and
Client.
Client recordings are created when a user runs conquest with the '-r
<recfile>' option, for example:
$ conquest -r somefile.cqr
Server recordings are created by conquestd on the server machine
whenever a CO with the OOPTION_OPER set in their user record, sends
a command to GOD from within the game containing:
exec recon
server recording files will be saved in:
INSTALL_PREFIX/var/conquest-rec-<timestamp>.cqr
To turn off server recording, send the following to GOD from
within the game:
exec recoff
Aside from how the different recording types are made, the main
difference between the two are:
Client:
Client recordings do not contain full information on other
ships (fuel, etc) since, in order to limit the ability to cheat
by hacking up the client, only pertinent data about another ship
is ever sent to the client.
For this reason, client recordings are identified by the ship
that made the recording. Although you can still try to watch
other ships during replay, than the one that made the recording,
the experience will probably not be too rewarding, since much
data about the ship will never have been sent to the client to
be recorded in the first place.
For client recordings, replay will always use the recorder's
ship number as the default to the (w)atch command, though you
can certainly select other ones, keeping the caveat's above in
mind.
Of course, full information is always recorded for the ship
that made the recording.
Planet motion is only updated once every 5 seconds in client
recordings, since the orbital trajectories computed by the
client are not recorded.
Server:
Server recordings are complete (like the old recordings made in
previous versions of conquest), since the server has full
access to the common block.
All active ship/planet/etc data is stored in server recordings.
You can watch any ship during playack with a server recording
and get all info on the ship (heading, fuel, temps, etc).
To replay a recording:
$ conquestgl -P somefile.cqr
If libz and it's development header files are available on your
system when building conquest, game data will be recorded using
gzip compression. It's a good idea to use this. Replay can read
either uncompressed or gzip compressed files, and can be played
back using either the GLUT/OpenGL client or the curses client.
If your client was not compiled with libz support, then you
will need to uncompress any compressed .cqr files you may have
before you can replay them. A simple way is:
$ gunzip -f <somefile.cqr >somefile-nocompress.cqr
$ conquestgl -P somefile-nocompress.cqr
If anyone creates some amusing recordings and sends them to me,
I'll happily make them available on the website. ;-)
## Replaying Games
The Conquest client (either curses or OpenGL version) is used to
replay previously recorded games.
This is a much nicer way to save and playback games than using
something like script, or Xterm logging.
The replay allows you to speed up or slowdown the playback, as well
as giving you the ability to jump forward and backward in a
recording. Not as nice as a VCR but close enough.
To playback a game, you use the '-P' option to the conquest client.
For example, to play back a file called dethfun.cqr:
conquestgl -P dethfun.cqr
There is a 'demonstration' CQR file up on the website if you want
to try one out.
See the section '## Recording Games' for more information.
NOTES:
- Only the messages sent to the player that made the recording are
saved into the CQR file of a client recording. You can't use a
recording to 'snoop' on other players conversations.
- there is no way at this time to manually start and stop client
recording from within the game. You must start conquest with the
'-r' option to start client recording, and the entire session will be
recorded.
## Hints for new players
Here are some general things to keep in mind while playing.
# Shields
Shields are important for protecting your ship. Once your shields
are down, then your ship can start taking damage.
One main thing to remember:
- When your shields are up, they consume more power and cause your
engines to heat faster.
For this reason, *only* keep your shields up when you are in
danger - ie: an enemy ship is nearby, or you are close to an enemy
planet, torps, or a Sun, etc.
Don't run around the universe with your shields up all the time.
It just flags you as inexperienced and probably an easy kill.
On the other hand, when an enemy gets close, don't forget to raise
them :)
Your shields will repair at twice the normal rate if you lower
them.
# Energy Allocation
In Conquest, you can assign an energy allocation that is split
between your engines and your weapons. The max allocation
percentage is 30/70.
When you are just flying around, set your allocation so your engines
get most of the power. This can be done with (A30\r). This way
your engines will be as efficient as possible - using less fuel,
generating less heat, and making your ship more manuverable at high
speeds.
When bombing, do the opposite. Having your weapons have the maximum
power allocation increases your army kill rate. This can be done
with (A70\r).
When dogfighting, you will probably want to quickly switch between
the two. I would use a Macro for this (see the '## Macro Keys'
section). In this case, what you want to do is keep maximum power
for your engines, but switch to max weapons whenever you fire them.
This increases their power, and potential damage to an enemy.
I personally use a Macro for most phaser firing and torping (except
for aiming them). This macro switches to max weapon allocation,
fires the weapon, then switches back to max engine allocation.
Most efficient. Sometimes when you are dogfighting someone else (or
a robot) the first one to overload or run out of fuel loses. It's
important that you are not the one that this happens too :)
Some battles I have fought have depended entirely on the efficient
use of fuel and heat resources. A good player will always try to
get you to waste fuel and heat up. Robots, being fairly stupid, can
be goaded into wasting fuel and heat too, if you are careful.
# Bombing
Bombing is the usual way to get kills (unless you are good with
robots).
To bomb a planet, raise shields and go into orbit. Set weapons
allocation to max (A70\r), and use the (B) command.
If you want to bomb a team owned planet (those that are not
'self-ruled'), you will need to declare war with the team first
(W). Bombing a self-ruled planet automatically makes you at war
with that planet.
The more armies a planet has, the faster it will damage you. Keep
this in mind.
When bombing, set your weapons allocation to max (A70\r). This
will increase your army kills per bomb run.
When you have bombed the planet down to 3 armies, you now have to
'take' it. To take a planet, you must go and get some of your
team's armies and beam them down. You will need at least 4. 3 for
killing the remaining 3 enemy armies, and 1 to claim the planet as
your own.
While bombing, break off and repair when your damage gets around
50-70%. As you get more experienced, you can push the line a bit.
But it's important to know that the more damage you have, the slower
you will be able to run. With 70% damage, your maximum speed will
be about warp 3. On a 100 army planet, this may not be fast enough
for you to move away from the planet before the armies overwhelm your
shields and you explode. Exercise caution :)
Bombing a home system planet of a team will create a robot defender.
Be ready for this.
Home systems, and their planets are the following:
Federation: Earth, Telos, Omega
Klingon: Klingus, Leudus, Tarsus
Romulan: Romulus, Remus, Rho
Orion: Orion, Oberon, Umbriel
All other planets are self-ruled when a game is initialized, and
will not create robot defenders when bombed (even if owned by
another, non self-ruled team). Newcomers should probably avoid
bombing home system planets until they are ready to handle robot
defenders.
All planets, with the exception of Altair, Hell, and Jinx, must be
taken in order to conquer the universe.
# Repairing
When you are damaged, you will want to repair as soon as you are
able, so that you can regain your max warp and efficiency.
When not under attack, you will repair at a 'nominal' rate - which
will be quite slow.
Use the (R) command to go into repair mode. This sets you at warp 0
and lowers your shields - so don't do it in the middle of battle.
Repairing is faster this way.
If there is a friendly planet nearby, go into orbit around it before
using (R). You will repair even faster.
You will also cool down much faster when in orbit about a friendly
planet.
# Cloaking
You can cloak your ship if you wish with the (C\t) command.
Cloaking consumes alot of power and heat. If you are moving, you
will exhaust your fuel or overload fairly quickly. How fast this
happens depends on your ship type, and how fast you are moving. If
you put your shields up, you will overload even faster. Overloading
your engines is really bad in battle for obvious reasons.
If you are moving when you are cloaked, you are detectable - but only to
an approximate location.
If you are at warp 0, and you cloak, you cannot be detected at all.
This is a good trick to use when you want to ambush an enemy who is
approaching (assuming he does not already know you are in the
vicinity).
This is also a good way to escape from robots if you find you are in
trouble. You can cloak and go to warp 0. Then even robots cannot
detect you. This may give you the time you need to heal a little,
and perhaps the robot will wander off somewhere and give you some
breathing room.
Keep in mind that depending on ship type and your kills score,
decelerating can take a little time. So, if you are trying to evade
a robot, and he is very close, don't go to warp 0 and cloak. While
you are decelerating you are still detectable enough for the robot
to steam-roll right over you. Get a little distance from it first.
# Carrying armies
You should only carry armies when you are going to take over a
planet. If there are alot of enemy armies on the planet, bomb them
down some before bringing armies.
Carrying armies will increase fuel consumption and heating, so only
carry them when you are going to use them fairly quickly.
It's a real bummer to have to get into a dogfight when you are
carrying. Unless you are good and your opponent is bad, you will
probably not survive since you will most likely run out of fuel or
overload before he does.
# Detonating enemy torps
With the (d) command, you can try to detonate enemy torps before
they hit you. This command consumes fuel and heat, and will only
work on torps that are relatively close to you.
It is better to detonate torps before they hit you, to limit damage.
If it is possible for you to simply move out of the way of oncoming
torps, then doing so is more efficient than detting them.
If you can move out of the way rather than det them, the enemy ship
will have wasted fuel and heat firing them, and will then also have
to det them himself in order to free up torps slots to fire more -
while you have expended far less fuel and heat to evade them.
Getting the enemy to waste fuel and heat faster than you is an
important strategy in battle, and can often be the deciding factor
in a dogfight.
# Using torpedos
Torpedos are probably the most used weapon in Conquest. When fired,
they head in the direction they were fired until they hit an enemy
ship, or timeout (about 50 seconds).
The damage they inflict depends on the ship type that fired them,
the number of kills the ship has (more is better), as well as the
weapons allocation in effect when they were fired.
For the maximum damage potential, you should set weapons
allocation to 70% (A70\r) when firing. Maybe use a macro. :)
You can only have 9 torps out at a time. If you have fired them
all, and they missed, you should detonate them (D) so that you can
free up slots to fire more. Hopefully with better aim this time. :)
# Using phasers
Phasers are a close-in weapon. If the ship you are firing at is not
in RED ALERT range (about 1000) they won't have much (if any)
effect, and you will just waste fuel and heat using them.
They are *very* effective close up though, so don't abandon them in
favor of using torps only.
You can only fire a phaser about once per second. When in really
close combat, alternate between firing your phasers and torpedoes.
# Kill points
In short, the more kill points your ship has, the better.
You get kills by bombing planets, and blowing up enemy ships.
The number of kills you have will affect your ship in the following
ways:
- The more kills you have, the more efficient your weapons and
engines will be, in terms of fuel consumption and heating.
- The more kills you have, the more damage your weapons can
inflict.
- The more kills you have, the faster acceleration and deceleration
will be. You will also be able to turn quicker at higher speeds.
See also, the '## Ship Strength' section for more information.
If you are fighting enemy players, you will probably want to
concentrate on those with the highest number of kills. If you let
someone get a huge number of kills, it will just get harder to
destroy them, unless they make a mistake, or you ambush them.
# Robot scanning range
Robots have a somewhat limited scanning range. Basically, if you
are within around 6500 of an enemy robot, he can scan you and will
come after you if he can.
If you are bombing planets and there are other enemy robots around,
you might want to do frequent info commands on them (ine\r) to make
sure you stay outside this rough radius. Otherwise, they will see
you and come after you.
This is especially good advice if you are not good at fighting
robots :) Avoid them if you can.
## Planets
You need at least one kill before you will be able to transport
armies to, or from, a planet.
Core planets are those that need to be conquered in order to take
the universe. The (?)planet list option in conqoper/conquest will
identify core planets with a '+' sign. Currently, there are only 3
non-core planets, that while not necessary to conquer the universe,
can provide some strategic advantage. These are Altair, Jinx, and
Hell. Particularly Altair. Keep an eye on Altair ;-)
Additionally, Conquest (as of V6.5) contains 20 extra planet slots
that can be configured with the planet edit option in conqoper. By
default, they are all 'turned off' so unless a CO goes into
conqoper and 'enables' them, you won't see them. They are named
'Extra 1' through 'Extra 20' (though, obviously, the names can be
changed in the planet editor).
Use them together. Use them in peace.
## Suns
Suns are hot. Don't fly through them unless it absolutely,
positively, has to be there overnight. Hint: Robots don't seem to
worry about suns. This can be used against them.
## Cloaking
Cloaking can be very useful in battle. Unfortunately, it's
expensive in terms of fuel and engine heating. But at warp 0
however, it can be very nice. There are ways of locating (at least
approximately) cloaked ships. Really. Two people who know what
they're doing can get pretty damn good at triangulating cloaked
ships... right Dave? Robots can't detect cloaked ships at warp 0.
## Tractor beams
One use I've seen for them so far is to drag a helpless ship into
the sun, so it's death can be as humiliating as possible. There
*are* a few other interesting uses for them as well ;-)
If the server has the SlingShot flag enabled, even better ;-)
## Ship Strength
Different teams have different strengths. Romulans have the best
weapons, but the worst engines. Orions have the best engines and
the worst weapons. The feds/klings are in-between.
If the server has the Refit flag set, you can change your
ship type, regardless of which team you are on, provided you are
orbiting a team owned planet and have at least one kill.
The number of kills your ship has will determine how much more
efficient your weapons and engines are than the base efficiency you
started out with.
When your kills count reaches DOUBLE_E_KILLS (currently 40), your
efficiency will be double what you started out with. It's very
nice to be in a ship with alot of kills. The problem is, at least
in our games, we tend to attack whoever has the most kills - it's a
wise move for self preservation if the ship in question isn't on
your team ;-) Even if you have high kills, it's difficult to
survive against the continuous onslaught of a couple of determined
foes, unless you run and cloak alot.
## Refitting
If the server you are connecting to has enabled the Refit flag, you
will be able to refit your ship to a new ship type.
Basically, when you enter the game, and join a team, your ship is
the same type of ship (in terms of weapons and engine performance)
that is the default for your team - like all previous versions of
Conquest.
With Refit capability, once you have at least one kill, and are
orbiting a team owned planet, you can use the 'r', refit option to
select a different ship type. The current ship types, and their
equivalence with the traditional types assigned to a team are
listed below:
Default Ship Type Traditional ship type assigned to team.
----------------- -------------------------------------------------
Scout Orion - strong engines, weak weapons
Destroyer Federation/Klingon - good engines, good
weapons
Cruiser Romulan - weak engines, strong weapons
The type of a given ship can be determined by doing an (i)nfo on
it, or by using '/' Player List to look at the list of currently
active ships, and note the character ('S', 'D', 'C) following their
ship number.
The ability to refit is controlled by the server operator with the
'Refit' option in the conqoper options menu.
## Leaving the game
To exit Conquest, normally you must self-destruct, or be killed.
In a hurry, you can also exit Conquest quickly with the SIGQUIT
signal (usually the Control-\ key).
If the server operator has enabled the 'Vacant' flag in the
conqoper Options menu, then your ship will be left intact on the
server, so you can reconnect to it in the future.
If you exit this way, I'd be careful where you leave your ship.
If the 'Vacant' flag has not been enabled by the server operator,
then your ship will be immediately killed by a lightning bolt on
the server.
## Teams
When you first enter Conquest, it will randomly select a team for
you, before bringing you to the main menu. At this point, you can
switch teams with the (s)witch teams option if you wish (provided
the server has the 'SwitchTeams' flag enabled).
Remember, different teams have different strengths and weaknesses.
Federation and Klingon teams are pretty middle-of-the-road as far
as engine/weapons efficiency goes, while Orions have better
engines, and Romulans have stronger weapons. But you can always
Refit if the server allows it...
## Combat
Taking on a robot is quite a bit different from taking on a human
player. With a robot, in time you learn it's strategy, and
compensate for it. After you've done it a few hundred times,
robots aren't too much of a challenge, ...if you don't do anything
brave and stupid :-).
People on the other hand, tend to adapt to your strategies, forcing
you to come up with new ones.
There are various strategies that can be employed effectively
against your opponent. A common one we used to use, is the
'lame-duck maneuver'. If you take alot of damage, though you have
plenty of fuel and your weapons are cool, sometimes you can trick an
enemy into thinking your really hurting... by limping away at warp
2 with your shields down for example.
He'll do an info on you and see your damaged, or he might think
you're out of fuel, and therefore, an easy kill. Sometimes you can
surprise him ;-) It's simple, but often effective with a player
determined to 'finish you off' carelessly.
Cloaking can be used to excellent effect on an unsuspecting
opponent. I leave it up to you to explore the possibilities.
Getting your opponent to waste fuel and heat is also a good idea if
you can arrange it.
## Macro Keys
The reason I added macros to Conquest, was that at the time I was
starting to play, I used PC emulators like MS-KERMIT to play from
home.
Kermit made it pretty easy to redefine keys, and when you can have
one key that does the work of several keys (such as changing
allocation, firing a spread, and resetting allocation) it was too
useful an ability to ignore.
Secondly, since a player with macros can be quite formidable to a
player without, I thought that Conquest itself should support a
similar ability so that such a disadvantage wouldn't be an issue.
Macros are sequences of Conquest commands that are issued when a
Function Key (Fkey) is hit. On PC hardware, these are the F1-F12
keys. With certain emulators (like Unixware's at386 console) the
Shifted F1-12 keys (F13-F24) are available too.
Fkey macros are defined in your ~/.conquestrc file. Users can edit
their macro keys from within Conquest using the (O)ptions Menu.
One handy macro I like is
macro_f1=dP\r
Which makes my F1 key detonate enemy torps (d), and fire a
spread of 3 torps in the last direction I fired (P\r).
Here is a 'star burst' macro:
macro_f2=A70\rpe\rpd\rpc\rpx\rpz\rpa\rpq\rpw\rA30\r
This macro for the F2 key changes weapons alloc to maximum
efficiency (A70\r), and then fires a single torp at each of the
8 primary compass points (pe\r...), then resets to maximum
engine efficiency (A30\r). Aside from putting on a pretty
display, this can also be used to attempt to locate nearby
cloaked ships by watching for 'unexplained' detonations. :)
There are many other interesting and useful combinations that I
won't detail... After all, choosing the right macros and using them
well is an important part of the strategy you employ against your
opponents.
## Navigation
Using the direction keys ('qweadzxc') to the (k)ourse or weapons
commands can be faster than specifying the direction in degrees.
If a ship is approaching from 90 degrees, it's easier (and faster)
to type 'Pw\r' than 'P90\r' to fire the torps in the proper
direction. You're also less likely to screw up in the heat of
battle. See conquest.doc for a description of the direction keys,
and how they work.
You can set course, lock onto, and automatically enter orbit around
a planet by typing the planet name (or first 3 unique characters)
followed by [TAB] as input to the (k)ourse command. You will
automatically enter orbit when you get close enough to your
destination.
In addition, the (i)nfo command understands several special strings
like 'ne' for info on nearest enemy. Obviously you can't fire
weapons like that though - that would be too easy. See
conquest.doc for more info.
The Keypad keys/Arrow keys (if your terminal emulator and terminfo
entry supports them) can be used for 1-key steering, which can be
faster in battle. They (the keypad keys) can also be used as input
to the fire and course commands, as they are translated into the
appropriate 'direction' keys like so:
789 qwe
4 6 --> a d
123 zxc
## The Robots
# Conqstrat
The AI code used by the robot ships is the original strategy table
that was generated by the conqstrat.r program with the exception of
one new rule that lessens robot sun-deaths somewhat.
The conqstrat program can be used to modify the Robot strategy
tables if you don't like the supplied rules. You can have a maximum
of 32 rules. Conquest is supplied with a file called conqrule that
describes in a simplistic 'language' how a robot should behave under
certain conditions... You can edit this file, and use conqstrat to
generate a new conqdata.h file, or update the common block directly.
For example, the following command parses the conqrule file and
updates the common block with the newly generated strategy table:
conqstrat -U <conqrule
NOTE: If someone then (I)nits the (r)obots via conqoper, your
changes will be overwritten. In order for the changes to be
permanent, you will need to generate a conqdata.h file
(described below) and recompile and install Conquest.
The following command will generate a new conqdata.h file. You can
then recompile Conquest to get the new default strategy table.
After compiling and installing, remember to (I)nitialize the
(r)obots to update the common block copy of the strategy table with
the compiled in version.
conqstrat -o conqdata.h <conqrule
make all
make install
# Combat
To new users, the robots may seem tough. Gleefully harsh, even.
But they are predictable, and can be taken once you learn their
'strategy'. One thing to remember, NEVER attack one head-on (let
alone 2 or three...) unless you are experienced. They are much
faster on the trigger than you are, and you'll probably lose.
See the conqrule file supplied with the source distribution if you
want to see their basic strategies... That's cheating though ;-) It
was much more fun to figure it out via trial and error (death).
# Creating Robots
Robots are created one of two ways:
A. You attack a home-system planet of an opposing team, and there
are no team players around to defend it. Presto, one pissed
robot headed your way.
B. A Conquest Operator fires up conqoper and creates some with the
(r)obot menu option.
## The Doomsday Machine
The Doomsday machine (if activated) *can* be killed. It probably
requires that you've seen the (old) Star Trek episode called 'The
Doomsday Machine' though. Heh.
It can also be rather annoying after a time or two though. If you
get tired of it, you can set the 'NoDoomsday' flag in the conqoper
Options menu to true, which will prevent it from randomly starting
up and wasting the universe. I'd recommend this for public access
servers.
## Using conqoper
# The semaphore status line
The semaphore status line (line 2) in conqoper can give you useful
information on the locks used by Conquest to prevent simultaneous
writes to the common block. The following is an example line,
labeled by the letters 'A'-'I' above it.
A B C D E F G H I
- - - - - - - - -
MesgCnt = 268(25116:0) CmnCnt = 4693(25116:0) Last: Nov 28 13:10:38
KEY.
A. status for the messaging semaphore. preceded by '*' if
currently locked
B. number of semops on this semaphore
C. PID of last process to alter this semaphore
D. number of processes waiting for the semaphore to become
zero. ie. the number of processes waiting to acquire a
lock. This should be 0 99.9999% of the time.
E. status for the common block semaphore (everything except
messages).
F. number of semops on this semaphore
G. PID of last process to alter this semaphore
H. number of processes waiting for the semaphore to become
zero. ie. the number of processes waiting to acquire a
lock. This should be 0 99.9999% of the time.
I. time and date of last semop.
# Leaving a screen on conqoper
When watching another ship in conqoper or editing a player or
planet, use 'q' to quit.
In most other screens, you can use RETURN or SPACE to quit. I
know... some consistency is needed.
### The installed files
Here are the files installed by Conquest, and a brief synopsis of
what each does. All paths are relative to the installation
directory (/opt by default).
## bin/conquest
The Conquest curses client. type 'conquest -?' to see a list of
options.
The curses client can also be used to replay conquest recording
(.cqr) files using the '-P' option to conquest.
## bin/conquestgl
This is the OpenGL version of the conquest client. Type 'conquest -?'
to see a list of options.
The OpenGL client can also be used to replay conquest recording
(.cqr) files using the '-P' option to conquestgl.
## bin/conquestd
This is the conquest server. Type 'conquestd -?' to see a list of
options. See SERVER.TXT for information on the server and how to
set one up. If all you want to do is use the conquest client to
fight on remote servers, you do not need to run your own server.
In addition, if run with the '-m' flag, conquestd will notify the
metaserver at conquest.radscan.com of your game, so that others
that query the metaserver will see your server and might jump in.
Oh, and if your conquestd server is not accessible from the
Internet, please don't register it with the metaserver. ;-)
## bin/conqmetad
The Conquest metaserver. You should never need to run this unless
you have a group of conquest servers on your private network that
you do not want to advertise to the world. The definitive
metaserver for public Internet conquest games is running at
conquest.radscan.com.
## conquestsh
The is a Conquest 'shell' used if you are going to allow telnet
access to you server. It basically exec()'s conquest like so:
$ conquest -t -s localhost
The '-t' option tells conquest not to attempt to load/save the user
configuration (~/.conquestrc).
See SERVER.TXT for further information on how to setup a telnet
interface for a conquest server.
## bin/conqdriv
The universe driver process. A driver is kicked off whenever
someone enters Conquest and a driver isn't already running. A
normal user cannot start the driver manually. (You should never
have to.) A CO can manually start the driver for debugging
purposes by supplying the '-f' option.
## bin/conqoper
This is the Conquest Operator program that allows suitably
privileged individuals to control, monitor, and modify the behavior
of the game. The root user is always a CO and therefore can run
the conqoper program. If you want to allow other people to be
CO's, you will need to add them to the conquest group in
/etc/group.
My conquest entry in /etc/group looks like this:
conquest::102:jon,davep,johnc
jon, davep, and johnc all have CO status on my machine.
Conqoper currently supports the following options, (type conqoper
-? to see the various options):
usage: conqoper [-C] [-D] [-E] [-I <what>]
-C rebuild systemwide conquestrc file
-D disable the game
-E enable the game
-I <what> Initialize <what>, where <what> is:
e - everything
g - game
l - lockwords
m - messages
p - planets
r - robots
s - ships
u - universe
z - zero common block
The init and enable/disable options are of primary interest to
server operators.
Be careful who you give CO status to, a bad CO can cheat, or
otherwise disrupt a game. In addition, due to the fact that a CO
is a member of the conquest group, a bad CO will be able to trash
the common block, as well as other undesirable things.
A CO with permission to overwrite the system-wide conquestrc file
can call conqoper with the '-C' option to update the file with a
newer version. User-level ~/.conquestrc files are always updated
automatically when conquest is run. This is not done
automatically for the system wide conquestrc file due to potential
security problems.
## bin/conqai
This program allows a CO to take over robot control from the
Conquest driver for debugging purposes. Don't run it if you don't
know what it does. It will disable robot AI control by the driver.
After running conqai for some purpose, be sure to re-run it with
the '-r' option to return control of the robots to the Conquest
driver when you're done.
## var/conquest/conquest_common.img
The Conquest (ex-Fortran) Common Block. This file contains the
'state' of the universe for the server. It is mapped into the
address space (using mmap(2)) of the Conquest server executables.
Never manually edit this file. Use conqoper to change the
universe. ;-) This file *must* have perms of 660 with a group of
conquest. If read/write access is opened up to all, then anybody
with shell access to the server will be able to modify the common
block, and hence, the universe. Gives me the willies just thinking
about it.
## share/HISTORY
Latest Conquest news. View via (N)ews in the Conquest main menu.
Contains a chronological order of changes and modifications.
Definitely worth viewing if you want to see what's changed since
the previous releases.
## share/conquest.doc
Conquest instructions and commands. View via (H)elp lesson in the
Conquest main menu. You might also want to print this out. The
last page contains a command summary - a handy reference for new
players.
## var/conquest/conquest.log
Conquest's log file. All errors/warnings, and debug messages are
written here. For the source distribution, see the bottom of
defs.h for a list of debuggables.
## etc/conquestrc
System wide options. Read it, it should be self explanatory. Can
be edited directly or using the (O)ptions Menu from within
conqoper.
## lib/libconquest.so
Shared library used by Conquest executables.
## lib/libconqclnt.so
Shared library used by Conquest client(s).
## lib/libconqserv.so
Shared library used by Conquest server.
## libUi.so
Shared generic UI (User Interface) lib.
## libUiCU.so
UI related code for curses client.
## libUiGL.so
UI related code for GLUT/OpenGL client.
## img/*
Textures and texfonts used by the OpenGL client (conquestgl).
## ~/.conquestrc
User options and macro definitions. Can be edited directly or
using the (O)ptions Menu from within conquest.
### Getting more information
More information, a command list/description and some specifics of
the game can be found in conquest.doc.
See SERVER.TXT for information on running a server.
See HISTORY for the latest change/modification history
information for Conquest.
### Obtaining Conquest
The latest stable and development versions of Conquest will always
be available from:
http://radscan.com/conquest.html
### Copyright Information
C O N Q U E S T (VAX/VMS Ratfor)
Copyright (C)1983-1986 by Jef Poskanzer and Craig Leres
Permission to use, copy, modify, and distribute this software and
its documentation for any purpose and without fee is hereby
granted, provided that this copyright notice appear in all copies
and in all supporting documentation. Jef Poskanzer and Craig
Leres make no representations about the suitability of this
software for any purpose. It is provided "as is" without express
or implied warranty.
Unix/C specific porting and supporting code Copyright
(C)1994-2004 by Jon Trulson <jon@radscan.com> under the same
terms, conditions, and restrictions of the original copyright by
Jef Poskanzer and Craig Leres.
(1/28/99) Due to a little prodding from Sunsite, I've decided on
the ARTISTIC LICENSE (see the LICENSE file) for Conquest.
$Id: README,v 1.24 2004/12/28 01:35:26 jon Exp $
|