Monday, 20 February 2012

Q3 Info: ioquake3

I want to take a quick look at the differences between ioquake3 and Quake III Arena, as in the additions and improvements that ioquake3 has made.
ioquake3 is made to remain completely compatible with Q3A. Some of (what I consider) the main features are:
  • Stereoscopic rendering
  • OGG support
  • Voip & Mumble support
  • PNG support
  • OpenAL
  • and extremely cross platform
When playing the game there are very few things that you will notice which are different. If you use the in-game VOIP you will see a small volume bar up the top of the screen when recording, but there are no menus to set up VOIP you have to do it all from the command. I do believe there is some sort of plan for more menus to allow easy set up.
There are only a couple of menu changes.
Graphics menu from Q3AGraphics menu from ioq3
Sound menu from Q3ASound menu from ioq3

As you can see there are a couple of extra options for setting screen resolutions and sound systems, I can imagine a VOIP menu being easily implemented.
To get these settings you have to make sure you are using the new ioquake3 .qvm's or .so's (or .dll's if in windows). You can either put a folder in the baseq3 folder called vm and put the 3 .qvm's in there and run the game, or if you prefer to use the .so's you have to put the 3 of them in the baseq3 and make sure you set vm_cgame, vm_game, and vm_ui all to 0, in the config file, and it is probably a good idea to set sv_pure to 0 as well. If you are using the .qvm's these are set to 2 (except for sv_pure it is 0 again, to turn off pure server).
One other major visual difference would be if you were using stereoscopic 3D. There are options for all different coloured glasses:
1. red cyan | 2. red blue | 3. red green | 4. green magenta | 5. cyan red | 6. blue red | 7. green red | 8. magenta green
I've listed them twice as they are their corresponding numbers to select them. The green/magenta and vice versa option is not available in earlier versions.
On the note of extra menus, I recall a menu mod (advance ui)  that laid things out much easier particularly when it came to setting up skirmish games and multi-player games, allowing to select an order of maps as well as specifying game settings such as gravity.
red cyan anaglyph

A full menu change up might not be a bad idea, but it depends how close you want to keep things to the original, a new menu wouldn't change game-play, it would just make set up-easier.
Mumble is a great feature, though I still haven't gotten the chance to play with it. I've used it on its own, but never with positional audio, which I think would be it's highlight.

ioquake3 is almost 7 years old, and you can see the full list of features on their website, and I'm sure you can find their complete list of bug fixes in their subversion directories thingy...

Saturday, 18 February 2012

Q3 Tutorial: Adding an Extra Skin

Our buddy "Doom" from the last tutorial has an extra unused skin. I think it's actually a texture for a Doom statue somewhere in the game, but we're going to make it into a new playable skin without writing over an old skin like in the last tutorial.
Let's take a look.
Doom Statue
As you can see, the first 5 characters are Doom characters., before there were only four. So now the first one is the Doom Statue skin, the second is our modified Default Doom, then there is Blue, then Phobos, then Red. The Phobos skin is kind of like what we're doing, making a character which is not Default or a Team model. But with all 3 of these guys now, that's Default, Phobos, and Statue, using any of them in a team game will always default to Red or Blue.

Ok so let's start: We need to get back to where the Doom model is packed.
Quake 3 Folder > baseq3 > PAK0.PK3 > models > players > doom
From in here we are going to grab a few files:
  • doom_f_statue.tga - the doom statue visor skin
  • doom_statue.tga - the doom statue skin
  • icon_default.tga - and icon we can use for doom statue
  • head_default.skin - the head mapping file
  • lower_default.skin - the lower mapping file
  • upper_default.skin - the upper mapping file
Now respectively for each file:
  • remains as is (you can change the file name if you like)
  • remains as is (you can change the file name if you like)
  • two things to happen to this, rename it to icon_statue.tga, and open it and de-saturate or modify it so it looks like a statue icon
  • rename it to head_statue.skin, open it and change the file paths to point to the statue skins
  • rename it to lower_statue.skin, open it and change the file paths to point to the statue skins
  • rename it to upper_statue.skin, open it and change the file paths to point to the statue skins
ow we need to put all those files in a folder called doom put that folder in a folder called players put that folder in a folder called models and then zip that all up into a package called doomstatue.zip
Rename the .zip extension to a .pk3, and place that file into either our mod folder that we made in the last tutorial, or place it straight into the baseq3 folder.
If you put it in the baseq3 folder, fire up the game and find the new skin.
If you put it in a mod folder, fire up the game, then run the mod, and then find the new skin.

Friday, 17 February 2012

Q3 Tutorial: Basic Content Replacement

In this guide I'm going to do an extremely basic mod which, when loaded, replaces something from the game. This can actually be done for anything, models, textures, skins, sounds, fonts, and whatever else.
Why would you want to do this? I can think of 4 reasons.
  1. Higher resolution content (for images and sounds (the original are quite low quality))
  2. Free content (remake everything so you don't have to buy Q3A)
  3. Change the overall look/mood
  4. Nude mod (same as number 3)
This is also one half of creating a total conversion mod.

So we are going to take "Doom Default" and change his colour a little.
from normal green doom
to inverted purple doom
Some things to note; not only did I change Doom's colours, I also change the icon. And also the icons for the Doom set have changed places, because they get reloaded they now end up at the start of the players list.

Ok so let's start:
In our Quake 3 folder (this could be called anything depending on where you installed it) we have a few files and folders. We should have one or two executables which you click on to run the game, and at least two folders (depending if you have Team Arena as well) these are called baseq3 (Quake 3 Arena files) and missionpack (Quake 3 Team Arena files).
We're going to make another folder, I called mine tutorial, but you can call yours whatever you want your mod to appear as.
Now let's go into the baseq3 folder, in here are lots of .pk3 files, these are just renamed zip files.
Inside PAK0.PK3 we need to go in through the folders models > players > doom. And from inside doom we are going to copy out the files doom.tga (the skin) and icon_default.tga (the icon).
Open them in your favourite image editor, I used Gimp, and change it to your liking, I tweaked the "hue" on mine. And then save it.
Now we need to put those two files in the same directory hierarchy as the originals. So make some folders within folders models > player > doom, and inside doom place the two files. Now back out up to the top folder models.
Now zip models into a zip file, you can call it whatever you like, but for easy remembering call it something like doomskin.
Then rename the .zip extension to .pk3.
Now place doomskin.pk3 into the folder we made earlier, I called mine tutorial, do you remember what you called yours?
Run the game!
Now in the menu screen of the game, go into Mods.
the mods menu
As you can see in mine, I have a lot of mods, but we can see Quake III Arena (this is the normal Q3A game), missionpack (this is Q3TA), Urban Terror (that is the Urban Terror total conversion mod), a few others and tutorial (which is what I called my mod.
When you load it, it will take you back to the menu, but you are actually now in your mod, and if you go check out the doom model, he will be however you coloured him.

Things to note:
  • You need a .pk3 in a folder for the folder to be recognised as a mod.
  • You can place an empty .pk3 folder in there and then just have normal folders, it will recognise the model when looking at them, but when you try to run a map it will not be able to load it.
  • If you're making a skin from scratch, you can use a bigger resolution, giving the final model a crisper higher quality look.
  • If you modify a Q3A skin from the original game you do not have the rights to distribute it. Though John Carmack is the nicest smartest of people, he probably wouldn't mind.

Wednesday, 15 February 2012

Q3 Modding: Conversion Mods

Ok I have a confession to make. Some of the Stand-Alone Mods in the last post can run as Total Conversion Mods, and some of these Total Conversion Mods run as Stand-Alone. But let's take a look anyway. First I am going to list some Conversion Mods, mods that are complete new games. Then I will list some Game-Play Mods, mods that add new aspects to the game, or sometimes change the game all up but still uses original models, weapons, and/or maps. I was going to do them as two separate posts, but I see no point. There are A LOT of mods, I'm not going to go through them all, but I'm going to take a look at a few that I have come across.

Ultimately, all these mods and more can be found on ModDB and/or Desura

Turtle Arena
Turtle Arena
This is a conversion mod but you will find the menus are still very similar to Q3A. This is basically Ninja Turtles and is still in early stages of development which results in a bit buggy game play, but it is still cool to check out. I haven't tried the 4 player split screen, but split screen was also meant to be a feature coming to the ioquake3 engine. This game actually runs as a stand alone.

Navy Seals: CO
Navy Seals: Covert Operations
This game I found a little difficult to get the hang of. It is a tactical style game where you play as a team trying to protect something or steel something. I'm not sure if there are other missions as well. There's lots of customisations you can do to the models, adding accessories and what not. This game runs as a mod.

Q3Rally
Q3Rally
A car racing mod for Q3A. I had a go at racing around a track and the car physics are quite impressive, it had a nice fluid feel. I think there is some kind of battle mode as well but I didn't chance across it. There are multiple websites with multiple versions for this mod, the one I played played as a mod, where as I have read that it is now a stand alone game.

Bid for Power
Bid for Power
I played a very early version of this much when the file size was much smaller, it is now 2 gigabytes. This is a Dragonball Z mod, I ran it as a mod but I think it has it's own stand alone version now. I've never been a fan of Dragonball Z, but this game is quite fun. You have energy which you use for your attacks, flying, and what not. There is an old extra add on called Bid for Speed which was made to compliment Big for Power, but I don't think it is recent any more and considering the game is so huge now I don't think it needs anything extra.


I'm going to list here a few more conversion mods which I haven't tried. Some of their official pages don't seem to work any more. A lot of them have broken links to planet quake which features a lot of quake mods and extras.

Gundam Universe -  spanning all of the Gundam anime series.
Rivalry of Legends - Transformers style.
True Combat - action packed realism.
The Dark Conjunction - a single player apocalyptic reality game.
Midget Wars - 3rd person team based multi-player.
Military Forces - what I would assume is a plane style version of Q3Rally.

Reaction Quake - this one looked really nice but I couldn't seem to join play, lots of maps
True Combat - a bit like urban terror but, lots of maps


Now, if you're even still reading, let's take a look at some game play mods. These are mods that change aspects of game play, enabling things like rapid fire or high jump, or more advance features altogether. Custom models and maps could be included because they're technically a mod, well technically an add on, but still, we're going to skip them altogether.

Game Play Modifications

DeFRaG
DeFRaG: Is a mod that adds (depending on what version you find) extra maps that help you in self training and practising tricks. It is a kind of free running, trick jumping, agility course. They've changed the menus up a bit and also the HUDs to allow for more info and options. There are lots of options to turn on and off including the grappling hook which was built into Q3A but turned off, it also allows you to choose which kind of grappling action you want.

Akimbo: is a little hard to track down. But it is a great example of adding an extra feature. The main extra feature being the ability to duel wield weapons, two the same or two different. Each hand was associated with each mouse button and I think it was fairly easy to switch between the weapons for both hands.

XCSV: is a very basic mod. It is a high resolution texture pack for Q3A. It replaces all textures for walls, doors, floors, ceilings, etc with a higher resolution version. You can download it here.


There are so many more modifications, replacements, expansions, conversions, etc, you can find for Q3A, the Quake series has always been a popular modding game. There are custom maps and models, along with whole new rendering expansions such as cel-shading. For more look on ModDB, Planet Quake, and the ioquake3 websites.

Tuesday, 14 February 2012

Q3 Modding: Stand-Alone Games

There are a few, what I consider, really good games that have been built on top of the Quake 3 engine (I use 'Quake 3 engine', 'Q3A engine', and 'id Tech 3 engine' interchangeably, they are all the same thing), some with similar game play to Quake and some which are completely different. I think the majority of these games started as total-conversion mods. This means they replaced everything and it ran like it's own game, the only catch was you would go into Q3A and into the mods and run it from there as a mod (this has been done for other games as-well, "battlefield" with total conversion star wars mods, and I think "Counter Strike" was originally a total conversion mod of "Half-Life").
Since the release of the source code under a GPL licence, these total conversions have been able to 'ship' the engine with the data, meaning you get a whole game. But as a result, a few of them don't work with the original Quake 3 engine (don't hold me to that, you'll have to try it yourself, or sometimes the website lets you know). I think this is also due to the fact that ioquake3 developed new features, such as "ogg" playback yet doesn't compile it by default, if you compile ioquake3 with the extra features you may have better success. If you try to run them as a mod you usually end up with Q3A aspects leaking into the game, such as the models and maps from Q3A, as-well as some of the voice overs, though some of the games just don't run al-together. You can also try it with the W:ET data in a Q3A mod, it almost runs fine but not quite.

Enough jibber jabber, let's see some games. All free to download and play on Linux, Windows, and Mac.


World of Padman
World of Padman
(taken from the WoP website)
Despite looking like a kids game this is plush violence. The latest version is 1.6. The last time I tried running it as a Q3A mod it didn't seem to run properly, but also, WoP does use ogg for music and has other features which I don't think are compiled by default with ioquake3, so compile it with all and it should run.
World of Padman is ultimate joy. A single player mode was planned but it only got so far before they decided to discontinue it, but the multi-player mode is great fun.
(taken from the WoP website)
It features your normal slayer modes, team death match, capture the lolly (flag), spray your colour and other game styles which I still haven't figured out how they work. You play as bug characters that push sexism to the extreme, male muscle bugs and hot lady bugs. Being that the characters are bugs, the maps are oversized rooms which give you the feel of being tiny. There are some great weapons and pick-ups which all look like toys but bring destruction to the extreme. The game play is very Quake 3 like, 10 weapons which you can pick up at the same time, health, armour, jump pads, although what I like about WoP over Q3A is the colour, Q3A is a very dark lot's of browns and reds in everything (giving it it's normal Quake feel), where as WoP uses your whole pastel colour palette just giving a fun vibe. The WoP servers used to be full of people battling it out, but now all the servers seem to be empty or filled with bots, sad days.


Urban Terror
Urban Terror 
Fun over realism... but still enough violence and blood sprays to satisfy you, And for anybody who hasn't been in the war I don't think there's anything to give away that it's not entirely accurate besides the fact that you can re-spawn. The latest version is 4.1.1 with a new planned game of Urban Terror HD which will replace everything along with the engine. This game does actually work as a Q3A mod, and I've started running as one as their compiled engine is compiled with the old bug that stopped 64bit versions running the game.
(taken from the UT website)
Urban Terror is fantastic. It is just a multi-player game, and from what I can remember of W:ET it is very similar. UT game-play is very different to quake, you select the weapons and accessories that you want to fight with and it is game on with game modes such as free-for-all, team death-match, capture the flag, and some bizarre other one that no one seems to play.
(taken from the UT website)
There are lots of maps and some are incredible, some are just a pain to play over and over. The models aren't the best looking of creatures but this is the Tech3 engine after all, on the other hand the reload animations and the weapon models are fantastic. They've also implemented some agility skills which always come in handy, sprint, jumping off walls, climbing over walls and shimmying up pipes. There are many people playing and many servers to choose from and many people to whoop your ass.


TREMULOUS
TREMULOUS
Human vs Alien. This is FPS meets RTS. There are two versions out, 1.1.0 and 1.3 Beta. This is a multi-player game and unfortunately there are no bots either, so if you want a feel for the game you can only run around the maps. The screen-shots for this game always failed to impress me, but looks can be deceiving and when you actually play it this game has a fantastic concept behind it. When playing as an alien race they have the ability to evolve, and as you evolve you get different skills. The most fun is when you're at one stage of the evolution and you can run up the walls and onto the roof, it's extremely disorientating but it has been done really well. Only ever exploring this game on my own I don't know much about game play, but I believe you can set turrets and various other objects and I would think when you have a few people playing it would get real fun.


Smokin' Guns The Game
Smokin' Guns
(taken from the SG website)
Country western warfare. Latest version 1.0. I haven't had a real go at this game. It has your various game modes, the usual slayer styles, and then some other modes such as things like steal the gold or rob the bank and what not (can't quite remember it's been a while). This game is pretty well done and has a nice feel with cowboy style maps and weapons. It has always felt a little empty and difficult to me, the models are a little blocky and some of the maps are a little plain. Although I have only ever played this by myself, it is not a single player game, I can assure you once set up with multiple people it would be a blast, because it does have a fantastic cowboy western vibe.


Next I will be looking at some other mods.

Monday, 13 February 2012

Q3 Modding: The Q3A Engine

Quake 3 Gold
While this first post is about Quake 3 Arena, this blog isn't dedicated to it. However, I am planning this as a first but not the last, and what I hope this will result in is an eventual tutorial to modding visual aspects of Q3A (textures, models, skins, sounds, vfx) because there are tutorials out there for modding the engine already yet there is nothing for building models in particular, and Q3A seems to be the most difficult to do it for out of the Quakes before it. So I hopefully will have a basic tutorial on how to do this using nothing but open source software.

Intro:
One of my favourite software developers is "id Software". I consider John D. Carmack to be a genius in software development and he has basically revolutionised gaming on multiple occasions. Originally back when id was being published under "Apogee" (another favourite of mine, now known as "3D Realms") Carmack, being the genius he is, discovered a trick for smooth side scrolling, which later resulted in the "Commander Keen" games.
What's all this got to do with nothing? I don't know. But! id Software would later release the game series such as Quake and Doom, which would and did revolutionise and raise the standards of gaming, taking us from 2D side scrollers and pixel art to 3D first person shooters and meshed graphics.

id Tech engine:
"id Tech" is basically a family of game engines. Excluding it's predecessors it goes:
  • Doom Engine
  • Quake Engine - also used for Half-Life
  • id Tech 2 - Quake 2
  • id Tech 3 - Q3A & TA, Return to Castle Wolfenstein, Wolfenstein: Enemy Territory
  • id Tech 4 - Doom 3, Quake 4, Wolfenstein
  • id Tech 5 - Doom 4
When Carmack finishes with an engine he usually releases it under a GPL licence, and this has happened from the Doom Engine right through to the Tech 4 Engine. As a result, the engines are usually ported to every operating system and device you can think of. This also means you are able to use that engine without paying royalties, but you must release your modified source code with your game. This doesn't make everything free though, companies who have bought the engine prior to it becoming GPL do not have to release their source, and it also doesn't make the game free to download, only the engine, none of the graphics.

An Open Source Engine:
An open source engine results in:
  • Easily hacking the game (rapid fire rockets, infinite ammo, etc)
  • The game being ported (linux, bsd, android, html5, etc)
  • People creating their own games (next Q3 post will be about this)
  • People extending and improving the engine (that's what we're going to talk about)

id Tech 3 - the Quake 3 Engine:
There are actually 2 versions of this due to id releasing the code to two different games. These are:
  • Quake 3 Arena & Team Arena: version 1.32. This is the source code to how it plays in Q3A. So basically, if you were to replace all content it would still play exactly like Q3A. It was derived from Q2 yet a large portion was rewritten. I am not going to bother to link to it because it is always hard to find and for other reasons yet to come.
  • Wikipedia
  • Wolfenstein: Enemy Territory: This is a heavily modified version of the Q3A engine and game-play. And if you play both games you will notice the extreme difference. The source code to this was released a long time after Q3 and as a result I don't think much has been done with it. W:ET was eventually released as a free game, so you are able to download the game and play, however it is only a multi-player game, so if you have no friends...
Every game built on the id Tech 3 engine would've heavily modified it to suit what they were after. So if you try to run all the contents of W:ET under the Q3A engine, it does kind of work, but not properly. Some of the games might work depending on what they modified and how, but for games that don't they can be reverse engineered which was done for Star Trek: Voyager Elite Force. Somebody basically found what was modified possibly through studying variable changes while playing, and re-entered those back into the source. That doesn't leave you with the original source, but it leaves you with a compatible version.

Where does this leave us?
This leaves us knowing that there is free open-source source-code for these games. Which means that we can make our own game without having to build an engine OR it means we can add more functionality and/or improvements to Quake 3. Which to the second statement we are not going to do, because it's already been done.

The "ioquake3" project has done just that (ioquake3.org). There is a full list of improvements on their website. ioquake3 has already had a few quite good games built off of it.
There are two options when building a game using ioquake3 and that is:
  1. Take the latest development or stable source code and build your game from it, modifying it, which will mean you will be responsible for maintaining it.
  2. Build a mod on top of it, which means any update to ioquake3 will then be able to be applied to your game.

The last bit:
That's about all for this post, but as I mentioned earlier more id engines have been released as open-source, and people have improved on top of them, so I will just list a couple here for the latest ones.
Next I will be looking at some Stand Alone games and some Mod Games.