zerok-rts / zero-k Goto Github PK
View Code? Open in Web Editor NEWOpen source RTS game running on the Spring/Recoil engine
Home Page: https://zero-k.info
License: GNU General Public License v2.0
Open source RTS game running on the Spring/Recoil engine
Home Page: https://zero-k.info
License: GNU General Public License v2.0
happens at start for me:
[f=0000000] Error: 2, gamedata/defs.lua, [string "gamedata/defs.lua"]:38: [string "gamedata/defs.lua"]:26: error = 2, gamedata/unitDefs.lua, error = 2, gamedata/unitdefs_post.lua, [string "gamedata/unitdefs_post.lua"]:160: attempt to compare number with nil
to reproduce use Spring 97.0.1-179-g1477326 develop, start spring & click test game on map DeltaSiegeDGun.
regardingless of that lua error message, maxvelocity is deprecated:
In this replay http://zero-k.info/Battles/Detail/285752 at 4:50 into the game watch the terraform progress next to my dying commander (comm name "Urist McEco"). The terraform command 'Level' was used to dig a hole. When the commander died while building the terraform, the hole suddenly turned into a (guessing) ~200 elmo high spike/pillar. The slope was steeper than usual, perhaps even a 90° incline.
When a spectator joins the game at a later time then their ingame chat messages are not displayed in the lobby by Springiee.
Example:
see http://springrts.com/mantis/view.php?id=4452 and
https://github.com/ZeroK-RTS/Zero-K/blob/master/LuaRules/Gadgets/unit_attributes.lua
is it needed at all?
if its still needed, it should set turnFactor > 0 (!!!)
Replay: http://zero-k.info/Battles/Detail/268697
Five occurences around 14 minutes into the game
Frames 0024995, 0024996, 0025000, 0025001, 0025005
Error message:
Error: LuaRules::RunCallIn: error = 2, UnitDamaged, [string "LuaRules/Gadgets/unit_repair_speed.lua"]:56: bad argument #-1 to 'spAreTeamsAllied' (number expected, got nil)
stack traceback:
[C]: in function 'spAreTeamsAllied'
[string "LuaRules/Gadgets/unit_repair_speed.lua"]:56: in function 'UnitDamaged'
[string "LuaRules/gadgets.lua"]:1532: in function <[string "LuaRules/gadgets.lua"]:1512>
(tail call): ?
leading to
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
[15:25] ice2458 !start
(or any button for that matter)
Currently assumes `~ key for drawing tools tooltip.
To reproduce:
When dropping its bomb the Raven will start to fly at high altitude. This will continue until the dive mode is set again, even after refuel/rearm.
Air repair/rearm pads repair units at full speed while slowed and disarmed. They also repair at full speed even when in-repair units have taken damage recently (in-combat repair speed should be 1/2x while out-of-combat repair speed is 2x).
DOES NOT happen while emped.
Geo is unbuildable underwater. Of course one could Terraform those, but the point of Geo is to be efficient and wasting hundreds of metal on terra breaks this somewhat.
Also, underwater Geos would be more elegant visually than ugly concrete platforms.
In default size/settings, selection window "shows" extra 2 icons below standard set, those two icons are only partially visible near bottom of the widget (like 3-5 pixels high).
When more icons appear, it compacts them into collapsed lists.
Correct behavior would be to collapse 2 icons earlier when there is no space for them
Googlefrog's shield-link use random chance to initiate charge transfer. This mean: if you attach a shieldfelon to a bunch of (eg: 9) closely packed corthud, the corthud have 9/10 (90%) chance to loop charge among themselves, and only 1/10 (10%) chance to share with the shieldfelon .
This is at odd with the manual, which says:
"The Felon draws energy from its shield, discharging it in accurate bursts. Link it to other shields to increase its rate of fire"
Negative implication:
-shieldfelon blob will be nerfed, because its charge rate can't go above single-link charge rate.
-shieldfelon unintuitively get charging boost when connected to a shield that is not connected to any other shield.
It allows for at least 2 exploits:
Morph disregards slowdamage and doesn't carry it over for the new unit; it also disregards Disarm and EMP (for combat morphs; unit morphs have EMP cleanse and full immunity), though it does carry these over. Like said, it also disregards being reclaimed. Transports picking morphing units up pause the morph; getting unloaded cancels non-combat morphs without a refund. Using the air trans drop feature, morph gets stuck, does not advance, and the morph cannot be cancelled in any way (including picking it up again and unloading).
Also, morph availability and paths are somewhat arbitrary.
Reported by RyMarq http://zero-k.info/Battles/Detail/273331. Firewalker block jump factory twice after being built.
At minute ~10 it just stuck and can't move.
At end of game, (around minute 13), it stuck and can't move and another unit is built inside it.
No oddity seen in "/debugcolvol" view
When Slashers target high (flying air) units they do this http://i.imgur.com/AQVDxvc.jpg and the weapon apparently has a high chance of being positioned below the surface, causing missiles fired from this point to collide with the ground.
To reproduce:
When arriving at the target location the Raven will NOT land, it will continue flying straight and ignore any further move commands.
As soon as the bomber changes flight height - either because of uneven terrain, or because the "always fly low" state was changed - the bomber will stop ignoring orders and function properly again.
These two things are now slow and I have no idea what the chicken gadget does so I did not remove them when I fixed the other gadgets.
The layout of the numbers and bars seems to work well. I have not tried in game though but the balance bar looks useful too.
The storage numbers should never be coloured. In the context of the resource bar the red colour means pull. I want to be able to glance at the red numbers to see my pull without being distracted by my storage.
Reserve is hard to set accurately. The small storage bars are hard to click on. The main issue is that I could not set a reserve of zero.
The UI element has a fixed size. It should be resizable in tweak mode.
The increase/decrease arrows on the storage bars have some consistency problems. I had the metal increase arrow flash on periodically with higher pull than income.
The tooltips for the 4 main numbers need improvement. For example metal pull says this is the demand of your construction but it is also the demand of morph and stockpile. The energy pull tooltip says it is the demand of economy instead of using the word construction. Instead of trying to list all the demands it may be better to say "This is the total metal demand of your economy" and "this is this total energy demand of your economy and abilities which require energy upkeep".
Now that the storage bars are smaller the flashing may need to be more obvious to gain peoples attention. The bars could also be fatter, I don't see much of a problem with this. They would just look more like buckets.
Obviously the arrow graphics are placeholders. The center indicator will have to be able to stretch.
http://zero-k.info/Battles/Detail/279722
[f=0019039] Error: LuaRules::RunCallIn: error = 2, GameFrame, [string "LuaRules/Gadgets/unit_carrier_drones.lua"]:179: [string "LuaRules/Gadgets/unit_carrier_drones.lua"]:296: attempt to perform arithmetic on local 'dy' (a nil value)
stack traceback:
[C]: in function 'assert'
[string "LuaRules/Gadgets/unit_carrier_drones.lua"]:179: in function 'UpdateCoroutines'
[string "LuaRules/Gadgets/unit_carrier_drones.lua"]:537: in function 'GameFrame'
[string "LuaRules/gadgets.lua"]:1004: in function <[string "LuaRules/gadgets.lua"]:1002>
(tail call): ?
This happens for many different units, examples: Reaper, Leveler, Zeus. Warrior, ...
Give them a direct attack command on an LLT, HLT (and maybe other defensive structures as well) and they go back and forth, do circles and similar things. More often than not they end up moving away too far and being unable to attack.
Not sure if it's the same issue, but I think I remember Raiders occasionally dancing around Fusions, Singularities and similar. This can sometimes be extremely annoying when trying to place raiders in a spot behind buildings that is safe from enemy defensive structures.
Instead of this weird behavior units should be standing still and firing at the towers. At most Glaives and other fast units should try dancing around HLTs to dodge shots, but even that might have negative consequences.
The aim of the commit was only to add random-linking, but all the other stuff changed/added just increase its cost considerably.
In my opinion is better to use old architecture and add the desired random linking as addon.
Here's my profile result:
Other link: http://i515.photobucket.com/albums/t355/xponen/Shieldlinkspeed.jpg
How to reproduce:
Land a damaged air unit on an air repair pad. It now consumes 2.5 energy per second. Before its fully repaired, order it to lift off the pad. It still consumes 2.5 energy per second even though it should be 0 now.
Landing the unit on an air repair pad again and waiting for repairs to complete resets energy consumption to 0. Completing repairs while outside the pad does not reset energy consumption.
This issue existed to test github issues -> ircbridge -> #zkdev issues reporting.
Leviathan (cornukesub) wreckage uses corssub_dead.3do model which is the exact model of Leviathan wreckage from TA:CC.
It can overlap with itself
http://i.imgur.com/WH01elC.png
Crash on team game the moment a rocket from a commander was about to hit and destroy a solar.
Attached Infolog
http://pastebin.com/LitA6jye
Map: Green Comet Basic
Spring Version: 91.0
ZK Version: 1.2.8.17
Issue:
CAI placed LV factory near lumpy ground, once built majority of vehicles were clustered for a while
Game Replay and Info
http://zero-k.info/Battles/Detail/288635
After restart with narrow map, map window and map aspect ratio are off. You need to enable and dsiable this checkbox again in settings.
KingRaptor changed carrier drones in master when there was already a change in balance. It conflicts.
It seems that the overdrive gadget will break if too much energy is on the grid. This will likely not happen in real games, but it seems like around +25000e/s or +600m/s or something similarly huge and the gadget breaks with the error:
[f=0011489] Error: LuaRules::RunCallIn: error = 2, GameFrame, [Internal Lua error: Call failure] [string "LuaRules/Gadgets/unit_mex_overdrive.lua"]:380: attempt to perform arithmetic on local 'orgMetal' (a nil value)
stack traceback:
[string "LuaRules/Gadgets/unit_mex_overdrive.lua"]:380: in function 'AddPylonToGrid'
[string "LuaRules/Gadgets/unit_mex_overdrive.lua"]:646: in function 'AddPylonsInQueueToGrid'
[string "LuaRules/Gadgets/unit_mex_overdrive.lua"]:904: in function 'GameFrame'
[string "LuaRules/gadgets.lua"]:1004: in function <[string "LuaRules/gadgets.lua"]:1002>
(tail call): ?
Using Engine version 97.0.1-258, latest Zero-K from Git
I was in this game: http://zero-k.info/Battles/Detail/273567 , Lightman's bomber (corshad) seems to not drop bomb on a DDM on a hill (which protected by Shield)
I don't remember the ingame time. Maybe will re-watch later. (its mid game)
Randomized shield link is too stupid, it have high chance to not transfer charge at all (because other unit is full) and spend too much time transfer charge back & forth (because it choose almost full unit).
I raised the issue here: #88
Why do we have to nerf shield-link to nerf Felon? just nerf Felon directly.
Suggestion:
I'm thinking we can force shield unit to remember previous link to avoid back&forth case. I have tried with the idea of checking for neighbour with lowest charge but that is too expensive.
(imo) this should be a warning, not an error!
One idea, we could make an exit vote appear when there's desync. If it's voted down, bring it back every 2 minutes.
Start two projects, leave one on normal, put other on low priority.
Even when you stall you still get progress on low priority..
Normal should completely block low priority.
Best seen for example with moho geo morph + something on low prio.
This used to work properly in the past
EMP works on max HP. Disarm works on current HP.
EMP applies Disarm damage based on current HP if the unit already has disarm>emp, else based on max.
Example:
a unit with 1000 / 1000 HP gets 100 EMP damage. It has 10% EMP and the implied 10% Disarm.
a unit with 100 / 1000 HP gets 100 EMP damage. It has 10% EMP and the implied 10% Disarm.
a unit with 1000 / 1000HP gets 100 disarm damage. It has 10% Disarm. It then gets 100 EMP. It now has 10% EMP and 20% Disarm.
a unit with 100 / 1000HP gets 100 disarm damage. It has 100% Disarm. It then gets 100 EMP. It now has 10% EMP and 200% Disarm.
Stunned, Disarmed and Slowed air repair pads still work at 100% efficiency.
Slowed bombers repair/refuel at 100% speed.
Disarmed bombers do not refuel but keep the E usage.
[1:39:44 AM] Licho i guess incomplete/buggy irc implementation
[1:39:53 AM] maybe after xponen tried to fix formatting ?
[1:39:53 AM] Anarchid it's fairly gebork in SWL too
[1:40:02 AM] looks like 13Zero-k 15Licho1 etc
[1:40:04 AM] Licho because im pretty sure IRC worked fine
[1:40:08 AM] because this is IRC chat control
[1:40:25 AM] Anarchid hmmm
[1:40:28 AM] maybe those are colors?
[1:40:29 AM] Licho will need to test with pre xponen version
[1:40:32 AM] yeah colors
[1:40:39 AM] \13z
[1:40:41 AM] xponen what did I do
[1:40:42 AM] Anarchid does spring lobby support colors?
The teleportation progress of units by Djinn does not reset to 0% when Djinn is loaded onto a transporter.
To exploit:
Build a Djinn, plop a beacon
Give Detriment a teleport order
When teleport progress reaches 90%, pick up Djinn with a Valkyrie
Send Valk into enemy base and drop Djinn
Detriment will arrive almost instantly!
If a plane (or gunship in dev engine) is lightly killed it will crash. Then it rams into the ground and takes a lot of damage which causes it to drop debris. This is inconsistent because lightly killing units usually leaves death clones. Fixing this is a matter of changing the death in the LUS to detect whether the unit is crashing and if so use the un-overkilled death.
Crawling bombs can still explode, both manually and by themselves on fire at will (and everything else using manual self-D)
Based on http://zero-k.info/Forum/Thread/8884:
Make a list of locked units in gadget and site DB. These unit unlocks require 0 XP and are automatically unlocked when a player reaches the needed level.
All Springies set "enable unlock system" modoption to false, except TEAMS: All Welcome and SMALL TEAMS: All Welcome.
Proposed unlock list:
Level 2: Amph fac, gunship fac
Level 3: Jumpjet fac, adv radar, storage
Level 4: Plane fac, missile silo, DDM
Level 5: Strider hub, Annihilator, Singularity Reactor
Level 6: Behemoth, Krow
Level 7: Big Bertha
Level 8: Silencer
Level 9: Bantha
Level 10: Detriment, Zenith, Starlight, DRP
http://zero-k.info/Battles/Detail/270013
The effect occurs in this game.
looks like felon was not recharging even if there was 4-5 charged mobile shields very near: http://zero-k.info/Battles/Detail/279201
Look at shield ball at end of replay.
The death clone of Brawler is sideways to the direction that it was facing in life. This makes it look silly when it dies.
Currently the drawing in the three gadgets mentioned sends information through _G. This could easily be replaced with a unitRulesParam.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.