An area to document the Glitch Unreal Engine Project.
Note: If you are not sure about Glitch and would like some testing keys for yourself and a friend, PM me (the_hack) via the discord linked above.
Glitch Arena (aka Glitch and previously Glitch AFPS) is a minimal arena first person shooter, taking cues from Quake and Unreal Tournament but reducing the gameplay variables to the essential.
This wiki documents how each feature works, to aid transparency and collaboration especially during early access.
Glitch Arena’s movement is setup to be easy to learn, fun, and still offering a high skill ceiling to climb to.
The basics are glitching, the flick and dodge.
Glitching is similar to air strafing in Quake combined with autojump, you can zoom around the map in curves. Flicking is similar to circle jumping and allows you to carry momewntum into a direction change, when you press jump (not autojumping). The dodge is activated by a combination of direction key/s and the dodge button, and will propell you shortly and sharpy in any lateral direction. You can’t chain dodge into momentum, you are prevented from for a split second after a dodge. It is included to be make combat more dynamic.
Dig into the subsections under Movement for more on each.
Glitching is this game’s take on strafe jumping, where you can add force to your movement by moving and using your mouse and keyboard in a certain way. Glitching is easier to achieve and more basic than the Quake engine’s strafe jumping.
In Glitch, if you lean into a curve, you’ll hear an engine like synth sound which represents how much extra energy you are building. The energy comes from the tension between where you want to go (movement input) and where your character is going (velocity), both on the lateral axis. These become different when turning but quickly match up.
The basic movement speed is around 1000, which can bump up to 1500+ with a good flick jump. That will diminish after a few jumps so to keep speed you will want to use glitching, which can get you up to a max of 2000.
It’s intended to increase the cap however the movement system needs some tweaking to accommodate this.
The flick jump is Glitch’s answer to quake’s circle jump, a way to get a bit of speed up from a standstill. This flick is not executed with any separate keys or a double tap. Rather it takes into consideration your average mouse speed on the lateral axis just before a pressing jump (not autojump!), as well as the direction of aim at the time of jump. It adds an impulse corresponding to the mouse speed, to the direction of aim, and how fast you were going on average just before jumping at the time of jump.
This video demonstrates the flick and goes into some detail.
It was not originally planned to put dodge in Glitch as it was thought that it would be too hard to make work with the quake style momentum in movement.
However a combat oriented dodge has been included, that you cannot chain into further actions, as you are not able to jump immediately after landing from a dodge. If you want to chain into further movement, you will need to perform a flick, and glitching.
Press your ‘ability’ key (will change) when you are moving, and you will get a little bounce, much shorter than a jump, and an immediate sideways impulse. you need to be pressing a movement key. For a larger dodge, with more height, add in a shotty boost (downards shotty fire)
There is no wall dodge – dodging is strictly a combat mechanic to increase the fightiness of the game.
Step Jump (“Double Jump”)
If you jump on a slope, step, or otherwise within a shortened time since your last jump, you will get a large vertical boost. The window for a step jump is quite long, you can do them on almost any ramp as well as steps.
Combine the step jump with a downwards shotty to get an even larger vertical boost.
As shown below, you can also combine the step jump with the flick
Design Considerations for movement
The momentum preserved in Quake’s movement system can be viscerally enjoyable. I spent months trying to implement strafe jumping into UT, but it was always too easy to get a gameplay/map breaking amount of speed by starting your run with a dodge. UTs movement system just works better as a more linear, start-stop system, extensible as it is by all kinds of walljumpery.
Conversely, being used to UT, I was frustrated by the lack of immediate speed in quake, especially in combat situations. While this in itself is not bad, just different in that you have to plan ahead and position yourself better, I wondered what could be changed, given that a dodge does not particularly work with strafe jumping and autojump.
Glitch’s flick can’t be used as effectively as a dodge. A dodge can be performed sideways so that you are still facing your opponent while performing a fast evasive action. To achieve the same action in glitch, you have to direct your aim to the direction you want to dodge in, and then back again after, in a flick like motion. It is also not linear like a UT dodge that has a set speed, and so demands more precision.
In time a UT style dodge was added to Glitch, however chaining it into future movements is prevented by disallowing jump immediately after dodging. This relegates it to a combat only movement as it as not as effective for map navigation as ‘glitching.’
In this way the movement is positioned somewhere between UT and Quake, with less emphasis on close combat evasive movement than UT, but more dynamic and energised close counters than Quake.
In Glitch Arena you start with “shotty,” our take on the shotgun and flak. There are three additional weapons around the levels to collect and use.
You have all the weapons during warmup (before the host starts).
In glitch you can switch weapons at any time, but when you can refire is governed by your last shot. Each weapon has a refire time, for example rails’ is 1.4s. This means you can switch off rails but will not be able to shoot the next weapon until the full refire time has expired.
The first-person weapon recoil matches it’s refire time. When the model comes back to it’s resting position, it’s ready to be fired.
Switching weapons will add a small refire delay if you are ready to refire, but won’t add to an existing delay.
When you switch weapons, your model will disappear until the refire/switch time has elapsed and you are ready to shoot again.
LG, otherwise known as Liam Garret’s gun, is Glitch Arena’s constant DPS hitscan weapon, a staple of AFPS and sacred member of the holy trinity. To use to full effect requires the unique ability to track a moving target.
The LG’s damage output gets stronger over time, which you can hear and see with the shaking model. At it’s peak, the damage is nearly double. But you need to keep firing, as soon as you release, it resets. This is only something to do if you have enough ammo.
The LG’s damage output decreases after a certain range. It can only be used at max in close and mid range, or at roughly less than a third of an average map’s width. A static noise when you hit with LG decreases steadily with range to let you know if you’re in range.
The LG’s damage is (currently as of June 2019) reported a little differently on the HUD. The damage is applied at a consistent rate depending on your framerate. It is approximately 100dps before ramping up. At full ramp up, it is around 170dps.
Rails is your basic medium-high damage, slow rate of fire, hitscan weapon.
70 damage with each hit. There is no headshot in Glitch Arena.
Your refire time after shooting with rails is 1.4 seconds.
The rocket launcher is the timeless high damage, slower firing and moving projectile weapon, seen in probably every arena shooter through the ages.
Glitch Arena’s rockets are on the slower side, and do 90 damage for a direct hit, or close to a direct hit in the case of splash damage.
As seen above, the rocket explosion radius is about three player widths.
The rocket explosion gives you a small push away from the direction of the rocket. This is accompanied by a vertical impulse relative to the damage taken, making rockets fairly bouncy.
After experimenting with client-side rockets, it was decided to leave the rocket players see as the server-replicated rocket at least while players connect to a listen server host. This means there maybe some delay after shooting the rocket, but what you see will always be what you get.
After shooting a rocket/s and switching to rails you will see two circles around your rocket/s. The outer circle is a preview of the combo radius. The inner circle is the target you must hit with rails to detonate the rocket into a combo.
Combos are high damage (up to 175 currently, very subject to change) and also cost 20 ammo in addition to the 5 ammo from the rocket and 5 ammo from rails (total 30). The minimum damage if your combo just touches a player is 50. They can be very rewarding if accurate, or a waste of ammo and big giveaway of position if not.
Combos, and the lack of them in the more fluid AFPS games, are another reason Glitch Arena had to be made. They are new in quake style games, and quake players who expect Glitch to inherit the gameplay from quake directly may be surprised or even SHOCKED at this new element.
Combos are inspired by the UT shock rifle, which includes both the target projectile and hitscan beam on the same weapon (primary and secondary fire). The combos in Glitch Arena differ in some key ways
- a larger target (easier to hit)
- a faster moving projectile (harder to position)
- a much smaller damage radius (requires precision)
- lower max damage
- higher minimum damage
- higher ammo cost
- negative radial impulse (sucking nearby players towards it).
Combos reward game sense. The high damage is countered by a high ammo cost, and is otherwise completely justified by the need to know exactly where a player is, is heading, and when they will be there, when you need to shoot a rocket in order to meet them there, being able to hit target at the right time.
For UT players there will be some advantage, countered by other advantages, such as ground based avoidance skills (combat without side-dodge) that quake players might have.
The shotty as a starting weapon is mean to keep people off newly spawned players and give them a chance to get a foothold in the game.
Best at point blank, shotty deals a total of 90 damage. The randomness of the pellets is weighted slightly towards the center, but is still pretty random.
The spread is quite large, so at near-mid mid range it’s use is severely degraded, although it could be used for some light spam for area denial.
Depending on how many shotty pellets hit, the hit player will get knocked back.
On each bounce, each pellet loses damage potential. After three bounces the pellets will do no damage and the will disappear on the fourth bounce. The colour of the pellets changes with each bounce to indicate their damage potential.
The shotgun also has a kickback for the user, which can hinder the forward speed, but increase their backwards speed and also be used for movement tricks, especially when combines with double/step jumping. You can also get much extra height of a bounce pad combining
you can continue using shorty when you are out of ammo.
- A feed of important events will run on the top left, showing only a few recent feed items. Hold ` to display the complete list (as long as the screen allows). The feed shows
- Chat messages
- Team swapping
- You can hold tab to display player info including teams and player scores.
The HUD in Glitch contains relevant info to any AFPS game, with a few small differences.
A feed appears in top left, overlayed on the below. It records important gameplay happenings and chat messages. Access the history by holding ` .
- Time – only displays during gameplay.
- Stash – what weapons you have picked up.
- Self – your score, or your team’s score
- Other – your opponent/s score.
- FPS- your framerate, rounded down to a whole figure.
- Lead – how many points you or your team is ahead, or behind, your opponent/s.
- F- D – only relevant in DM and team games, this is your frags minus deaths. More below.
- Speed- your movement speed, from 0 – 2000.
- Glitch – how much you are building super glitch power with your movements.
- HP – health points. Starting at 120, capped at 200. You die at 0.
- Ammo – starting at 50. Capped at 200.
- Armor- capped at 200.
- Shots – how many shots remaining with your current weapon and ammo.
Spectating in Glitch
You can switch between spectating and playing with F8.
When you join a game from the menu, you will always be spawned as a new player if there are spots available. If you attempt to join a game that is full, you will be spawned as a spectator and not able to join until there is a spot available.
When in spec, you can use your movement keys to get around, your jump key to raise your view, and down key to lower it.
By pressing your zoom key you will switch to behindview. Once in behindview you can select which player to follow using the number keys, usually 1-6. Press zoom again to enter free-fly spectating mode.
In free-fly, you will be able to move through walls. When inside a wall you will be able to see through it, so it’s a good way to get a quick overview.
Spectators can chat with players so it is good manners to keep chat to a minimum in spec. If you would like to discuss the game being played, please do so using a discord call or other means.
When you are in warmup, you can save your location and velocity for that map by holding shift (which is the default, but you can rebind) and a number key. Then, when pressing alt (can also rebind), you will be able to see all your location saves around the map as numbers. Pressing that number while holding alt will send you to that location, matching the velocity when saved.
The resolution settings are a work in progress. You can make them work but sometimes they are unintuitive. It’s recommended, especially for players on high HZ monitors (120+), to run the game in borderless windowed. You can get to borderless from windowed easily by pressing ALT + Enter as you would in other games.
Glitch is not very demanding out of the box, and is setup out of the box to work on as much hardware as possible. The only graphics tweaks are the “screen %” slider and “potato” mode. Potato mode changes the way the game looks but it is significantly lighter. It includes every possible optimization that does not damage game-play or offer an unfair advantage.
All gpus from the last few years should be able to support framerates of 144. All gpus from the last decade should support 144fps with potato mode. If you can’t hit your your monitor refresh with stable FPS, try potato mode or reduce your screen % in settings. If you are still not satisfied, you are either limited by your CPU (it might not show 100% but may still be limiting), or your gpu.
It is especially important to achieve stable FPS if you are the host player of a game, as instability will introduce lag and jitter for connecting clients. Even if you use G-sync or v-sync, you will want to keep a stable FPS for clients’ sake. Choose a FPS cap in settings that your hardware can maintain consistently.
Your framerate is displayed in your hud near the top right (rounded down). If your frames are consistent at your desired FPS (as shown in the top right of HUD), but it still feels choppy you may have stuttering: a mismatch between the timing of frames from your gpu and display.
Some computers may give you some stutter. You can experiment with these options to reduce or eliminate it. Try them in the order suggested.
- Run the game in dx12 mode if you have a Windows 10 machine and a supporting gpu. You do this by right clicking the game in the Steam library, then Properties, then Command line options. enter “-dx12” as the option.
- Use potato mode. It may just be smoother.
- Use vsync. It may not help, and will introduce a tiny bit of input lag. Avoid on 60hz.
- Run at higher FPS, eg if your monitor runs at 60hz, try 120fps. Or, If your monitor is 120hz, try 240fps. Just remember this affects networking more than in other games (it is listen server based) so if things get laggy, try changing it back.
Secret keyboard shortcuts
These were put in the game for debugging purposes, but might come in handy.
- CTRL ALT END – remove all widgets, restore game focus and HUD (in the case of a modal window getting stuck over game, or losing game focus)
- SHIFT PGUP / SHIFT PGDOWN – altering gamespeed in 25% increments. Only host can do.
- SHIFT DEL – hide/unhide hud including crosshair