Jump to content

Ecn

Member
  • Posts

    70
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Ecn reacted to nasKo in 41.64 released   
    41.61 will be available on the "legacy41_61" branch for those who need it

    SERVER OPERATORS - It's always advised to back up your user/Zomboid/saves directory just in case. Legacy branch is available in case of emergencies
     
    This is a hotfix to remove an exploit for players to teleport around the map.
     
    Previous Build 41.63 changelist
     
    Mods
    Hopefully fixed issue with servers not updating mods correctly. Now a server update should update any mods that have changed since last time.
    NEW
    Added some lore cars, spawning mainly in their corresponding places (+ distrib), e.g. Knox Distillery, Transit, Mass GenFac, Lectro Max variations for the Franklin Valuline. Added some specific character lore clothing outfits Added onItemFall event, passes: item. triggered when you lose an equipped item when tripping/falling. Added a bunch of movable sprite props. Gnomes can now find new homes. The first time the in-game map is displayed in a game, the view is centered and zoomed in on the players location. Decreased numbers of army zeds in LV.
    MP
    Send SendPlayerProfile packet before exit to main menu on exception while in in-game state SendPlayerProfile and LoadlayerProfile are high priority ordered packets Fix possible issue with buffers if IOException occurs while sending SendPlayerProfile packet Graceful fitness finish on remote client Pass packet type argument to client packet processing methods Don't display Public=false or hosted servers in the public server browser. Optimized rendering the public server browser. Optimized sorting the list of public servers, which happens after all servers have been queried. Fixed looping sounds in multiplayer after disassembling furniture. Fix for Public=true servers hosted through the ingame option with lots of mods showing up in the server browser. Fixed the Deaf trait causing looping audio in multiplayer. Added a check to prevent a possible crash on the server when exiting. Fixed remote player updates over long distances. Added debug log for VOIP data received from large distances. Added max/min VOIP range to MP population debug window. Fixed PlayerBumpPlayer=false causing no bumps happening with zombies either
      FORAGING
    Removed toggling off search mode when fast forwarding Fixed markers remaining on screen when discarding items Reduced XP gains for foraging, tweaked global XP modifier and diminishing returns for high level foraging Added slight diminishing XP returns for foraging Added isoMarker/worldMarker management to SearchManager Added check for all markers in SearchManager when toggling search mode Added additional clean up step for markers on death Added garbage bags/plastic bags to trash loots Added more items to the trash and junk loots tables Added search window tooltip to show categories available in current zone Adjusted loot categories to have more variety per each zone type Added debug info to search window tooltip Added isItemOverrideSize to force use of itemSizeModifier only for vision radius Override item size for some junk/trash categories to flatten out the vision range of these items Added forageSystem.globalXPModifier property Added setting the isNoticed flag on items forced near the player Added extra cool down period for rerolling noticed items Removed item requirement for finding worms while foraging Fixed icons spawning on fully blocked squares Added darkness effect reduction for a few traits/professions Increased maximum possible vision radius to accommodate highly specialised characters Removed bonus vision for light sources used during the day outside Added vision penalty for cloudy days when character is outside Reduced sneak vision bonus slightly Added a short delay before sneak and aiming bonuses apply Updated foraging guide info text Reduced the exhaustion/panic darkness effect on search mode overlay Added increased spotting radius for food when the player is hungry Added translation for no zone type Changed priority of modifiers in vision radius checks Improved and refactored marker management Improved and refactored integrityCheck function Removed some duplicate and unused item definitions Added zoneData icon count debug info to investigate area window checkIcons and createIconsForWorldItems performance tweaked for dense zones  
    DEBUG
    Add debug log for VOIP data received from big distance Add max/min VOIP range to MP population debug window  
    FIXES
    Fixed endless fitness action when character struggles PlayerBumpPlayer=false server option no longer removes bumping into zombies. Fixed a typo preventing the RotateObject sound from playing. Fixed voiceVolumePlayerse= typo writing options.ini. Fixed the Eat submenus showing +0 for 1/2 and 1/4 hunger amounts. Fixed the player getting stuck in the exercise animation when the High Exertion moodle is visible. Fixed the "Vehicle Engine" volume option not affecting vehicle-engine volume. Added null checks around IsoStove.emitter. Fixed rain-collecting items not collecting rain in multiplayer. Fixed missing movie-rental shelves. Added translations for Large Rental Shelves and Small Rental Shelves (moveables). Fixed some curved-road zones.
     
  2. Like
    Ecn got a reaction from TyP60_Pirojok in 41.61 released [41.60 changelog inside]   
    So when can we start collecting the gnomes. 
  3. Like
    Ecn got a reaction from gabriel rodrigues brandao in 41.61 released [41.60 changelog inside]   
    So when can we start collecting the gnomes. 
  4. Spiffo
    Ecn reacted to Hazard15301 in Trash button disappeared?   
    If you're hosting, its under Host > Manage settings > Edit Selected Settings > Players

     
    If on a dedicated server, edit the ini file directly
     
     
  5. Spiffo
    Ecn reacted to Andreu in Trash button disappeared?   
    Thank you so much, it was disabled, i just enabled it and it works perfecly now.
    I really love this community 
  6. pillow
    Ecn reacted to Hazard15301 in [41.60MP] Buckets and Pots not filling with water   
    Tested with buckets and cooking pots on a hosted (not dedicated) server, using a controller (not sure it matters in this case). Tested with all mods turned off.
     
    Cooking pots and buckets will not fill with water naturally while it's raining. They remain empty before and during a storm. If you partially fill the bucket or pot with water and place it outside, it will then fill normally. Rain barrels appear to still function properly.
     
    Pots and buckets behave correctly in singleplayer.
     

  7. Like
    Ecn reacted to Pandorea in [b41multiplayer] Infinite Sound Bugs   
    Thank you! Team are working on fixing these
  8. pillow
    Ecn reacted to Hat_destroyer in 🙏🙏🙏Multiplayer Setup || Project Zomboid Build 41🙏🙏🙏   
    Well, a lot of time has passed, and there is still no multiplayer and is not expected in the near future. every week I read about adding new content and solving problems with the game and multiplayer, it is terribly annoying that the next update will surpass only a couple of new sounds, and work on multiplayer does not bring the desired results according to beta testers. as a result, we have a disgruntled community that is tired of waiting for the release of multiplayer. A lot of time has passed and interest in the game will only decrease in the future.
  9. pillow
    Ecn reacted to MMAXX in IWBUMS 41.54 RELEASED   
    And again we don`t have MP...
  10. Like
    Ecn reacted to nasKo in IWBUMS 41.54 RELEASED   
    Added Noiseworks Sound Revamp - Stage #1
    Stage #2 is going to introduce a wider range for zombie voice sets as well as further improvements to the music and ambiance systems. Melee weapon SFX - currently mostly based on material rather than the weapon in question - will also get more specific to the weapons themselves; same goes for firearms. 
     
    Added VHS, CDs etc.
    - Added functionality and data for for Disks and Tapes. Data is stored in 'recorded_media.lua'.
    - Media line effects will apply only once per player upon first time listening.
    - Home VHS's spawn uniquely.
    - Retail CD and VHS can have 'common', 'rare', 'very rare' spawn chance.
    - Added learnRecipe method to gamecharacter. Adds the ability to learn recipes via the radio line codes.
    - Added new translation file 'recorded_media_EN.txt'
        - This translation set keeps a translation of the english versions which can be retrieved seperatly.
        (needed for LCD which only supports basic ASCII chars)
    - Added event 'OnInitRecordedMedia' to setup any recorded media data, see ISRecordedMedia.lua for modding.
    - Added new Media UI section to device control panel.
    - Added UI popup for disc's and tapes, some of them can show backcase info via the rightclick context menu.
    - Removed item 'CDplayer' and added 'Radio.CDplayer' a portable device able to play CD's.
    - Added ability to play media, RadioRed = CD, Black/Wide television = Tapes
    - Changed display of overhead notifications for skills etc
        - Softer pastel colors and outlining, red for negative green for positive effect
        - Replaced skill/stat effect numbers by arrow up or down
    - Small overhead text for skills and stats are no longer being displayed if there is no effect on their value.
    - Removed overhead text code from ISRadioInteractions
    - Added static class HaloTextHelper.java for more universal use of the overhead text.
    - Added a few functions to add text, options for color and usage of the indicator arrows.
    - If a text is already being displayed the next text is briefly queued.
    - If multiple text are being added on same tick or while queueing they are combined and seperated with a grey ','.
    - If a text is added which is already being displayed, it's discarded.
     
    - Added world lights for flashing vehicle lights.
    - Added animated flies texture displayed where corpse-flies are buzzing.
    - Added new mugs
    - Display read books in the character info panel ("Training Material"). This might move to the Crafting UI later on.
    - Added highlighting to dragged items that can't be moved to the destination container.
    - Added a loot-window container icon for mannequins as well as the container title "Mannequin".
    - Added a context-menu command to empty a rain collector barrel onto the ground so it can be moved.
    - Added a history of the last three catches to the Fishing menu. They will not fade out anymore. 
    - Added the option to select a dedicated container for catches in the Fishing Menu. All catches will go to this container until full.
    - Heart UI icon will shake when player character takes damage. It will stop shaking once the player is no longer losing health. 
    - Draw a faint border around the player's health bar so the amount of lost health is easier to see.
    - When crafting, items will be put back in their original container/bag. E.g. when adding Salt to a Salad, the salt will be grabbed from a counter, used, and put back.
      
    - Upgrading walls (multi-stage building) takes items from the ground similar to carpentry.
        This includes opening boxes of nails automatically.
        For metal walls, propane will be used from multiple propane torches as needed. Only one propane torch needs to be in inventory, and it may be empty, as others will be used from the ground.
      
    - Removed StopCar and HitByCar properties from one of the walls_exterior_house_01 south-east wall pillars.
        The properties were only on one of the several south-east wall pillars.
        This put "tree" physics on the center of the square.
        These pillars should be removed when one of the two adjacent walls is removed.
     
      
    - Added 3D models for items placed in the world. 
        Right Clicking an item will show the "Place Item" option. This will display a rendered model of this item and highlight the square to know where it is being placed. On controllers, the item is currently always placed at the center of a square.
    - Items automatically go on a table/counter if the mouse is over one of them.
    - Press R to rotate clockwise, shift+R to rotate anti-clockwise.
    - If you select multiple items and one does not have a 3D model yet, you'll simply drop it at your feet.
    - Fixed rotation speed at different framerates.
    - Added snapping to the nearest 5 degrees.
    - Place items one at a time at the current rotation. 
    - Shift-click to place all items. With a controller, the X button toggles between placing one or placing all.
    - Improved lighting of 3d items in-world, to closer match the tiles lighting.
    - Added rotation to the lighting in 3d items in world, before their lighting would rotate along with the item when rotated.
    - Improved lighting on all 3d objects, characters, vehicles, items etc.
    - Added "itemHeight" so players can place things on a microwave that is on a table for example.
    - If you have a counter with a shelve on top of it, you can press tab to change the height of the item.
    - Default "Iso Cursor Visibility" changed to 50% due to the regular cursor being hidden by default.
    - 3D items can be disabled in the options.
     
    - Table stories. Random chance to have some stuff on a basic home's table to tell a story.
    - Multi-stage building QoL: Now if you upgrade a wall frame, wall, etc, you'll have the item displayed until you press ESC (like normal building), allowing to build multiples without having to use the right click context menu every time.
    - Added a "Can't Sprint"-moodle which will appear when the character is unable to sprint. The moodle will shake for a bit when you can't sprint but try to.
     
    Last Stand Compatibility changes:
    - Player files are saved in Zomboid\Lua\LastStand instead of Zomboid\Lua\Players to avoid conflicts with Build 40.
    - Player files have VERSION=1 at the top for compatibility with future versions of the game.
    - Existing Build 41 player files will need to be moved into Zomboid\Lua\LastStand and add VERSION=1 at the top to work.
     
    - The character-creation "Save" button dialog now fills in the name of the preset selected in the combobox, if one is selected.
    - Require the player to be near a vehicle before the context menu displays refueling options to fix gas E.S.P.
    - Changed the vehicle radial-menu icons for adding and removing gas (they were the same before).
    - Added BaseTimedAction:setCurrentTime(). This is used by ISReadABook to set the start time based on the number of pages already read.
    - Added blood and dirt stats to the Wash context-menu item tooltips.
    - Added "Stack Weight" to inventory-item tooltips to show the total weight of a stack.
    - Added a "Training Materials" button to the character Info panel. This displays a window with two tabs, one for skill books and another for magazines that teach recipes.
        For skill books, the item name is displayed in white once the player has read the book completely, or has gained the skill levels through other means.
        For magazines, the item name is displayed in white once the player knows all the recipes taught by the magazine.
    - Updated/added Radio translations for Japanese, Italian, Brazilian Portuguese
     
     
    BALANCE
     
    - Allow plumbing a non-moved sink before the water shuts off if there is a rain barrel above. The water is still infinite for plumbed sinks before the water shuts off.
    - Allow plumbing a sink to an empty rain barrel.
    - Allow metal drums to be picked up with the furniture-moving tool.
    - Allow pouring water into metal drums.
    - Boosted loot spawns in stash.
    - Display what perk just levelup up on top of the char (like exp gain from TV).
    - Sheet ropes can now be attached to metal railings on balconies. (Currently doesn't work for fences on the south or east of a floor)
    - Car wrecks appear less often, but can now be dismantled.
    - Increased odds of curtains being already closed in houses.
    - Holes will be added to clothing after the check for protection, meaning 100% protection will always defend you from a bite and lowered protection from a hole will only affect future attacks. Thanks to PseudonymousEd for pointing this out. 
    - Shooting out of cars now has a more limited angle than the former 360°.
    - Player will now be unable to control the car while reloading. 
    - Reload time increased while driving.
    - Control of the car is also lost when shooting rifles, but not with pistols.
     
    Distribution changes:
    - Updated distributions.
    - Added a weightChance property, so you can try to make X spawn more than Y. Defines all the weight chance in said list (total can be over or under 100, doesn't matter).
    - Added a forceForTiles property, this'll check that a specific tile exist on this container's square to spawn items from this distribution list (ex: force something in counter under a sink).
    - Added a forceForRooms property, we'll check that a room specified in this list exists in the building of the container.
        Example: Police station has an "office" room with a desk, but we don't have ways to spawn more police themed items in their desk. 
        Simply define a new distrib PoliceOfficeDesk, and add a forceForRooms="policestorage" so if we detect a policestorage room in this building, we'll use PoliceOfficeDesk instead of a regular desk)
     
    Changes to knives:
    - If you're too close to a zombie but there's another zombie chasing you (thus not be able to do a jawstab) the character will shove instead of stabbing normally.
    - Slightly reduced movement speed while attacking with knives, similar to other weapons.
    - Reduced Hunting knife damage a tad.
     
    - Balanced some clothings Speed Reduction and Protection to be more consistent.
    - Small chance of having some house windows being left open.
    - Curtains can now spawn closed.
     
     
    MOD SUPPORT
     
    - Added outfit zombie distribution (see example in Distributions.lua). Allows modders to add items to specific zombie outfits (e.g. bigger chance of finding ammo on police zombies, etc)
        Quick example, add Outfit_ in front of the outfit name, like Outfit_Generic01 and define your loot table.
    - Added getters and setters to Recipe, Recipe.Result and Recipe.Source for mods.
    - Added a system for respawning zombies on island maps (e.g., Kingsmouth).
        Normally when respawning zombies, a random location on the edge of the map is chosen as a start location.
        The game then attempts to find a path from that start location to the chunk that zombies are respawning in.
        This doesn't work for maps that have water on all edges, since paths cannot be found through water.
        Map creators may now specify valid start locations by adding objects to the map's objects.lua file.
        The objects.lua file is normally created by WorldEd.
        These objects are rectangular areas along edges of the island indicating respawn start locations.
        These objects should be right on the edge of the land next to the water (but not in the water).
        Alternatively, these objects may be put into a file called spawnOrigins.lua in the map's directory.
        This file has the same format as objects.lua. See Kingsmouth/spawnOrigins.lua for an example.
    - Added ISLiteratureUI.SetItemHidden(fullType, hidden) function so mods can prevent items being displayed in the Training Materials ui.
     
     
    FIXES
     
    - Fixed being able to fish from swimming pools.
    - Fixed the "randomAngle" field of a VehicleZoneDistribution always being false.
    - Fixed triggering OnObjectLeftMouseButtonDown and similar events on objects that have been removed from the world.
    - Fixed long braided hairstyles not pointing to correct hairstyle.
    - Fixed belt not working as 3D item.
    - Fixed buildings having more than one table story.
    - Fixed issues adding water to and taking water from rain-collecting items on the ground.
    - Fixed aiming cursor being less visible on light backgrounds.
    - Fixed changed shader files not automatically being reloaded.
    - Fixed an infinite loop occurring when require()'ing a Lua file recursively.
    - Fixed "invalid direction" exception when a fence is broken by zombies.
    - Fixed "VanAmbulance" instead of "Base.VanAmbulance" in RVSCarCrash.
    - Tutorial: Fixed the dad zombie's eating sound not stopping after he stands up.
    - Tutorial: Fixed the player getting stuck using the Open Curtain context menu option.
    - Fixed RVSCarCrash.
    - Fixed some container types.
    - Fixed issues with automatically opening boxes of nails when doing carpentry.
    - Fixed tainted-water status of metal drums with water in them.
    - Fixed some vehicles not playing Lock/Unlock/IsLocked sounds for trunks.
    - Fixed the game hitching every second while in a vehicle until zombies are near again.
    - Fixed no sound playing when hitting objects with bare hands.
    - Fixed a multithreading issue with keyboard input. This only affected entering text, not keyboard controls while playing.
    - Fixed vehicle radio text staying onscreen after turning off the radio when not in the driver's seat.
    - Fixed the player's animation locking up when charging with a spear after a zombie is hit.
        This happened when the "Manual Floor Attack" key was the same as the "Sprint" key.
    - Fixed impact and death sound not playing when spear-charging a zombie.
    - Fixed "Place Car Battery Charger" displaying for every item clicked on
    - Fixed the "Plant Information" window not handling different font sizes.
    - Fixed bomb explosion sounds not playing.
    - Fixed the weapon swing sound not playing when using the "Smash Window" context-menu option.
    - Fixed class-cast exception in Moodle caused by HumanCorpse updating Moodles.
    - Fixed HumanCorpse update() getting called when zombie spawning is disabled, which caused a NullPointerException with Moodles.
    - Fixed overlapping disease text in the Plant Information window.
    - Fixed farming with a controller.
    - Fixed some of the excessive head movement when swinging a spear.
    - Fixed Lamp On Pillar losing it's battery and on/off state upon reloading. This raises the WorldVersion to 183.
    - Fixed rendering the isocursor and aim-outline in splitscreen.
    - Fixed the position of the vehicle dashboard in splitscreen with more than two players.
    - Fixed conditions of cooking vessels resetting the condition when adding water and rice or pasta. 
    - Fixed Welding Masks getting soaked in the rain.
    - Fixed Thick Skinned and Thin Skinned incorrectly calculating the chance to do damage from zombies.
    - Fixed being unable to remove Thin Skinned using the Player Stats debug ui.
    - Fixed Lua error after removing a trait in the Player Stats debug ui.
    - Fixed showing zero-cost traits such as Axeman as "bad" when adding traits in the Player Stats debug ui.
    - Fixed setting the Occlusion FMOD parameter to simulate the Hard Of Hearing trait, since it is now done in FMOD Studio.
    - Fixed infinite carry capacity after making rotten-strawberry salad.
    - Fixed the layout of the microwave and oven UIs with different-sized fonts.
    - Fixed Lua error wobbling the non-existent heart icon of splitscreen players.
    - Fixed endurance being reduced while holding down the Run key when not moving.
    - Fixed misplaced halves of Large Modern Oven in one orientation.
    - Fixed not being able to barricade carpentry Wooden Door.
    - Fixed the layout of ISAlarmClockDialog with larger fonts.
    - Fixed ISTabPanel:getWidthOfAllTabs() when equal tabs widths are used.
    - Fixed native-code exception when opening the Option screen. This was a bug in GLFW.glfwGetKeyName().
    - Fixed animation and sound issues when attacking zombies that are eating corpses
    - Fixed VehicleAmbiance using the wrong event name.
    - Fixed the vehicle horn continuing to play after the switch-seat ui is displayed while honking.
    - Fixed Radio items without a WorldSprite being assigned an invalid module.type.
    - Fixed duplication bug when crafting from containers.
    - Fixed not being able to make coffee and tea with the Spiffo mug.
    - Fixed hot beverage not being hot right after it is crafted.
    - Fixed hot and cold drinks not giving a happiness bonus.
    - Fixed not being able to tie a rope to player-made windows (gracias dito!)
    - Fixed ranger car siren light colour.
    - Fixed annotated map loot not always spawning when it should.
    - Fixed crash when trying to go forwards & backwards at the same time in a car.
    - Fixed Firearm Radial Menu coming up when any ISBuildingObject cursor is already displayed.
    - Fixed trying to play multiple instances of WorldAmbiance since only one is allowed.

     
    TECHNICAL
     
    - Added a bunch of performance probes to IsoCell.renderTiles to help track down the inner-most causes of the performance lagging issue.
    - New class: PerformanceProfileProbeList
        Allows us to have arrays of performance probes, suitable for profiling arrays of code blocks, like with IsoCell.renderTile layers.
    - Added a few WorldDictionary.DebugPrintItem calls to some functions to help find some mod problems
    - Moved updating some global FMOD parameters out of IsoPlayer into AmbientStreamManager.


    ________________________________________


    Additional Hotfix:

    - Fixed small clock
    - Fixed DrinkingFromBottle sound continuing forever after the action completes.
    - Fixed the Training Materials button overlapping other text with 3x font size and many traits.
  11. Like
    Ecn reacted to nolanri in Silencer / Suppressor Mod   
    Added link to steam workshop
  12. Like
    Ecn reacted to nolanri in Silencer / Suppressor Mod   
    Now gun lovers can be stealthy too!
     
    I made a Mod that just adds a Silencer / Suppressor as a weapon part that can be attached to Pistols, and Rifles.  It reduces the sound the gun makes by 90% and lowers max range slightly and slows down the fire rate by adding recoil time.

    The silencer can be found in gunstore and police station locations. Also in any crate or locker but at a much rarer rate.
     
    you can craft a home made silencer from a pipe or flashlight with saw, screwdriver and a few aiming skill points. This home made silencer does not work as well as the real one. And lowers fire rate and max range more than the real silencer as well.
     
    Download Link - Version 1.1
    Steam Workshop
     
    Though it worked fine in testing I just put it together recently and pretty quickly so let me know if you find something wrong with it and i'll get it fixed ASAP.
     
    Enjoy!
  13. Like
    Ecn got a reaction from The Good Noob in The patch 33 anticipation / theoretical gambling thread   
    More than likely it will be posted as a IWBUMS Build first and then once it becomes stable you will be able to auto download it. If you and your friends want to try it out then you will have to go here and read the top post. http://theindiestone.com/forums/index.php/topic/4183-iwbums-the-i-will-backup-my-save-branch/
     
    It has directions on how to get into the experimental build. 
  14. Like
    Ecn got a reaction from Some Clever Username in Last Stand Online Game Mode   
    I am sure this has been suggested before... A few friends and I were discussing this yesterday, so thought I would bring it up for discussion . I think it would be a really neat game type to play online (I have played it split screen and it was a ton of fun, so online would be even better)
     
    Basic Premise:
     
    The same as it is for SP/Split Screen but if people die they don't get auto kicked from the server, they become a spectator, same with people who join late to a match that is already in session.
     
    Could have it so that maps are changeable with a voting system (Like on Source engine) they would be usually small maps to make it more of a struggle and more likely for the match to end faster. Obviously everyone would have to have the maps in question.
     
    Not sure if this would work but players could maybe vote on the challenge mode, or maybe that would be based on the server.
     
    Anyway I know a whole lot of people would play this, it would expand the MP playability from just survival mode.
     
     
  15. Like
    Ecn reacted to NickTheStoner in Nick's PZ Server [Canada] [Soft RP] [PVP/PVE]   
    I'm just gonna put my IP on here. Please have a roleplay name when you join the server. THIS IS A ROLEPLAY SERVER No names like P00NSla4yer12 or any other names like that. 
     
    IP: 70.72.50.190
    Port: Default
    Server Status: Online
     
    Join our steam group to get server updates: http://steamcommunity.com/groups/nickspzserver
  16. Like
    Ecn reacted to NickTheStoner in Nick's PZ Server [Canada] [Soft RP] [PVP/PVE]   
    So this server has actually grown more then i thought it would, i can now hold 24 people. If you're looking for a good community to start RPing on, this is a good place to start. We have a great community and don't mind helping people out. Join the IP below and come have a good time
  17. Like
    Ecn got a reaction from MadDan in Released: Build 28.3   
    /roll can be used for a number of different things, basically when you type it a randomly generated number will pop up on the screen.
     
    In the MMO scene it is used for determining who gets the loot that drops. Example, say a pistol is found in a container and two people are looking at it both can type /roll and the person with the highest number gets to keep the pistol. Another thing it could be used for is say you have a group who is in need of supplies, you all /roll and the lowest number has to go on a scavenging mission while you  guys keep the base safe.
     
    Could be used for other things, but those are just two examples.
  18. Like
    Ecn got a reaction from DoctahWong in Released: Build 28.3   
    /roll can be used for a number of different things, basically when you type it a randomly generated number will pop up on the screen.
     
    In the MMO scene it is used for determining who gets the loot that drops. Example, say a pistol is found in a container and two people are looking at it both can type /roll and the person with the highest number gets to keep the pistol. Another thing it could be used for is say you have a group who is in need of supplies, you all /roll and the lowest number has to go on a scavenging mission while you  guys keep the base safe.
     
    Could be used for other things, but those are just two examples.
  19. Like
    Ecn got a reaction from nasKo in Released: Build 28.3   
    http://theindiestone.com/forums/index.php/tracker/ - report them here. The link is to the bug tracker, please don't submit bugs that have already been reported. 
     
    To get here normally (without this link) check out the very top of the forum pages that says "Tracker" click it and BAM, you are at the bug tracker.
  20. Like
    Ecn got a reaction from CaptKaspar in RELEASED Build 26   
    I did. and I almost died clearing a house because of that, brings a lot of tension back to clearing a house - so exciting!
  21. Like
    Ecn got a reaction from Cl0nec0mmand0 in RELEASED Build 26   
    French Onion Soup? mmm, now I need to go back to paris.
  22. Like
    Ecn reacted to Brannty in Multiplayer Server List   
    Might be jumping the gun on this a little... but I figured it wouldn't be a half bad idea to start a thread for public servers to be listed. Especially for those of us *cough* myself *cough* who seem to find themselves a bit lacking in the more technical aspects of setting one up. For sake of simplicity, please use the below format to advertise:
     
    Server Name:
     
    Server Typer: (PVE, PVP, RP, etc.)
     
    This is probably all the needed info for now as I would imagine most server owners are going to want to privately give out the server IP over PM. 
     
    Server Name: eliakoh's Server
    Address: 91.121.15.71 / mindescape.eu
    Server Type: PVP
  23. Like
    Ecn reacted to lemmy101 in Iso Revolution   
    Hello everyone! To save the Mondoid being a million miles long, we thought we'd post the details here and link them on the blog.
     
    So we've made some big changes to the rendering engine. While the effects of this change may be somewhat subtle in the short term, it will have dramatic effects to the future of the game, and opens up many many exciting doors that were previously closed to us.
     
    Last Wednesday, we were concerned to discover the game’s memory usage had once again bloated to the point the game would no longer function on many lower end PCs. We had one more quite dramatic card up our sleeve. As is usually the case, necessity is the mother of invention, or rather necessity made us do something rather dramatic that we’ve wanted to do for a long long while, and while the timing of such upheaval couldn’t have been worse, now we’re at the back end of it and everything looks set to work smoothly, we’re immensely happy and excited to be able to share.
     
    To explain, and since the Isometric blog post we wrote way way back in time (with now defunct missing images due to the various server moves over the past few years) we’re going to have a revisit to the subject. The TL;DR version is on the blog here.
     
    THE GENESIS OF ZOMBOID
     
    As many who have been around since the start may know, while Zomboid is a game we’d wanted to do for many years, as an actual project it was born out of myself and Binky realising we couldn’t afford to pay the rent on the flat, and panickedly having to get something out there with a rather pleading blog post and paypal button. This was in a time before Kickstarter was a ‘thing’ in terms of game development, and inspired by what Minecraft showed was possible, we figured it would be our best shot at keeping the landlord at bay.
     
    The decision to make the game isometric came from a few angles. One, we realised that with a topdown 2D perspective would mean making zombies visible at windows would be really difficult. Secondly was a certain obsession with XCOM and the ambition to make something that had a similar look. Thirdly, we found this awesome program http://www.mapeditor.org/, Tiled, that would one day be taken and expanded in exciting ways by the awesome EasyPickins.
     
    In its basic form, Tiled supported the isometric perspective. So we started making a few isometric tiles that we could use to construct maps in Tiled. This is what we ended up with:
     

     
    As you can see, the tiles have been drawn directly in a faked iso perspective, so when they are assembled, they create the illusion of a 3D. This fit our needs perfectly, and meant we could get a working isometric engine up and running in a matter of days. Within a few more days, we had a basic prototype of character running around being hunted by zombies:
    http://www.youtube.com/watch?v=dg2zpd747FA
     
    Tiled was key to getting stuff where it was so quickly. Writing an entire map editor and not getting the game up and running ASAP was not really an option.
     
    Of course, alpha-funding being what it is, the momentum is always behind you to get results, and we had no idea where Zomboid would one day end up. Smooth character animation, real-time lighting of the world, and many thousands of tiles. Also in our naivety to Java, OpenGL and engine development in general, as well as the degradative effect of the pressure to make visible strides forward, or of course all the roadblocks that lay ahead of us, we didn’t then realise how much trouble this would cause us later down the road.
     
    THE PROBLEMS
     
    2D doesn’t always mean ‘fast’. Our assumption at the time, just like everyone who has ever complained of the FPS of Zomboid with comparisons to Crysis or Left4Dead, that drawing a few low resolution sprites on the screen for walls, floors and zombies, would never lead to issues with performance. However, we didn’t realise at the time quite what a nightmare the isometric perspective is when approached this way.
     
    First of all, if you look at those walls again, you can see quite how wasteful they are in principle.
     

     
    That’s one set of walls, and there is a lot of repetition there. Also, because of the iso perspective, it means there is a ton of wasted blank space around those walls. While when you’re dealing with one or two set of walls this doesn’t seem like an issue, once you’re dealing with 50 sets, or 100 sets, or 200 sets of walls, suddenly that begins to bloat. Same with the floors.
     
    Second comes the problem with the isometric draw order. Imagine you have a deck of cards, and place them around on the surface of a table. Each card will end up obscuring cards under them, and this is the principle of drawing 2D scenes. You draw the stuff furthest away first, then progressively draw stuff closer and closer to the ‘camera’ until you’ve drawn everything. This will ensure that everything appears correctly, and you don’t see objects that should be obscured by walls.
     
    Draw order in top down 2D games generally isn’t that big a deal. If you look at Dwarf Fortress, for example:
     

     
    Nothing overlaps, so it makes no difference what order any of those tiles are drawn. The only time it matters is if one tile is on top of another, a character stood on top of an object for example.
     
    For this reason, 2D games can usually sort their drawing into any order they like, and end up with the same scene.
     
    Other perspectives, such as the orthographic viewpoint used in RPG Maker style games, have the requirement that stuff be drawn back to front, but again, like our game, they tend to have rather small requirements when it comes to rendering (assuming of course PC and not a mobile device with very limited rendering speed)
     
    What we had is literally the worst of all worlds. Not only does stuff have to be drawn back to front, but also side to side. And then down to up. We might have a screen in 1920x1080 where the player can see thousands of tiles, and all of them, even the characters on the tiles, have to be drawn in a very strict order, otherwise it all falls apart.
     
    This would be okay, if graphics cards didn’t suck so badly at doing this.
     
    The key issue is that graphics cards deal best with doing ‘a bunch of similar stuff’. They can do ‘a bunch of similar stuff’ very very fast indeed, but as soon as you get into the realm of them doing ‘lots of individual different things’ they perform woefully bad, to the point that (setting aside java, a small development team and limited time)  a 2D isometric game like Zomboid can have severe bottlenecks that a much grander and more impressive 3D game would not.
     
    Imagine Far Cry 3, for example, in the midst of a jungle scene. It would be crazy to suggest for a second that Zomboid had more on its plate to deal with than Far Cry 3 graphically, so the assumption is that if Far Cry 3 runs well on your machine, then it’s shockingly poor of Zomboid to have even a slight hiccup.
     
    However, 3D games have a few tricks up their sleeves which give them huge advantages.
     
    So we have a jungle scene, and logic would suggest that, like I have described, you would need to draw everything from furthest away to closest, so that you don’t draw a tiny distant radio tower over a tree right next to the player.
     
    In this case it would involve a very very intensive sort, taking everything in the world and ordering it by distance. On top of that, as I said, graphic cards deal very well with drawing ‘lots of the same kinda stuff’ and very badly at drawing ‘individual different stuff’. So drawing a radio tower, then a bit of hill, then a tree trunk, then a leaf, then a branch, then a fence, then a branch, then a leaf, then a tree trunk, would leave even the most powerful PCs in the world crawling at less than 1FPS.
     
    Z-BUFFER
     
    However this is not necessary due to something called a ‘z-buffer’. A z-buffer, or depth buffer, is like an invisible canvas on which the graphic card automatically draws to as it draws anything in the scene. Imagine it is a greyscale black to white image. Every pixel it draws in the screen, it will also draw a value into the z-buffer where stuff far away is black, and stuff right next to the camera is white. Or vice versa, it’s not really a colour, this is just to ease visualisation.
     
    Then when it draws another thing, it can test the value in the z buffer for each pixel it tries to draw, and if the value in the buffer shows what is there is already closer than the thing you’re drawing, then it simply ignores that pixel. As such, this allows you to draw the scene in pretty much any order you like, and it will magically construct itself in back to front. It’s frightfully clever.
     
    As such, you can leverage the ‘same kinda stuff’ power of the video card, and perhaps draw every single leaf in the scene first, all using the leaf texture and perhaps the leaf 3D geometry. Then you could draw all the tree trunks, then all the branches, then all the ground, then all the radio towers, then all the characters, and then all the birds. As such you can basically send a massive list of things to the graphic card that it can burn through at a magically impressive pace, instead of sending individual things, one by one.. And so you get super fast drawing and much faster FPS.
     
    So therein lay the problem for Zomboid. While technically it is perfectly possible to use z-buffers on 2D games, due to the nature of the engine, the tiles, and everything else this was never an option for us. As such drawing the world is ‘draw a wall, draw a fridge, draw a floor, draw a wall, draw a zombie, draw a wall. And this took a heavy toll on the best case speed we could ever strive for.
     
    Add onto that the smooth lighting. I think everyone will agree the emersion and graphical improvement of the smooth lighting adds a lot to the game, but it massively exacerbated our problem. 3D games do lighting via tinting each vertex of a 3D model to different colours (actually this is not strictly true, lighting has moved on dramatically and is more likely to use shaders and normal maps and things these days, but this is certainly how all 3D games used to do it) however due to our isometric tiles being ‘faked’ by being drawn by the artist directly in the isometric perspective, we never have the corner vertices to do the lighting this way.
     
    Instead, we had to draw a polygon over the top of the unlit tiles, using something called a blend mode (basically changing the way the texture is drawn to do funky effects not unlike photoshop blend modes for example). The state changes required to change blend modes, as well as the fact that these had to be drawn immediately after the wall / floor piece, and then the blend mode being switched BACK to draw the next tile, only served to make the problem worse.
     
    And at the same time, the memory requirements for the graphic cards increased and increased, due to the increasing numbers of tiles, and the smooth character animations. The price of progress, huh?
     
    TEXTURE SPACE
     
    Then came surprise number 2. It turned out many lower end graphic cards, particularly integrated cards such as our (now nemesis) Intel, either did not have any dedicated memory of their own, or worse did but still for some reason required that they mirrored the contents of that memory within the main memory of the PC. Worse still, that used memory would be within the same process as the game, and on 32bit systems particularly, there is a limit to how much memory each process can use before it bombs out with an out of memory error.
     
    This struck a few months back and took us a while to track down, and was a rather worrying moment when we realised quite how much memory the characters and tiles were using, and how that memory had been masked by most graphic cards taking care of it in their own internal memory chips.
     
    The most obvious answer to remedy this problem would seem to be ‘make them all jpegs’ or something, however the problem is that the actual file format is not at all relevant in this case, since whatever format the texture is stored as on a hard disc, once it gets into opengl memory it’s the very same 32bit RGBA texture. However, there is one compression format that pretty much any graphic card these days support. S3 Texture Compression (S3TC). It’s used very heavily in games, or at least was when we were making PS2/XBox games. DXT textures, while bigger on your hard drive than a PNG or JPEG, can be loaded into openGL in their compressed format, and even drawn directly in their compressed format, so take up much less space in memory (potentially a 16th). However, like MP3s or JPEGs, it is a ‘lossy’ format, which means the quality of the texture is irreparably reduced by the compression.
     
    For something like a 1024x1024 dirt texture, this is annoying but more or less trivial, since the artifacts would barely be noticeable unless you had the textures side by side (though I’m sure most texture artists would strongly disagree). On a small sprite, this is another thing altogether, so we didn’t really think this was an option.
     
    Even so, we attempted to compress all the character sprites with DXT5 and, somehow, remarkably, the results weren’t bad at all. There was a very noticeable drop in their quality, but we totally got away with it and to this day haven’t read one comment pointing this out. Furthermore we shrank the total size of the character textures to about a fifth. That was a good day.
     
    However, due to the frequent complaints about the FPS of the game, and knowing the limitations imposed upon us we’ve described, we’d started to run out of ways to dramatically speed up the game, and with more features being added, more tiles, more things for the game to deal with, the problem was only going to get worse. Profilers (special programs that let you measure how much time is being spent in every part of the code) were yielding less and less ways to speed the game up, beyond caching things.
     
    Caching in terms of optimization basically involves creating extra data in memory to save you repeatedly redoing the same CPU expensive things, and as you might guess, these kind of optimizations may speed the game up, but also take it’s toll on the memory. The two things are entwined, and once you’ve sped up all the inefficient code you can, its hard to make any savings without bloating the memory requirements. An eternal tug of war ensues.
     
    In the meantime with West Point under construction, crawling zombies, and various other things then memory starts creeping back up. Of course it creeps up to pretty safe levels on most machines, but then in the frantic climb up Steam mountain it’s easy to miss that malicious demon sneaking back in. So we got to last Wednesday, when it became apparent that the test team members with problem GPUs were having problems with the game again.
     
    So we whip out the S3TC again, this time our target is the tile sprites. We push them through, and have a look at the file size. Hurrah! We’ve done it again, DXT to the rescue. The Shadows are gone and will not return for another 1000 years.
     
    Then we run the game, run around and wonder what all those blotches are around the world, and the colour drains from our faces. To make sure, we load the DDS files and look at them.
     

     
    Oh no, what are those? They aren’t supposed to be there!
     
    Looking through more and more files and it only gets worse, and we realise what a colossal fluke it was getting away with compressing the character sprites. Massive blocks of colour, horrible lighting artifacts. In a game where we had just reintroduced zoom back into the game, they were just awful to the point of being unusable.
     
    So there we are, in a Newcastle centre coffee shop, at a mass mocha/latte quaffing session of the Indie Stone crisis management panel: Lemmy and Binky rolling off ideas on new ways to lower the memory usage of the game.
     
    “We could always….?”
     
    “What?”
     
    “You know what. Is this the time to do it?”
     
    “My God, you can’t possibly mean… but we’re dialing up for Steam, now is not the time.”
     
    “Now is exactly the time.”
     
    And so we made some rather dramatic steps, or rather we decided to explore the possibility of doing something we’ve wanted to do for about a year and a half but were too scared to entertain the possibility.
     
    Ladies and Gentlemen, say goodbye to the walls of yesteryear.
     

     
    ...and say hello to the walls of the future:
     

     
    So we went back to our prospective PCs, and Binky cracked out C# and tackled the projection of the iso tiles into 3D (which frankly hurt my brain to even think about) as well as developing a tool that would automatically convert every floor and wall into flat textures. Meanwhile I set about adding support into the PZ engine to render 3D polygons in an iso perspective, and creating a system for ‘prefabs’ to allow us to make walls, windows and doors with any of those textures, and for those to be automatically created from the isometric tile data.
     
    Yes, in a rather remarkably sudden move, Project Zomboid is now, TECHNICALLY, in 3D. Madness!
     
    BUT WAIT, THIS DOESN’T MEAN WHAT YOU THINK IT DOES.
     
    It’s worth putting that as a header by itself. You are NOT going to get a first person view, and you are NOT going to get a rotatable world. This can’t be expressed strongly enough.
     
    We still have hundreds of fridges, sofas, cabinets, trees, characters all in bonafide 2D with fake isometric drawn directly into the tiles. This isn’t going to change (though who knows for the next game in the PZ engine, or perhaps post-multiplayer, years down the line, we’ll get some hair brained ambition to do it, so it’s always a tantalising possibility where prior was a literal impossibility)
     
    However, in very real terms, the PZ you will see from the next version going forward, is doing all the same things a 3D game does. The only difference is it’ll have a cast-iron fixed isometric orthographic viewport of the 3D world, so all the furniture, trees, tall grass and characters, still in 2D, can be drawn into the world as pixel perfect camera facing billboards and match the perspective perfectly.
     
    SO WHAT DOES THIS MEAN?
     
    It means many things.
     
    - Primarily, it means that if you compare the two different sets of walls above in terms of space, a single 1024x1024 texture will now be able to hold every single wall, floor, wall overlay and floor overlay in the entire game onto one single texture, with room to spare. For each single texture, we could perhaps get another 200 different wall designs, Instead of, perhaps 5-10. This is obviously huge in term of memory saving.
     
    - Just as primarily, it also means that we can finally use a z-buffer in our game. We therefore are no longer confined to the isometric draw order, the single most wasteful and restrictive thing we’ve had to deal with since day 1. We could draw every wall visible on-screen, all at once. Then we could draw all the zombie hairs, then all the clothes, then all the furniture. In any order we like. The potential difference this will make to our FPS is, hopefully, the most significant optimization we could make to the game, and dwarfs everything we’ve been able to do before. We suddenly have every tool in the 3D toolbox available to all those games doing a lot more intensive stuff than we are. We’re free, liberated finally, and it feels gooooooood.
     
    It should be noted however, that these FPS savings may not come straight away. It will be gradual. We still have a version to get out, and Steam to get ourselves on, and so our first implementation of this will unlikely get the full benefit, and will likely offset the FPS increase with sufficient slowdowns in the immature first version of the system. Don’t expect huge things straight away. However, now finally there is a whole pile of things we could do that could have a dramatic effect, instead of us having to claw back little bits here and there with one giant immovable bottleneck.
     
    We would have done this sooner, but please understand that this was a bold move that we only dared tackle now of all times because we felt we had no alternative, and we could have gotten a few days into it and discovered another month of work ahead to get it finished. If that was the case we’d have had to find a plan B, and we’re immensely glad that won’t be necessary, since it’s difficult to imagine what that plan B could have possibly been. However, the last hurdle in the ‘is this even possible?’ category is behind us, and while it may delay the release a bit further (we’re talking days, or a week, or a couple if we’re dramatically unlucky, and not weeks or months)
     
    So if memory savings, and FPS aren’t exciting to you, here is an insight into those ‘new doors opened’ beyond that. Things that were not possible but now are. Please note some, or all of these, may not appear for months or even years from now, and some may be trivial to add in the short term, and this is just an indication of what is now on the table.
     
    - Cutaway walls. Yes. Sims style cutaway walls becomes trivial, and is a certain addition in the near future. As a bonus this means no more reliance on the stencil buffer, which means lower end users may be able to play the screen with smooth lighting, shaders, split screen and zoom, where they were once unable to.
     
    - Terrain heightmap and freeform texturing. Imagine running through the wilderness over hills and into ditches, falling off cliffs, digging the ground out for construction, natural cave systems. We’re no longer shackled to the isometric flatness and 90 degree roads. The potential for making the wilderness an infinitely more exciting place to be is very exciting.
     
    - Proper lighting - Imagine shining a flashlight around a room and seeing the light on the wall, the filament of the bulb, seeing the tall shadow of a zombies cast through a backlit doorway.
     
    - Fog / Particles - The iso walls always had the potential to make particles clip through the walls in an ugly way without the zbuffer. Now we could use 3D fogging on the map, as well as look into more atmospheric particle effects, think of ground hugging fog drifting about the place.
×
×
  • Create New...