Duck Game - CORPTRON
A note about the game updating a million times an hour:
Sorry for all the updates in quick succession, I've been debugging the BadFormatException error that has been keeping some people from playing and the only way to iterate on it is to see what it does live. There where also a few other issues related to DInput and NAudio, which both break differently depending on the vast number of configurations that exist out in the wild.

June 12th Hotfix - 6858840(1.1.7717.16375)
-------------------------------------------------------------------
  • F10 no longer enters debug pyramid tile editing mode. If you need this (unfinished!) feature for some reason or another you can now access it by typing 'randomedit' into the dev console.
  • CTRL + S now saves in editor, CTRL + SHIFT + S now saves-as in editor.
  • Editor now shows a star in the top left corner when unsaved changes are present.
  • Fixed an issue with loading level previews
  • Fixed issue with map pack preview generation

June 3rd Hotfix 2- 6809975(1.1.7717.16375)
-------------------------------------------------------------------
  • Fixed issue where same random map would generate every time (whoops..)
  • Fixed bug where mods without a workshopID defined where disabled on startup
  • Fixed a few crashes
  • Reduced mod SFX memory usage a bit to reduce out of memory errors, more work still needs to be done.

June 3rd Hotfix- 6808994(1.1.7717.16375)
-------------------------------------------------------------------
  • Mod data hashes are now calculated per-mod instead of as a single global number, so if 2 players' versions of the same mod are incompatible the game can now notify players of which mod is causing trouble.
  • Fixed a few issues with modhash initialization
  • Fixed a few crashes

June 1st Hotfix- 6794611 (1.1.7717.16372)
-------------------------------------------------------------------
  • Fixed serious memory leak with reskins mod, in particular with Tom Clancy R6 mod which was causing out of memory errors for some players
  • Fixed a number of missing method errors with mods
  • Fixed a number of null reference crashes
  • Duck Game's steam integration DLL is now called "DGSteam.dll" instead of "Steam.dll", as the latter name may have been conflicting with Steam's own DLL with the same name.

May 31st Hotfix- 6790287 and 6790023 (1.1.7717.16372)
-------------------------------------------------------------------
  • Rewrote DInput device enumeration, it's now threaded as it should be. This should solve a ton of framerate spike issues and freezes.
  • Improved logging for BadFormatException

May 31st Patch - 6789227 (1.1.7717.16372)
-------------------------------------------------------------------
  • Objects can now be encased in ice by placing an IceBlock in the editor, and setting it's contained object.
  • NOTICE!! New re-texturing system that was previously called 'Reskins' is now called 'Texpacks' to differentiate it from the existing Reskin mods.
  • Texpacks should now be placed in Mods/Texpacks- instead of in Mods/Reskins
  • Texpacks now look for their texture/music/sfx data in a subfolder called Content, which should mimick the Content folder found in the Duck Game install.
  • The above changes will unfortunately break any existing mods using the official Reskin system. There aren't very many new reskin mods as far as I can tell, but I'm sorry to anyone who this affects. To change your reskin into the new Texturepack format, move all the DG reskin content from the root folder of your mod to a subfolder called Content. If you're testing locally, move the mod out of DuckGame/Mods/Reskins and into DuckGame/Mods/Texpacks.
  • Old Yupdaniel reskin mods from pre-DG 1.5 should still work fine.
  • Fixed a number of issues with Texpacks, retexturing ducks should now work correctly.
  • Added "Show 8 Player" setting in local lobby pause menu that zooms out to show extra slots, to help clear up confusion with how to use 8 player mode.
  • Text to Speech setting now shows "Text To Speech Not Installed..." if the system fails to initialize, or if there are no voices installed on the system.
  • Fixed a large number of level synchronization issues related to MysteryGun and RandomItemBox. This should fix a number of situations where item boxes wouldn't pop anything out.
  • Fixed a number of issues with controls resetting due to device changes (this was a bad one, really sorry to anyone whose been suffering over this)
  • Added "SAVE CHANGES?" dialogue when backing out of profile control editor with unsaved changes.
  • Added warning message for title screen global EDIT CONTROLS setting, which warns you if any active profiles have their own personal control overrides set, which would override the global controls.
  • Binding two UI controls to the same key is no longer allowed
  • Duplicated UI controls will now be detected and reverted to defaults on game startup (These two issues should help prevent Cancel and Accept from being bound to the same key, for example)
  • Running with -moddebug enabled will now throw mod OnPreInitialize exceptions
  • Issues encountered in a mod's OnPreInitialize function will now be displayed in the error output in the mod browser window
  • Text To Speech should now be working again
  • Fixed issue with Never Mined and Books Are Fun achievements not triggering.
  • Fixed issue with odd behavior when placing parallax backgrounds in the editor when a mirror object is present.
  • Pipes no longer use a separate object to render their end pieces, this should fix a number of pipe related issues in the editor.
  • "Show Error" in the mod browser menu now opens the error in a Notepad document, instead of showing it in a crappy ingame window.
  • Added emergency garbage cleanup call for compatibility with old mods that leak textures
  • Fixed bug where backing out after choosing to play online could softlock the lobby
  • Fixed bug where match settings would be reset if Play Online was accidentally chosen
  • Fixed Waffle Cape
  • Added 'xpskip' command to console for players who really don't want to see Vincent and can't stand to wait for him to gift the Voodoo Vincent doll.
  • Improved duck animation sync when playing online
  • Command line option -dinputNoTimeout is no longer neccessary. DInput now initializes asynchronously and can take as long as it wants.
  • The above change should fix '???' control errors with DInput pads, but if DInput is being finnicky it may take a bit of time before your DInput pad is detected.
  • Wall disarms have been re-implemented
  • Hopefully solved a few System.BadFormatException errors, and added better logging to indicate the offending DLL.
  • Added 'savedir' command to console, which opens your current Duck Game save folder in a new window.
  • Added 'userdir' command to console, which opens your current Steam user's Duck Game save sub-folder in a new window.
  • Fixed a few issues with object appearance offsets when netted while playing online
  • 'F' to flip selection in editor on keyboard should now be working properly
  • Fixed a number of disappearing object issues when playing online, related to objects created by references in net messages not being initialized with the correct authority values.
  • Fixed race condition crash in audio engine when connecting to remote play
  • Fixed a few crashes with initializing audio drivers
  • Fixed issue with renderstate pileup when rendering level previews, which caused crashing when uploading some workshop levels
  • Fixed issue where selected duck color could be ignored upon joining a game
