SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

=============================================

Battle Mech

A Quake Total Conversion by Wazat

---------------------------------------------


Getting Started

Note: If you have any previous versions of Battle Mech, please delete them before installing!

Install/extract Battle Mech into the location of your choice. For the sake of example, I will assume you chose C:\BattleMech\

To run Battle Mech, simply double-click on bmech.exe. You can then start a multiplayer game on the start map, and spawn bots by typing "impulse 100" (without the quotes). (see the frikbot section below for more info).

If you wish to have more than 4 players, you should start Battle Mech by clicking the start menu, giving the path to bmech.exe, and using the -listen parameter. For example: c:\BattleMech\bmech.exe -listen 8
The above line will start battle mech and allow up to 8 players (meaning you and 7 bots if no humans are joining).

All the other Quake commandline and console variables will work as well.


Custom Engines

Battle Mech is based off the Quake1 engine, and has been kept compadible with Quake (but not Quakeworld), and so many engines should run it. There are a lot of engines out there with excellent features, but they may also have problems since Battle Mech was not made specifically for them.

You can use other engines if you wish... However, any problems that arise in those engines aren't my problem. ;)

A common problem with other engines is having a very low turn rate (with the legs or head). If you use DarkPlaces (or any other engine that slows the turn speed of your mech to unbearable levels), you will want to include a command to keep the turn rate up. You might not be able to fix it completely (may still be way slower than regular turning), but it's better than nothing. For Darkplaces, just add this to anywhere in your commandline: +sys_ticrate 0.01

For example:
darkplaces -listen 8 +sys_ticrate 0.01

There's an interesting problem in some engines where the head turns around uncontrollably like a Chucky doll on caffeen. Darkplaces is one of these. I can't do anything about this, so just use a different engine. I've also noticed TomazQuake turns kind of slowly, but it isn't fast enough to be a problem.

Really, the best engine to use is the one I've kindly included, MHQuake. (Thanks Cheapalert for pointing out this very stable engine). I've also included TomazQuake (TQbmech), since I couldn't get my hands on CheapHack at the moment (you're welcome to use CheapHack, though). TQ is nice because it supports transparencies, which is used often in the mod. There's also a dos version that you can use if all else fails, though it's going to be lousy.

To run Battlemech on a 3dfx Voodoo2, simply rename "3dfxopengl32.dll" to "opengl32.dll" in the Battlemech folder, and you're good to go.


How to Play

In Battle Mech you need only run around, picking up weapons and destroying enemies for points. You can only carry one weapon at a time, but you can drop your weapon at any time to pick up a new one.


Controls

NOTE: Do not delete the autoexec.cfg, it binds your keys for you. You may open it with notepad and change the key bindings to whatever you want.

Default controls:

Up, down, left and right keys will move your mech accordingly (you can also go diagonally). Alternately you can also use W, S, A, and D.

Left mouse button: Fire weapon (can also use CTRL)

Right mouse button: Jump (can also use SHIFT)

Middle mouse button: Drop current weapon (can also use ENTER)


Aiming

Your mech's head functions independently of the body, and can point in any direction it pleases. In order to turn the head, move your mouse or mouseball left or right.

Your mech will automatically aim up and down for you. A targeting cursor will appear to show you what enemy you are targeting.

If autoaiming is turned on (it is by default), then players' mechs will also perform limited horizontal aiming for them. This can be turned off with the console variable "sv_aim 0" (1 will turn it back on). Please note that this setting affects all players and bots in the game (currently there isn't a way to make it personalized).


Powerups

There are four powerups you may encounter in your battles:

Overdrive
This powerup significantly increases your attack power for a limited time.

Shield Generator
During its duration, the Shield Generator makes its user completely invulnerable to all attacks.

Cloaking Device
This item shifts light around your mech, effectively making it invisible. Be careful, however, as you're not entirely undetectable.

Amplifier
The Amplifier synthesizes ammo, so that you will not need ammo to fire your weapon. The end result is infinite ammo until the energy runs out.


Frikbots

Frikbots are computer opponents you can fight. They're great to add to a multiplayer game, or to fight alone if you can't host or join a server at this time. To bring a bot into the game, use the impulses below.

***NOTE: You must use the -listen parameter in your command line (or start a multiplayer game) to spawn bots, just like you do to let other people join your server (for example, -listen 8 will allow yourself and 7 other bots or people, for a total of eight players).

100     Add a bot (can also type "joinbot")
102     Remove a bot (can also type "removebot")

***NOTE: Please do not type "addbot" if you are using CheapHack. The cheaphack engine will spawn Globots, which suck in about every way and cause various problems (frikbots are far more enjoyable opponents).


Game Modes

