In this update7
Full notes
Full Midnight Guns update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Maps
- Gameplay
- UI and audio
- Store
- Workshop
- Balance
Midnight Guns changes
Revamped Strato Layout
As we move towards a finalized layout for Strato, we decided to make some changes to add some connectivity to the map. New windows have been carved in banana, and a rooftop in upper mid. You'll have to find some clever ways to get to mid-roof from the outside spawn, get boostin!
view of mid-roof from top lifts
view of banana and catwalk, with the new broken railings to promote jumping through windows
view of mid-roof and banana windows from outside
New Assault Rifle
AR with action mag and suppressor
Replacing our 3 (three!) year old M4 model is a new M16A1 inspired AR. We wanted to give it more of a prototype look to nod towards its inaccurate bullet-hose gameplay style. This is the first official model by our new modeler Grimm, who has offered to do some modeling work for the team.
New Rat
no! poor Stuart :(
Everybody say goodbye to Twinkie Rat™, and say hello to Stuart! He has some fun additional features. Be warned, he's pretty slippery so hold on to your weapons if someone happens to throw him at you!
New Bandaging
jazz hands!
There is now first and third person bandaging animations, along with a sound. Beware, this means enemies can now see and hear (at very close range) when you are bandaging. This is a large change behind the scenes in how we handle bandaging, which paves the way for our upcoming consumable slot. Consumables will be found in the world, and allow healing and other special effects.
In Other News
The Team Expands!
Over the last month, our small team got a little less-small. As alluded to in the AR section, we gained a part-time modeler in Grimm. Additionally, Classy has joined our team as a volunteer programmer helping Reki clean up some of the particularly egregious crusty old code which has remained from the earliest prototype stages of the game.
Magnum Changes
Magnum got some range buffs, with falloff having a more graceful curve. It also now has 5 bullets per clip-a-cylinder-zine instead of 4. Grimm has been working a wonderful new revolver-style model for our Magnum based on the menu art, which will act as the new default skin, but it didn't quite make it in for this update.
Midnight Revolution Changes
Midnight Revolution got some fancy new grass, which is our first testing into tessellation shaders. This may misbehave on pre-OpenGL 4.2 graphics cards, so feedback and bug reports would be greatly appreciated especially with older hardware. Additionally the map got a facelift with some new textures and an addition of a clock on what the community has started to call *Clock* Tower.
Sniper Changes
After what some would perhaps call a "nerfing into the ground" the Sniper is back. Despite still enjoying viability on most maps, we felt the aim-punch was a bit too punishing and felt cheap when getting hit with only a couple bullets. This patch drastically reduces aim-punch, tho it is still present.
Wallkick Changes
originally omitted, added June 10th Wallkicks have been changed to be more forgiving on vertical view angles, while also not allowing downward wallkicks. Additionally the vertical portion of the kick boost has been lowered when falling at speed, to discourage last second saves from extreme falls. This will be an ongoing process and wallkicking will continue to be tweaked over future updates.
Map Entities
Classy has been hard at work refactoring the old entities to use OOP, and generally cleaning up QuakeC jank. In conjunction with this we've added a new entity "func_wall" which can be toggled on/off by targeting it, an entity which as become ubiquitous in Quake mods. Additionally a whole host of Work In Progress "logic_*" entities have been added, which can act as a low-fi virtual machine for you to do more advanced entity scripting with.
Map Scripting
Technically added last update, maps are now allowed to load their own QuakeC .dat files. Much like Gamemode scripting this allows maps to add their own entities and behavior to the game without requiring a separate mod or constant maintenance to keep it up to date with the main game.
As always if you need help with modding/mapping, feel free to join our Discord and drop a message in the #mapping-modding channel.
Full Changelog
### 🚀 Features - *(wallkick)* Added viewangle sweeping to make kicks more consistent on slopes - *(wallkick)* Reduced vertical boost when z velocity is negative - *(wallkick)* Added minimum release delay to prevent scripting - *(wallkick)* Clamp downward pitch, to prevent kicking floor trims - *(wallkick)* Increase the minimum delay timer a bit - *(strato)* Updated layout - *(strato)* Added new truck model and regenerated cubemaps - *(strato)* Layout update pt.2 - *(strato)* Replaced van with new model - *(strato)* Adjusted outside spawn door's entity fields - *(strato)* Adjusted storage room door geometry, yellow roof geometry, outside large door geometry - *(upstate)* Updated compile with new pal mapping - *(revolution)* Testing wavy grass on revolution - *(maps)* Art pass on all maps - *(shader)* Added scanline effect to animmap - *(shader)* Added tessellation to defaultwall_wavy - *(shader)* Flipped wind direction to match wave pattern - *(shader)* Added lod for defaultwall_wavy - *(shader)* Adjusted wind speed and lighting intensity on grass - *(model)* Initial rat 2.0 ent model and wmodel - *(model)* Initial bandage anim for first-person hands - *(model)* More Dead Rats - *(model)* New m4 base model - *(model)* Additional rat models/anims - *(model)* Bandage junk model - *(sfx)* Initial bandage sfx - *(entity scripting)* Added `logic_store` and `logic_if*` - Added PALSAMPLER directive to defaultwall.glsl - Updated glass shader to nolonger use env map - Throwable dead rat initial - Updated dead rat throwable code for new model - Updated strato .loc - Added bandage animation, junk item, weapon slot - Made medals only earnable during a match, not warmup - Impressive 3 -> 10 kills without dying - Moved killstreak chat message counter to be persistent between rounds - Added map_entity_c::DefaultSpawnFields - Added .priority field for running use_targets in reliable order - Made item_* weapon_* ents spawnable with targetname - Func_penetrate activate targets upon destruction - Force draw anim when hit with a dead rat
### 🐛 Bug Fixes - *(map)* Strato visibility fix - Made Boh's Bullies graffiti a bit less luminescent - Fixed up "kick" and "throw" macros, now known as +melee_kick and +melee_throw - Sniper remaining scoped when bandaging - Fixed func_wall not having reset func - Updated some fence shaders to fix lightstyle issues - Updated defaultwall_wet to use PALSAMPLER - *(shader)* Uninitialized variable causing issues on nvidia - *(netcode)* Disabled relative player position networking for non-local players - Prediction not updating .my_input_* fields - Fixed being unable to drop weapon when holding melee - One More Time - Removed MyGirl hand scaling - Base field redefinition in func_crushable - *(model)* Removed loop from bandage anim - *(shader)* Animmap outline buffer fix - *(viewmodel)* Fixed lasersight geomset and sideattach not being mutually exclusive - Out of order shader write in animmap_ext.glsl - Precached bandage junk model
### 🚜 Refactor - *(spawnfuncs)* Added fullspawndata parser, lift door train and plat converted to classes. Added map entity base class. - *(spawnfuncs)* Added guarded constructor to control state leaking between classes - *(spawnfunc)* Func_crushable2 converted to func_crushable class - Cleaned up rogue backslash causing problems compiling with Unix line endings - Class-ified func_wall, added `state_default` spawn field - *(spawnfuncs)* Converted speakers.qc to use classes - *(spawnfunc)* Func_penetrate converted to class - *(spawnfunc)* Spawnfunc_path_corner and spawnfunc_func_illusionary converted to classes - *(spawnfunc)* Spawnfunc_trigger_hurt => trigger_hurt class
### ⚙️ Miscellaneous Tasks - Converted phys.qc to tabs instead of spaces - Allow `setpos` with sv_cheats - Remove _c from train, lift, door - Remove spawnfunc macro from plats.h - Added includedir shared to csprogs and ssprogs - Added midnightguns.fgd to utilities folder - Fixed warning in mgp_files.qc - Csqc map entities call DefaultSpawnFields instead of HandleSpawnFields - *(shader)* Shader defs for rat/m4
### Balance - Magnum falloff start range 768u -> 1024u - Magnum falloff end range 3000u -> 3400u - Magnum magazine capacity 4 -> 5 - Sniper significantly reduced scope aim punch
Source
Changelog.gg summarizes and formats this update. How we read updates.
