Testing and How to play

Thanks for taking the time to check the game out.

The biggest thing to test is the feel of the game. Things like the melee system – if it feels responsive and like your hits are lining up with what you’re seeing on the screen.

Then the server performance – How many people can a server support and does it fall apart at any point in time.

A couple side notes before I get into the technical stuff:

Most of the hotkeys should be familiar to Savage players with a few exceptions

f1 brings up the scoredboard – this is a holdover from unreal
tilde or tab will bring up the console

console commands that are helpful
addgold – will give you money
testingsavloadout – will research all of the units, items, and weapons for you and everyone on your team. If you are in the loadout you’ll need to spawn and re-enter the stronghold to see the new tech.

 

k, first thing is to grab the installer –

It’s a google drive link to a udk installer.

That will install to something like udk\ravage\
The exe for the game is inside of udk\ravage\win32\UDK.exe

Let me know if you want me to host a server.  I’m on the east coast of the US and it will be on my old desktop.  Depending on where you are the ping might not be great.  Just give me a rough date and time that works for you.

To use the server browser you’ll need a copy of steam installed and running in the background on your computer.  Then inside of you installation directory click and run udk\ravage\win32\UDK.exe

In the game select the server browser button.  If there is a server currently up and running and you have steam running in the background – the ghetto browser list should look like this

tut1

Select the server in the list then click on “Join Selected Server” give it a moment to load and you should be in game.

To set up a LAN match:

Find the exe inside of udk\ravage\win32\UDK.exe

Right click – create shortcut

Right click – the newly created shortcut and select properties

In the Target: box after UDK.exe put a space and then “server innsmouth_01” without the quotations.

Mine looks like this (depending on your installation drive it might be different)

C:\UDK\Ravage\Binaries\Win32\UDK.exe server innsmouth_01

Double clicking that shortcut will start a server on your machine.  It should bring up a command window

tut5

Open up a version of the game by doubleclicking on udk\ravage\win32\UDK.exe

Now either open up the server browser and type in the IP or bring down the console and type “open” space then the IP (without the “” around open)

tut6tut8

When you are finished – closing the server is as simple as closing the command window.

To get the IP of your server:

Open a command prompt window

tut2

Type/run ipconfig

tut3

It will be the IPv4 Address here

tut4

 

To host a steam server:

You will need to do some port forwarding.  If you aren’t familiar with this or how to do it there are tutorials online.  Just a warning though that this could be potentially dangerous to your computer in some really technical way.

The ports you need to open are:

unreal 3:
6500
7777
7778
7787
13000
27900

steam:
1725
27015
27016

OPEN the steam client and have that running in the background

Find the exe inside of udk\ravage\win32\UDK.exe

Right click – create shortcut

Right click – the newly created shortcut and select properties

In the Target: box after UDK.exe put a space and then “server innsmouth_01” without the quotations.

Mine looks like this (depending on your installation drive it might be different)

C:\UDK\Ravage\Binaries\Win32\UDK.exe server innsmouth_01

Make sure you have steam open and running in the background

Double clicking that shortcut will start a server on your machine.  It should bring up a command window

tut5

Open up a version of the game by doubleclicking on udk\ravage\win32\UDK.exe

In the game select the server browser button.  If there is a server currently up and running and you have steam running in the background – the ghetto browser list should look like this

tut1

Select the server in the list then click on “Join Selected Server” give it a moment to load and you should be in game.

When you are finished – closing the server is as simple as closing the command window.

 

 

I hope that’s everything.

The final step would be to let me know how things went and what you thought of the game so far.  Then I’ll take that feedback and use it to make the game better.  And if you know anyone else that wants to help test and shape the game get them involved too.  Thanks again.

 

Commanding – Building Placement

screenshot6bProgress update for the engineer’s model and textures.

One of the design decisions I was never satisfied by in the original Savage was the commanding mode.  The different ui, controls, and playstyle makes sense for a normal rts game but always felt disconnected from the rest of Savage’s gameplay.

So I changed that in my game and gave the commander its own unit.  This of course came with a few issues to solve like building placement, something that was much more suited to the old rts view, needed to be handled from a 3rd person camera angle.

What I’ve done is given the commander a building placement preview mesh which is placed where the commander’s mouse cursor is.  The mesh will turn red when the placement point is invalid either because the distance is too far from the commander or it would be colliding with something else that already exists within the world.

placement1

When the building’s placement is valid it will change to a green mesh –

placement2

Then when the building is built in the world it will change to the full model with texture – which is represented here by the blue placeholder mesh –

placement3

Melee System

screenshot5b

Getting some finished models and shaders into the game.  Still a few tweaks to make to the textures and then onto the rigging and animations.

Writing a melee system

The melee system was one of the first things I coded when I started working on this project and since that time I’ve rewritten it a number of times.  It’s something I want to be lightweight enough that 64 people can all be spamming melee attacks on the server, but still feel responsive and be relatively accurate to what you see on the screen.

While a character is idle nothing is happening.  Once the character begins a melee animation there are a few frames during the wind up when the weapon is being pulled back that nothing is happening, then the next set of frames during the swing the weapon is dealing damage.  Finally there’s a few frames of follow through after the swing before the character returns to idle or begins a second animation and melee swing.

melee1
During the damage dealing frames the weapon runs a trace between the handle of the weapon and the tip.  Anything that comes into contact with the trace between those points is added into a list of possible things to damage.  Then if the thing that has been hit is another player or building, on the opposing team, and hasn’t been damaged during this specific swing, damage is dealt and the hit fx are played on screen.

The damage dealing frames are played on both the client and the server but the server has authority and decides whether the hit was good.  The server also runs at a separate (and usually lower) framerate than your local client.  This is good and bad.  It’s good in that if you want to spin your behemoth around a few times as you land your melee attack it will only register a few of those frames.  So instead of absolutely everything around you taking damage it will be unreliable as to what it hits since only a few of those frames will play on the server and deal damage.  The bad side of this system is there is the potential for a frame that appears to make contact on your client would not be processed on the server and not deal any damage.

This is still something that I’m tweaking over time and trying to get the right feel for in game.  I’m debating adding some screen shake to hits and I really want to get some proper sounds and fx rather than the current placeholders.