To activate Weapons Stay mode (where weapons don't dissapear when you pick them up, so others can pick it up too), set temp1 to 1. You can do this by typing "temp1 1" at the console and reloading the level. Weapons Stay will work with any game mode (even ctf, etc). Note that when you drop a weapon, it will be gone for good. So, make sure you have something else to pick up after.

Licence To Kill (one-hit-kill) mode can be activated by typing "gamecfg 1" without the quotes.

There are several game modes which you can play. The deathmatch mode is determined by the value of the "deathmatch" variable. Read docs/ctfreadme.txt for more info.

deathmatch game mode

1               Normal Deathmatch
2               Rambo Match
3               Play Normal CTF
4               Play Three-Team CTF
5               Play Rob The Nest
6               Play Protect The Nest
7               Play Offensive-Defensive CTF

Deathmatch


This is the default mode. You run around killing enemies with the various weapons you find. The goal is to get the most points possible. The map will change when the either the fraglimit or timelimit are met.

Rambo Match

The first person to get a kill becomes Rambo, who is the only one who can get points for kills. Rambo has special powers and carries a railgun. Whoever kills him then becomes the new Rambo. The Rambo player's health will slowly heal itself, and his weapon is a 1-hit kill.

Capture The Flag

Basic CTF. You try to infiltrate the enemy base, steal their flag, and then take it to your base to capture on your own flag.

Three-Team CTF

Red and Blue team exist as normal. There is a third, neutral team that tries to grab either team's flag and capture it on their own flag. Neutral Team's flag normally cannot be picked up (unless the level you are on allows for this). Players on the Neutral team can be identified by their pants colors - they should be neither red nor blue.

Rob The Nest


The goal of RTN is not to capture your enemy's flag, but rather to capture another flag (the "Egg") which spawns somewhere in the map (the "Nest"). You must find the Egg and capture it on your own flag, which, depending on the map you're on, could be in your base or the enemy base.

Protect The Nest


PTN is similar to Rob The Nest, but rather than capturing the Egg on your flag, you must capture the enemy flag on the Egg. The Egg cannot be picked up, only captured on, and both teams can capture on it. Guarding the Nest from enemy players carrying your flag is as important as guarding your own base. Some maps will have your flag in the enemy base, and the enemy flag in your base.

Infiltration (aka: Offensive-Defensive CTF)


In Offensive-Defensive mode, one team is Offensive Team (Red), the other is Defensive Team (Blue). Offensive Team has a small base consisting only of a flag and spawn points/ammo rooms. Defensive Team has a large, defendable base, which the Offensive must penetrate. Offensive Team must steal the flag, and capture it on their own flag. Defense Team has advantages such as team doors that can only be crossed by its members, many mod-specific traps (laser gates, pits, monsters, turrets, whatever is in the mod you put it into), sometimes a larger team than Offensive Team has, and the relative size of their base.

Defensive Team can neither steal or capture Offensive Team's flag. However, Offensive Team gets no points for kills, and so must rely on captures to gain points. When a member of Defensive Team gets a kill, that member gets two points, and everyone else on the team gets 1 point.

Depending on the map, you may want to have more members on Offensive Team than on Defensive Team. Other maps may require that Defensive Team be larger to have a fair, balanced game. It all depends on the size of the map, what the map is like, the skill of the players, and how many points Offensive Team gets for a capture.


Map Rotation

Rather than playing the same level over and over again, or having to change levels manually, you can set up an automatic map rotation and not worry about it. You can also tell the game to randomly select a level from your list each time, instead of taking them in order.

There are 2 ways to activate map rotation: 1. Open autoexec.cfg with notepad and re-enable (delete the // ) the line that says "exec maplist.cfg" 2. Run Battle Mech with the added command line variable "+exec maplist.cfg"

You can also create your own map list. For example, ctfmaps.cfg, and then change it to "exec ctfmaps.cfg".

Setting up the maplist


In order to change what maps will be played, you will need to open maplist.cfg with notepad.

Near the top, you'll see a line that says "samelevel". The number after that is very important. It determines whether you will be using random or in-order rotation.

If the number is positive, it will randomly select between list numbers 1-<x> (where x is the number listed). You should set this to the highest list number. So, if you have 5 items in your list, you should set it to 5.

If the number is negative, it will play each map in order. The number will determine where in the list the map rotation will start. After the first level you load up finishes, the map rotation will take over and use the next item in the list. WARNING: Make absolutely sure this number is not outside the range of your list. For example, do not set it to 10 if there are only 6 maps in the list!

Now you can start adding map items to the list. Each list item has the same format:

alias map<x> "changelevel <mapname>" (without the < and >) x is the list number (make sure there are no duplicates). mapname is the name of the map. You don't need to include the ".bsp".

Important: When you are done adding maps, make sure to find the line below the list that says: alias map<x> "samelevel -2; map1;"
You must set <x> to 1 greater than the last number in your list. So, if you have 6 items in your list, x should be 7. If you fail to do so, map rotation will fail to work for you. Do not change the other parts of that line, just the number!

Warning: Make sure you don't have any holes or skipped numbers in your list. Don't go from 2 to 4 and skip 3, or map rotation will probably not work correctly.

Here is an example maplist:

samelevel -1 // play in order
fraglimit 30
alias map1 "changelevel start"
alias map2 "changelevel dm1"
alias map3 "changelevel dm2"
alias map4 "changelevel dm3"
alias map5 "changelevel dm4"
alias map6 "changelevel dm5"
alias map7 "changelevel dm6"

alias map8 "samelevel -2; map1;"


Special maplist options

There are a number of special things you can do in the map list. Here are a few examples to get you started.

Autoloading the first map

To make the first map in the list load automatically (so you don't have to start a server or load it manually), add this line to the very bottom of the file: map dm3
You can start with any map you please.

Setting options for each map

You can set various options specific to each map by adding those options before the "changelevel" part, and then using a semicolon. For example, every time dm3 is loaded, the fraglimit is set to 10 kills, and the time limit is turned off (set to 0). alias map4 "fraglimit 10; timelimit 0; changelevel dm3"

However, keep in mind that these settings will be carried on to the next map if that map doesn't set its own values. If you have random maplist enabled, you have no idea what settings will be on some maps (this can be a good thing). In this example, dm2 will be played in Capture The Flag because it did not reset the deathmatch variable. alias map1 "deathmatch 1; changelevel dm1" alias map2 "deathmatch 2; changelevel ctf1" // change to Capture The Flag alias map3 "changelevel dm2"

Here is an example maplist, with options set for each map. samelevel 7 // random

alias map1      "deathmatch 0; fraglimit 30; timelimit 10; temp1 0; changelevel start"
alias map2      "deathmatch 0; fraglimit 10; timelimit  5; temp1 0; changelevel dm1"
alias map3      "deathmatch 0; fraglimit 15; timelimit 10; temp1 0; changelevel dm2"
alias map4      "deathmatch 0; fraglimit 30; timelimit 20; temp1 0; changelevel dm3"
alias map5      "deathmatch 0; fraglimit 20; timelimit 15; temp1 0; changelevel dm4"
alias map6      "deathmatch 0; fraglimit 30; timelimit 25; temp1 0; changelevel dm5"
alias map7      "deathmatch 0; fraglimit 25; timelimit 10; temp1 0; changelevel dm6"
alias map8      "deathmatch 2; fraglimit 60; timelimit 30; temp1 1; changelevel ctf1"
alias map9      "deathmatch 2; fraglimit 60; timelimit 30; temp1 1; changelevel ctf2"
alias map10     "deathmatch 2; fraglimit 60; timelimit 30; temp1 1; changelevel ctf3"
alias map11     "deathmatch 2; fraglimit 60; timelimit 30; temp1 1; changelevel ctf4"
alias map12     "deathmatch 2; fraglimit 60; timelimit 30; temp1 1; changelevel ctf5"

alias map13 "samelevel -2; map1;"
map1 // load first map automatically


How to make mods

To make a modification of Battle Mech (like you would a Quake mod), simply obtain the source code from the pak file with quark or any other pak file explorer, or download it from http://static.condemned.com/. Then put the source folder in a new folder in BattleMech, such as BattleMech/mymod (so the source will be in BattleMech/mymod/src). Make your changes to the source and compile (Frikqcc is the best choice, which is included in the source). You can also add models, sounds etc or replace existing ones. Once you have your mod, you can play it by running bmech with the -game parameter:

BMech -game mymod

All in all, it's just like modding for quake.


Contact

My e-mail is static_void@hotmail.com. I may also be found on the forums of Inside3d.com. Come and visit us.


Credits

Please see docs/credits.txt for info on what models, graphics, sounds, etc came from where. I got stuff from everywhere trying to replace ID's stuff so I could make the mod stand-alone.

I'd like to give special thanks to Cheapalert, for his tremendous help and support. This mod would not be where it is today without his extensive contributions.

I'd also like to thank all the people making maps for Battle Mech, including pushplay for the 3 maps he sent me some time ago, which have helped a great deal with the mod's image.

And thanks to all the people who beta tested Battle Mech, as well as all the people who gave me support even before the mod was released to them.


= Copyright and Distribution Permissions =
I actually ripped this section of readme from another mod - I don't remember which - and edited it for myself and put it in Jeht. Then I ripped it from Jeht and put it here. Technically the Copyright and Distribution Permissions don't apply to themselves... do they?

Well anyway, the basic legal stuff everyone loves to hate:

Authors MAY use these modifications as a basis for other publicly available work. In fact, you can make Battle Mech mods, the same way you make Quake mods. Please tell me about any modifications you make, I'd love to see them!

If you have used part of this mod (code, model or sound) in your own mod, please give credits to the authors who have made them - including myself. Thank you.

You may distribute this Quake modification in any electronic format as long as this description file remains intact and unmodified and is retained along with all of the files in the archive. You are not allowed to sell this mod for money without permission.

...and my own fully legal additions, my lawyer's almost sure this time.

You may delete this mod; however, I am not responsible for bad clusters or lost data that may result. It's frikbot that does that, I swear :P

You may not get mad at me for forgetting to credit you. I'm sorry. I ran into deadlines. Grieve over it at forums.inside3d.com. If I have forgotten to give credit where credit is due, please let me know - nicely - and I'll fix it.

If you possess CheapHack 1.5b private beta that was leaked in recent builds of BattleMech, DELETE IT NOW. Not doing so is a violation of the GPL and a Microsoft distributables policy. Plus, it also makes me want to turn those who possess the leak into powdered toast - seriously, complete with constant, daunting finger-waving.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.