Duck Game - superjoebob
February 28th Hotfix (6307667)
-------------------------------------------------------------------
  • Changed full moon calculation to use UtcNow, and made detection more lenient (12 AM on the day before or after a full moon should also be detected now)
  • The -debug command line option will now log additional steam related messages to the command console when running as administrator.
  • added 'copy' command to console, which will copy the command consoles current contents to the clipboard

February 26th Patch (6302127)
-------------------------------------------------------------------
  • WAV files in mods bigger than 5MB are now streamed from HDD instead of loaded into memory to prevent out of memory errors when many mods are installed
  • Added Audio Engine selection to audio options menu to help anyone having issues with the default Wasapi API (Some builds with Proton on Linux seem to dislike this API)
  • Starting a remote play session now automatically switches the audio playback API to DirectSound (other APIs cause horrible horrible sounds)
  • More fixes for full moon check
  • Updated link for crash message when XNA framework is not detected
  • Added another check for -debug command line DLL dependency check
Feb 16, 2021
Duck Game - superjoebob
Hotfix
=================
  • Added -debug command line option for debugging BadFormatException errors.
  • Fixed some new issues caused by target duck change.
  • Fixed issue with collision detection that caused unwanted clipping when jumping horizontally against a wall and a pane of glass at the same time (this was an issue introduced by 1.5's collision detection optimizations)

Main Patch
=================
  • Added checks to prevent crashing when LoopingSound/ConstantSound instances aren't loaded properly/are disposed early.
  • Fixed cape not appearing for waffles hat
  • Removed _holdAction from TargetDuck, as this was only ever meant to be added to TargetDuckNew. This may affect challenges made after the 1.5 update using poweruser to place old TargetDuck objects holding automatic weapons.
  • The above change should fix a number of issues with the Grenade Launcher 102 challenge.
  • Added special check for version == 1 when loading old levels with background frame values == 255
  • Fixed issues with using frame 255 from custom tilesets in 1.5 level format
  • Fixed issue with editor where block nubs would get left over when removing objects and clutter up the editor UI
  • Rewrote mine sync again! Mines should now work online as they do offline. Mines are now client-synchronized similar to Quad Laser bullets, instead of being a mishmash (Mines will only explode when an object moves off of them if that object has isServerForObject == true)
Duck Game - superjoebob
February 7th 2021 Hotfix (6204004) (Does not update version number)
-------------------------------------------------------------------
  • Vincent will now buy things that *aren't* Round Tables.
  • Fixed crash caused by blocking the last player in your 'Recently Played With' list.
  • Fixed feathers!

February 5th 2021 Hotfix (6196421) (Does not update version number)
-------------------------------------------------------------------
  • Fixed issue with Vincent giving multiple perimeter defence turrets.

February 4th 2021 Hotfix (6191479) (Does not update version number)
-------------------------------------------------------------------
  • Fixed some index issues with font character fallbacks
  • Ragdolling now resets previous gun pickup delay, allowing quicker gun recovery when ledge grabbing and more (thanks Tater!)
  • Fixed crash with grappling hook
  • Fixed index crash with NMTransferScores
  • ItemBox contents are now included in the initial level data payload, this should help prevent issues with items not popping out of the boxes for clients



  • New Muting/Blocking system. To use, open the pause menu in a multiplayer game, move up to the name you're having trouble with and press GRAB. You can mute chat, hat, room and name seperately and blocking a user will automatically mute chat + hat + room. Additionally the blocked user will be kicked from your game if you are the host. Matchmaking will not join players you have blocked and they will be unable to join games that you host.
  • Fixed crash related to SteamUtils() returning null (the game will now run for the few experiencing this issue, but chat filtering will not function)
  • Removed chat filter toggle from options menu, as it was redundant with Steam's settings. To disable chat filtering go into Steam and click 'View -> Settings -> In-Game' and click 'Change Chat Filtering Preferences'
  • Fixed issue with XML loader where loading a blank file would cause a crash
  • Made a number of changes related to the PS4 porting process (rewrote shaders, optimizations and preprocessor changes). This should have no visible effect if everything was done correctly.
  • Duck Game is now being built in Visual Studio 2017 instead of Visual Studio 2015 due to PS4/Mono build requirements
  • Significant level rendering performance optimizations (AutoBlock/Level tile batches are now cached, need to keep an eye out for layering issues and other oddities)
  • General performance optimization (Level.things._bigList and Layer updates no longer constantly call RemoveWhere)
  • Disabled mods now appear at the end of the mod selection list, instead of at the beginning.
  • Retextures and map packs are now loaded before anything else, which should fix retextures not being applied to ducks
  • Fixed a number of issues related to using higher definition textures in texture packs
  • HD texture packs no longer need to set the isHD variable, larger resolution images will automatically load in properly
  • New system for re-texturing parallax backgrounds, see background/office.txt in DG's content files
  • Fixed bug where spectator's fans where showing up in the crowd
  • Fixed bug with full moon check not taking timezones into account
  • Fixed glitch when holding F1 with chat open (F keys no longer repeat when held down)
  • Fixed bug where taping a taped sword to another sword would eat the sword (taped swords should not be able to be taped to other swords)
  • Characters missing from room fonts will now fall back to the default font
  • Fixed issue with Energy Scimitar where it would get stuck glowing in props
  • Fixed bug with storing gold rocks in purple box where the stored rock would not be gold for clients
  • Fixed issue where input 'down' actions weren't behaving correctly with inputs mapped to mouse buttons (you can now properly throw the energy scimitar with throw bound to the mouse)
  • Killing ducks by hovering gun barrel over them while they are floating in the lobby beam is no longer possible (this was a bug introduced in 1.5 related to changes with armor/prop vs. gun collision checking)
  • Fixed Musket/Blunderbuss collision boxes


Duck Game - AdamSwim
Welcome to the Duck Game 1.5, the biggest Duck Game update ever! In fact it was so big, we had to break the update notes up into two parts! Here is the long, long list of bug fixes. Quack on ducks!

BUG FIXES:
  • Hopefully fixed alt-tab lockup issue
  • Insane amounts of SFX should no longer cut out music
  • Musket/Bazooka smoke now properly travel in their gun's barrel direction
  • Added a fix for stretchy cannons
  • Fixed a number of offset/lighting glitches with level transition rendering
  • Fixed crash in sunlight refresh
  • Fixed rare occasion where steam lobby connection would be affected by previous lobby data
  • Fixed NetProfileData synchronization issues (pause indicator, spectator table sync, etc)
  • Removed infinite loop detector as it was crashing the game without reason and was basically in place to debug problems that have already been fixed
  • Reverted some Hat Selector changes that were causing bad things to happen
  • Non-lethal bullets now behave correctly with surface penetration
  • Non-flammable things can no longer burn
  • Fixed an issue that caused floating doors
  • Fixed an issue where network ducks would not moves sometimes
  • Fixed a desync issue with GhostObjects
  • Fixed a bunch of meaningless network talkback in the ghost object system
  • Fixed a number of pyramid level generation issues
  • Corrected some threading issues with the loading system.
  • Fixed issue where clients weren't properly spawning with holstered items
  • More platform fallthrough fixes (crouching and jumping near the edges of ledges was cancelling jumps, even though it shouldn't have been)
  • Fixed a number of power holster issues
  • DuckPersona.mallard now works properly
  • Fixed hat offset issue with vincent
  • Fixed -nomods not working with texture packs
  • Fixed issue with lobby type detection, this should help prevent Dan Rando from showing up in your private game
  • Random map generation fixes (first pass)
  • Fixed weird offset when removing helmets
  • Fixed reskins mod crash
  • Fixed issue with not being able to set custom challenges on custom arcade machines
  • Hopefully solved a number of sound initialization crashes
  • Fixed a number of object initialization synchronization issues
  • Fixed "Ignoring Removed Ghost" issue that was causing ducks not to move
  • Fixed a number of DWEP issues
  • Fixed synchronization issue with wire buttons on level start
  • Fixed sound synchronization issue with chain dartgun
  • Fixed a few synchronization issues with guns firing via heating or springing
  • Fixed issue with drumset blocking bullets
  • Fixed crash when joining local duck with no local slots enabled
  • Fixed a sword crash
  • Fixed crash running game without steam
  • Fixed issue with shotgun not returning to correct spawner when throwing it into the beam as players 5 to 8
  • Fixed issue with tall teleporters not connecting to each other when placed vertically
  • Fixed a number of pipe issues
  • Fixed issue where quickly drag removing objects in the editor wouldn't work properly
  • Fixed issue with random item crate not working, added "reveal random" property allowing '?' item crates
  • Fixed a few fullscreen crashes
  • Fixed a number of issues with background pipes generating collision
  • Fixed a few issues with death ray sound effects
  • Fixed parallax culling issues
  • Fixed issue with drumset disappearing online
  • Fixed a number of connection issues and lobby desyncs
  • Fixed issue with hat offsets on scoreboard in eight player mode
  • Fixed issue with background tile index loading that was causing potential data loss for larger tilesets
  • Fixed issue with layer cameras not getting reset which led to floating foreground objects and offset spawn indicators
  • Fixed crash related to setting too large a font size
  • Fixed issue with matchmaking window getting stuck when connection to a server fails
  • Fixed issue where infinite loop detector would trigger while dragging the game window
  • Fixed a memory leak with BufferedGhostStates
  • Fixed graphics object disposal crashed
  • Fixed item spawner item position glitching issue
  • Fixed position glitching issue with trapped ducks getting out of their nets
  • Fixed a custom/client/workshop level transfer related crash
  • Fixed crash related to creating a large raster font buffer when hidef mode is disabled
  • Fixed a number of minor graphical errors
  • Fixed a few collision bugs related to new collision code
  • Fixed changes that were causing DWEP to WOPP
  • Fixed GoalType crash caused by not setting a goal object
  • Fixed disappearing duck/ragdoll issue with full ghost state synchronizations (this caused particular problems when re-joining lobbies, as existing ducks would have their owner connections assigned to the host for the new client, which was causing a discrepancy and causing messages to be ignored)
  • Fixed a few input lockout issues with magnet guns and RC cars
  • Fixed red hot graphics glitch with flamethrower
  • Fixed a number of issues with object removal code
  • Fixed stack overflow crash with demo crate (this was likely causing hard lockups, the likes of which may have required a computer restart for people playing with native fullscreen enabled)
  • Fixed issue with jetpack smoke not appearing online
  • Fixed a few texture pack loading issues/crashes
  • Game will no longer crash when no audio device is detected
  • Fixed some editor resolution issues when using extremely wide aspect ratios
  • Fixed index out of range crash when disconnecting from game
  • Fixed bug with infinite firecrackers spawning way too many firecrackers when burned
  • Fixed a number of lobby crashes and errors
  • Fixed bug where destroyed network objects would be resurrected in a feedback loop
  • Fixed emoji support for different font sizes
  • Fixed issue where additional local players couldn't select custom hats
  • Fixed issue where players rejoining lobbies would get corrupted data (causing disappearing ragdolls/hats/etc)
  • Fixed an XML crash
  • Fixed issue where target ducks could no longer be crushed
  • Fixed a few editor placement issues
  • Fixed Kingdom Tileset collision issues
  • Fixed bug where backing out a local player would leave their door stuck open with a black background.
  • Fixed a bunch of holster synchronization bugs (disappearing objects)
  • Fixed bug where '+1' round win number color was appearing incorrectly
  • Fixed save location issues for OneDrive users..
  • Fixed MindControlRay crash
  • Fixed end of game recaps crash when playing in windowed fullscreen mode
  • Fixed issue where sliders with range minimums less than ze
Duck Game - AdamSwim
Welcome to the Duck Game 1.5, the biggest Duck Game update ever! No seriously. It’s quacktastic. This update is our thank you to all of the long time supporting fans of Duck Game. Many of the things you’ve been asking for are here - 8 player multiplayer, spectator mode, hundreds of fixes and optimization, new maps, new weapons, expanded editor capabilities, customization options, and more.

Thank you for playing Duck Game.

Now, onto this ridiculous list of notes that took us like a week to compile. They were so big, we had to break it into two parts...



Eight Player Multiplayer
  • Duck Game now supports up to 8 Players
  • Added eight player versions of a number of levels
  • Added 'Eight Player' object to level editor which can be placed to designate a level as an eight player level
  • Creating a game via invite now automatically supports up to 8 players

Spectator Mode
  • New Spectator feature!
  • Games can support up to 4 spectators in addition to the new 8 player limit
  • Spectators get to wiggle around at the spectator table and drink their favourite beverages
  • Added Melon Soda for spectators
  • Spectator names appear purple in chat and connection windows
  • Spectator duck color can be changed by holding strafe and pressing ragdoll
  • You can now host a "dedicated" server, allowing a game to be passively hosted and watched without a present player


New Maps
  • Lots and lots of new maps

New Weapons & Equipment
  • Added Duct Tape - Now you can tape two weapons together!
  • Added The Dandylion - You’ll shoot your eye out, kid!
  • Added Camping Rifle - Trap enemy ducks in a cozy sleeping bag
  • Added Energy Scimitar - It’s a laser sword, but cooler
  • Added Pokeyhead - Pierce enemies and items from below with this handy new hat!
  • Added Powered Holster


Added Hats from Switch Version
  • Wahhs, Postals, Kerchiefs, UUFOs, B52s, Zeros,Clams, Bigearls, Toeboys, Waffles, and Diplomats, a top hat with 270 flags to choose from to use as a cape

Improved Mod / Custom Content Support:
  • Custom hats can now be loaded from PNG files in the game directory
  • Hats now support metadata (put an extra line of pixels to the right side of your hat- A 32x32 hat becomes 33x32, 64x32 -> 65x32, etc.)
  • The Red value of the pixel determines what type of metadata it is. Currently supported is HatIsTail(R = 0), and Offset(R = 1, G = 128 - X, R = 128 - Y) (128, 128 means zero offset)
  • Custom rocks are now supported:
  • If you make your custom hat texture 24 pixels higher (32x32 -> 32x56 for example), then the bottomLeft 24x24 pixels will be read as a custom rock.
  • Added support for viewing mod exception stack traces through mod browser
  • You should now be able to play levels with local mods online
  • Levels with mods containing workshop ID's will no longer be considered levels with 'local' mods, even if the mods are located locally
  • Improved mod crash detection
  • Mod.Debug.Log should no longer severely lag game when debugger is attached
  • The steamprofiles and invitelinks mods by eim64 are now autodisabled on startup to prevent crashes due to changed UI code because these mods have been implemented officially!
  • Levels from a mods’ Content/Levels folder are now shown in the level browser
  • Mod content load errors will now be shown, and miods with content load errors will now appear in the mod browser list
  • Restored a number of functions that various mods were accessing
  • "Disable Mods?" window that appears before creating/joining online games can now be disabled
  • You will now get a "Download mods?" notification when joining a server with different mods than yours through an invite
  • Crash windows will no longer open when a mod fails to load, unless the '-moddebug' command line option is present
  • Texture/Reskin packs are now officially supported (Add a folder in Mods/Reskins that mimicks the contents of the Duck Game/Content directory)
  • Texture/Reskin packs are now officially supported (Add a folder in Mods/Reskins that mimicks the contents of the Duck Game/Content directory)
  • Client reskin mod should now be working again
  • Added workshopIDFacade, namespaceFacade and assemblyNameFacade to Mod.cs to allow DEV versions of mods to define the ID's and Names of their release counterparts, allowing compatibility between them

ADDITIONAL NEW FEATURES AND IMPROVEMENTS
  • Ducks now breathe. As ducks should.
  • Added flagpole furniture for your room
  • Added 'Trick Shots' to stats screen
  • New pipes! Use these to traverse the map, and also to your immediate death.
  • Added a game paused indicator
  • Added an indicator for when host skips a level
  • Duck ragdolls are no longer torn apart so wildly while flying through the air, much to their satisfaction
  • Little men may now grow freely, even when you reach level 20.
  • Hats are now drawn on netted ducks
  • Screen will no longer show up in rooms with backgrounds

GAMEPLAY
  • Several improvements to Team hats
  • Team hats now have the lowest pickup priority of all props, which should prevent players from picking up a hat when they want something useful.
  • Team hats now go underneath everything
  • Team hats no longer block doors or spawners
  • Team hats no longer work for pressing buttons
  • Team hats will now drop at feet if replaced by an equipper
  • Darts really do stick to walls again now!
  • Dartgun now works at point blank range
  • Dart guns now work much closer to as intended online
  • Implemented a dozen more giant icicle breaking situations
  • Icicles now react to death laser, quad laser, darts
  • Strafe sliding into a wall will now make your duck stand up
  • Clicking and dragging the mouse should now allow any rightstick function (tongue, waving rock throw signs, etc)
  • Tongue-stuck ducks will now fall if what which they stuck their tongues on is destroyed
  • Made crates less shiny because crates aren’t shiny
  • Improved platform fallthrough code
  • Large item crates can no longer be moved around
  • Subtly increased velocity needed for a disarm (prevents waterflow objects from disarming, hopefully prevents a number of unintentional ragdoll disarms)
  • Rock collision is now accurate when raised against wall (also helps prevent rock camping)
  • Killbox and equipment collision boxes are now accurate when sliding (helps prevent rock camping)
  • TV stuck onto spike helmet now functions properly
  • The Rocket launcher no longer has slight rocket speed variation, and now has perfect accuracy (it was 95 percent accurate previously)
  • The Sword should now properly push other ducks online
  • Netting a sword wielding duck is now consistent between online and offline (the previously held sword no longer immediately kills the netted duck when playing online)
  • Sharpshot vertical kickback has been reduced while flapping wings
  • Insta Unragdolling is back
  • Flying Nets no longer block bullets
  • Changed timing on spawncannon feedback
  • First jump when spawning in water is no longer dampened
  • Scimi jumping is now possible with keyboard control schemes combining 'jump' and 'up' into one button
  • You can now speed up quad laser bullets by hitting them with a sword in the same direction (why wasn't this possible before??)
  • Bananas are no longer made of metal
  • Drumset now appears in front of blocks
  • Team Hats no longer disarm or push ducks
  • Reduced time it takes to load golden Oldpistol, Musket, Blunderbuss and Bazooka
  • Fall deaths will now occur only if the player's duck is off the bottom of the camera, in addition to being below the level. This should prevent dying in midair when skirting the bottom of levels

CHAT IMPROVEMENTS
  • Added chat Text to Speech accessibility option
  • Russian font support
  • Added support for non-english keyboards
  • Made chat bubbles less transparent to improve readability.
  • Improved black duck's chat readability
  • Custom mojis!
  • put an 11x11 or 28x28 png into MyDocuments/DuckGame/Custom/Moji then type it's filename in chat like this- :mymoji:
  • Received custom moji names are now shown in the Dev console (~)
  • Received Mojis can be stolen by typing their name into chat
  • Removed arbitrary moji sub-size limit, custom mojis can now be any size < 56x28
  • Chat emojis now use : instead of @ . For example, :sadface:
  • Chat/Connection indicators now appear on netted ducks/ragdolls
  • Chat avatars now have bodies and quack
  • Added 'bold' and 'italic' suffixes for 'chat font <font>' command
  • Added custom font support for chat font via options menu More.. section, or through console commands 'chat font' and 'chat font size
  • Added chat filtering, sentence enhancers can be re-enabled via options menu
  • Chat size has been corrected
  • (A new Tiny size has also been added, players with existing data may find their chat automatically set to tiny. New players will default to Regular chat size)

UI IMPROVEMENTS
  • Mallard skip signs should look a bit better
  • Game now supports resolution settings
  • Game should now properly support non 16:9 ratios (gameplay camera follows screen ratio, UI cameras are locked to 16:9)
  • Corrected squishing issues on non 16:9 monitors
  • Fullscreen settings are now updated in the Draw function instead of in Update
  • Windowed Fullscreen is no longer default
  • VSYNC should now work for non 60hz monitors
  • Error uploading now supports Japanese
  • Simple Hiragana/Katakana support (sorry about the font, I found it online. I'll make an improved one later!)

VISUAL / SOUND / GRAPHICS IMPROVEMENTS
  • Improved mind control ray sync visuals
  • Changed waterfall layering, added waterfall edge pieces
  • Improved level transition rendering
  • Graphics optimizations and improved layering code
  • Major changes to hat metapixels
  • Reimplemented all ingame audio using NAudio, should reduce audio stutter and improve performance. Should also allow audio device switching while game is running. This also seems to seriously reduce random framerate stutters too (at least on my computer), I don't know what the heck happened to XNA's default audio playback but it's really not very good anymore.
  • Reduced size of all sound effects (trimming, converting files that should have been mono to mono). This should improve load times and reduce memory footprint.
  • Sound now supports Exclusive
  • Reduced volume of sound when things light on fire
  • Changed Duck #5's color to improve clarity
  • Improved sun and point light rendering
  • Made lights more dynamic
  • Further sound engine optimizations
  • All mallard colors are now more clear
  • Red hot glow is now more obvious and affects props as well as guns
  • Improved frame timing for when VSYNC is disabled (no longer using XNA's IsFixedTimestep)

PERFORMANCE AND OPTIMIZATION
  • Improved level loading times
  • Added limit for snow generators
  • Added redundant collision function implementation for checking layer, ignore object, etc which should improve collision check performance
  • Added more stuff to prevent Alt-Tab crashing
  • Removed network overload message, as it wasn't reporting anything useful (or any actual overload for that matter)
  • Completely removed threading from the initial loading process. This actually improves loading times, and should fix a number of lockups/crashes.
  • Improved object serialization/deserialization performance, should improve level/game loading times
  • Improved asset lazy load, this should help reduce stuttering during the games initial screens
  • Massive collision code optimization
  • Removed unnecessary XInput check in DInput driver that was causing a moment of lag on startup
  • Removed cloud settings menu, if you want to disable or enable cloud, or manage cloud files, please use the steam UI or a 3rd party tool
  • Improved purple box synchronization
  • Made a change that should help reduce crashing when changing back and forth from fullscreen (huge thanks to Dan for spearheading this and finding the issue)
  • Reduced unnecessary steam cloud activity (Steam's API's weren't updating file timestamps when writing cloud files unless said files had changed.
  • Added saveIndex variable to all save data which increments upon each save, ensuring save data timestamps are always up to date)
  • Major optimizations to ghost state refreshing system, as well as improvements to general network syncronization accuracy
  • Resolution logging in crash logs should now be more accurate
  • Improved crash logging
  • Removed gamepad enumeration thread in favor of a callback system (should help reduce framerate spikes)
  • Added "Alt. Timestep" setting for using original XNA timestep (which doesn't work correctly at all on my computer)
  • No longer preloading music, should decrease memory footprint
  • Synchronized save data is now saved in a Documents/DuckGame sub folder corresponding to your Steam ID number. Existing save data will automatically be moved there, anything outside of this subfolder will *not* be synchronized to the cloud.
  • things.RefreshState is now called before a network level is 'started'. This should fix some object initialization errors (and hopefully not create new ones..)
  • Crashlogs now show RAM details
  • Cleaned up bug report log format
  • All challengedata is now stored in player profiles. The ChallengeData folder will remain for existing users, but once the game has been started its data will be migrated and it will no longer be used.
  • Rewrote cloud integration, it should now detect deleted/modified local files (testing needed)
  • Custom levels are no longer preloaded, this should improve load times for people with many levels (and add a bit of lag when opening Custom Levels menu for the first time)
  • it will end the challenge as soon as MAX TROPHY is reached.
  • Crash/Alt-F4 related disconnects should now be detected much quicker.
  • Optimized level format
  • Reduced lag spikes caused by Xbox controller "IsConnected" check.
  • Optimized save data (should be smaller and load faster)
  • Changed GC settings to hopefully reduce framerate spikes
  • New netcode to prevent loss of state information in high jitter situations (packets arriving out of order)
  • Removed a bunch of unused data from BufferedGhostState (may improve network GC hitches, may already have been optimized out when building in release mode)
  • Added file saving safeties to reduce crashing on people with saves synchronized to dropbox/onedrive
  • Windows' new(ish) Rumble over Bluetooth feature doesn't seem to limit outgoing packets in any way, which was causing the game to become extremely laggy with bluetooth controllers. It was also causing bluetooth controllers to lose their composure and disconnect randomly. I'm limiting sent rumble messages on my end now, which should greatly improve wireless controller support. As always hardcore ducks should use a keyboard or a wire for best input performance.

MAP EDITOR IMPROVEMENTS
  • New editor feature:
  • Holding CTRL while dragging out background tiles will automatically select and place tiles adjacent to the selected tile allowing entire portions of the tileset to be drug out all at once. (this should help make adding Danny DeVito to levels easier). This can also be done on gamepad by holding down the tile placement button, then holding the MENU1(SHOOT) button at the same time and moving. On an XBOX controller with default settings this means holding A and X.
  • New city background tileset
  • Added box selection/mirror/flip functions to level editor
  • Added BuildingFramework tileset, an indestructible tileset which can be placed below normal blocks
  • Improved editor object placement - Quickly dragging out a line of objects should now form a consistent line without gaps
  • Added check when loading older levels for *extremely* large Y values, any objects with bozo values will not be loaded
  • Mouse will now automatically move to the current selected tile position when picking background tiles from the editor using MENU 1 (H by default)
  • Improved window focus detection, should prevent random tiles being placed a million miles offscreen when minimizing while using the editor (if you're ever making an XNA game I don't recommend using Game.IsActive)
  • Mouse input is now disabled until all buttons are released when clicking back into the Duck Game window. This should help prevent unwanted block placement in the editor.
  • High-Res texture packs are now possible (add the line 'hd' at the bottom of info.txt)
  • Reskin packs now support limited color replacement (Include a 'colors.txt' file, each line represents a string/hex pair that replaces a Colors.Color or Color.Color static data member. For example, to replace menu color with red: MenuOption=0xC0202D
  • Existing texture packs are now supported (thanks Yupdaniel!)
  • Vanilla maps can now be selected from custom map selection and put into playlists
  • Most vanilla levels now have explicit 1v1 spawn configurations. You can set your own 1v1 spawn configs by setting the 'secondSpawn' property on any duck FreeSpawn
  • (for example, have secondSpawn = false for spawns located on the left side of the level, and secondSpawn = true for spawns on the right to ensure 1v1 ducks never spawn on the same side. Note that secondSpawn does *not* explicitly mean any particular color of duck.
  • 'My Levels' cloud folder is no longer a thing. Everything goes through the normal DuckGame/Levels folder again like always.
  • Level browser in editor now remembers what folder it left off in
  • Previews now show custom tilesets (you may have to delete My Documents/Duck Game/EditorPreviews)
  • CTRL + Middle Click in editor now activates layer selection swap mode- hold it when placing background tiles to select foreground objects and vice versa

NETWORKING:
  • Changed Invite lobby type from Friends to Private to prevent Dan Rando from just rolling in (this potentially means a bit more 'can you resend the invite' in the future unfortunately, as it disables right click -> join functionality on invite lobbies)
  • Rewrote connection system and level synchronization system
  • Added 'netData' to Profile class, which can be used to easily and automatically synchronize string->object pairs over the network. Example: DuckNetwork.profiles[0].Set<string>("crazyName", "wowman")
  • Rewrote net synchronization for GoodBook
  • Snow tileset freezing and melting is now synchronized
  • Grenade Cannon should now be synchronized properly
  • Bonk stars should now be synchronized
  • Huge laser blasts are now synchronized
  • Synchronized more warp gun sounds
  • Getting smacked sideways with objects is now synchronized
  • Synchronized Present sounds/effects
  • Synchronized hat selector
  • Basketball whistle sound is now synchronized
  • Fire synchronization has been improved a bit, should result in less random lighting on fire online.
  • Synchronization of objects is now strictly locked between levels, this should help solve many level start desync issues
  • Fire position synchronization is now more accurate
  • Improved chainsaw fuel leaking synchronization
  • Firecrackers now work online
  • Disarm knockback now works correctly online
  • Added calls to properly upload stats to ensure accurate numbers (no more losing quack numbers)
  • New version numbers weren't working correctly causing games not to connect. This should be fixed!
  • Changed the way network particles and objects are removed, hopefully this will solve the serious slowdown and lockup issues that have come up online
  • Increased resolution of synchronized position and angle variables which should improve the visual smoothness of online play
  • Rewrote network particle manager, implemented a limit on the number of network particles to prevent lockups (fire should truly be more accurate now)
  • Rewrote cloud integration (again) to minimize unnecessary syncing and improve loading times. Removed 'local files deleted' message in favor of a new cloud file manager window where you can manually delete specific files from the cloud. If you delete files from your save game locally with cloud enabled, they'll come right back unless you delete them through a cloud file manager.
  • Massive pings should no longer cause a feedback loop of message resend
  • Ping calculation should now be more accurate, and should average out faster during connection. This should hopefully help prevent ducks from moving early.
  • Restored network authority system to round robin configuration (dropped pickup time comparison, it was leading to major desync issues.
  • If two ducks pick up and object at the same time, the duck with the lower network index will get to keep the object. To avoid host advantage, the network index is calculated as (DuckNetwork.levelIndex + duck.networkIndex) % numberOfPlayers, so the advantage order will change every level.
  • Changed some lobby sync code, this should result in faster initial connections and a smoother lobby experience (that is of course if it doesn't throw a wrench into things instead)
  • Reported Ping numbers should now be more accurate
  • Reduced network bandwidth required for sending removed objects
  • Reduced lag spikes that occurred in -nothreading mode
  • Removed network threadlock (may improve performance, hoping to solve a particular connection timeout issue)
  • Send.Message is now ignored when called online (why wasn't this the case before?)
  • General network synchronization improvements
  • Rewrote GhostObject synchronization, reducing redundant data and grouping together state messages to greatly reduce network traffic (should help with lag and performance!)
  • Game now properly sends disconnect message on intentional disconnects, so feedback should be a lot better for disconnects now.
  • Disarms are now accompanied with a special network message to make them more reliable online
  • Hopefully reduced situations where 2 or more players would claim to own the same object online. (this should reduce teleporting/getting killed by invisible objects)
  • Added strict level index filtering for non-reliable NetMessage

QUALITY OF LIFE:
  • You can now view a players steam profile page by selecting their name in the online pause menu (thanks eim64!!)
  • MAX TROPHY can now be set under "ADVANCED" in the arcade options menu, if you've gotten the best trophy on a challenge. This is for speedrunning.
  • Added "browse" button for file browsing dialogues that will open the current folder in Windows Explorer
  • Backfill fix is now enabled by default to prevent discord overlay artifacting
  • Abandoned green mallard heads in favor of color clearness
  • Alt-Enter no longer brings up chat window
  • Added IME support which can be enabled through the options menu
  • ESC can now be bound as a control
  • Slightly zoomed out camera on random levels to assist with navigation
  • Added the option to merge 'DEFAULT' account with main steam account (this will be done automatically if the game detects that there's no challenge progress on your steam account)
  • DG screenshot command is now button combination SHIFT + F12. F12 still takes normal steam screenshots
  • ItemSpawners set with Random and KeepRandom properties set now appear orange

CONSOLE CHANGES
  • Always remember not to put linebreaks in your command line!
  • Added -netdebug command line for enabling the network debugger. Hover the desired game instance and press START to join the game with it, each game will automatically host and join the first game. To override automatic join, hold SHOOT while pressing START.
  • Added Duck.invincible, and Duck.disableCrouch (thanks DORD!)
  • Added accelerationModifier variable on Duck for modifying duck speed, Duck.jumpSpeed now properly affects jump
  • Added '-command' command line option, which allows DevConsole commands to be called on startup. Commands must be in quotes, and multiple commands can be defined with additional '-command' elements. For example:
  • -command "level forest02" -command "give player1 pistol"
  • Added shortcut for 'level' console command: 'lev'
  • Added custom font support for console
  • Added new console command options to 'level', including 'title', 'rockthrow', 'pyramid' and 'next'
  • Added '-oldangles' command line option for enabling old angling code, overriding the 'oldangles' console command
  • Added 'oldangles' console command, which will enable the old pre-beta direction changing code. This offers no objective benefit, and exists solely for personal preference!
  • Changed console resize commands, they are now accessed through 'console': console width, console height, console scale, console font, console font size.
  • Additional dev console commands can now be added via DevConsole.AddCommand. For Example:
  • AddCommand(new CMD("level", new CMD.Argument[] { new CMD.Level("level") }, (cmd) => { Level.current = cmd.Arg<Level>("level"); }) { cheat = true, aliases = new List<string>() { "lev" }, commandQueueWaitFunction = () => { return Level.core.nextLevel == null; } });
  • Command console 'level' command now supports 'editor' and 'arcade'
  • Command console now supports copy and paste (hi Dan)
  • Command console 'give' command now supports 'e' as a third parameter, which will equip the spawned item.
  • Command console 'give' command now supports 'h' as a third parameter, which will holster the spawned item (spawns a holster if no holster exists). 'hp' spawns a Power Holster if none exists.
  • Command console now supports running multiple commands in a row by pasting (Ctrl + V) a line split list of commands. For Example:
  • level forest02
  • give player1 pewpewlaser
  • give player2 energyscimitar
  • wait 60
  • give player2 chestplate e
  • give player2 helmet e
  • wait quack
  • give player1 flamethrower i
  • Custom levels can now be loaded through dev console 'level' command
  • Dev Console can now be resized via Graphics settings menu, or through commands dcwidth, dcheight, and dcscale
  • Holding SHIFT while using PgUp, PgDown, Home and End in the console will allow faster browsing through old log messages
  • DevConsole is no longer teensie tiny, now has line numbers and PageUp/PageDown can be used to scroll through output
  • Dev console no longer opens when opening Discord overlay with Shift + ~
  • Dev console command "showcollision" now functions properly, and will not function when playing online
  • You can now move the cursor in the dev console, and toggle through all recently typed commands
Sep 18, 2020
Duck Game - superjoebob
Hey everyone! Just pushed a minor Hotfix patch for the current version of Duck Game. The changes include:

-Fixed crashes related to My Documents folder being located on a network, or otherwise being unavailable in some way.

-Fixed loading lockup crash related to profile unlock lists getting stuck in a feedback loop, leading to massive profile file sizes.

-Added forward compatibility for levels created in the latest beta versions.

Sorry if this got anyone excited thinking the big update was finally here. A massive patch will be released very soon, I'm aiming for mid October. Among hundreds of other things, it will add major editor improvements, new weapons, equipment and levels, an all new City tileset, vastly improved network synchronization and Eight Player Multiplayer! So keep an eye out~

September 19 Hotfix-

-Removed My Documents changes temporarily, as the change wasn't reliable. I'll post another patch as soon as I figure out how to deal with OneDrive MyDocuments folders (currently OneDrive causes the game to crash when save data is updating).
Aug 30, 2017
Duck Game - elizabeth.murphy
A year and a half in the making, delayed many times to be released alongside the PS4 version of Duck Game, the big update is finally here! Raise little men, get toys, and fight in the snow!

Changelog
===================================
-New leveling system, grow up little men and get toys to decorate your duck's room.
-Buy toys from Vincent and his Boy.
-Entirely new random level generation system, "Pyramid" themed levels.
-A dozen new Snow tileset levels with new ramp and ice physics.
-Half a dozen new hats, unlockable through the leveling system!
-All new fire extinguisher with much more sudzy foam.
-Rewritten netcode, online play should be faster and smoother.
-Cloud support now included, must be enabled through the options menu but automatically uploads your save games for safe keeping even when loading them from the cloud is turned off.
-Server browser! Search for games, find and play games with mods. Privacy and filter options coming soon!
Aug 30, 2017
Duck Game - elizabeth.murphy
A year and a half in the making, delayed many times to be released alongside the PS4 version of Duck Game, the big update is finally here! Raise little men, get toys, and fight in the snow!

Changelog
===================================
-New leveling system, grow up little men and get toys to decorate your duck's room.
-Buy toys from Vincent and his Boy.
-Entirely new random level generation system, "Pyramid" themed levels.
-A dozen new Snow tileset levels with new ramp and ice physics.
-Half a dozen new hats, unlockable through the leveling system!
-All new fire extinguisher with much more sudzy foam.
-Rewritten netcode, online play should be faster and smoother.
-Cloud support now included, must be enabled through the options menu but automatically uploads your save games for safe keeping even when loading them from the cloud is turned off.
-Server browser! Search for games, find and play games with mods. Privacy and filter options coming soon!
Duck Game - elizabeth.murphy
776598 Features
--------------------------------------------------------------
-Added dialogues warning about hosting games with mods to prevent dead lobbies
-Fixed a number of alt-tab related crashes
-Fixed startup crashes related to save game loading
-Attempted fix for error where sound settings would set themselves to full on startup.
-Added more complete custom block and background functionality
-Added name display to custom levels
-Fixed broken chat
-Fixed graphics glitches on transitions
-Fixed tombstoning bodies
-Fixed a number of situations where floating boxes could occur
-Fixed a number of physics glitches
-Added shotgun spawner to chainsaw murderer level, removed some crates
-Made running and sliding through fire more effective
-Fixed purple box ragdoll crash
-Fixed some item box crashes related to empty item boxes
-Something else pretty important that's on the tip of my tounge but just out of my minds reach
-Fixed crashes and synchronization errors that where making custom maps unplayable!
-Added custom block and background functionality, need to add template.
-Fixed bugs with secret new features
-Finally fixed developer time for Turbo Chainsaw so that it can be beaten.
-Fixed many fullscreen and alt tab related crashes
-Fixed massive bug with random levels not synchronizing properly and causing crashes online
-Fixed a number of startup crashes
-Added mod restart option
-Fixed missing developer times
-Fixed caps lock to work like a proper caps lock
-Better logging
-Added a secret thing (please don't ask about it )
-Other things I'm sure
...

Search news
Archive
2024
Nov   Oct   Sep   Aug   Jul   Jun  
May   Apr   Mar   Feb   Jan  
Archives By Year
2024   2023   2022   2021   2020  
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002