Tower Defense Evolution - Pure Kills System


Pure tower defense: progress by killing biters, dense nest placement, periodic waves with bosses, Master Ammo Chest system. No pollution attacks, only evolution.

Overhaul
2 months ago
2.0
580
Combat Environment

g Next patch and fixes in arround 1 or 2 weeks

2 months ago

Sorry to deliver this news, and I'm happy that some people are into the mod, due to my studies I'm unable to progress more right now, i have some tests next week and ill put my time into calculus 2, waves and other subjects

Im currently changing how science will work, the token system was really hard to fix and had some nasty bugs, so i decided that at the start of the game there will be a nucleus or central structure where this tokens will appear and you have to move them to the science labs to be able to research, this will just fix right away the current tech unlock system that i tried to create, and well as a traditional tower defense i think that this new structure would be the central part of the base and if its gets destroyed will be a game over.

If anyone has any suggestions or ideas please leave them in the comments below or dm me on discord!

and sorry that i have to make you wait for a patch that fixes the tech thing, but i need to attend my academic responsibilities

2 months ago

well i lied, i didn't want you guys to wait 2 weeks to play, so i made a quick version of the new systems and it kind of works better than the old one, also i know that there are some bugs like the base heart is invisible and the tech does not scale and stays cheap always, but that would do for now i guess, enjoy the working version for now until i fix this details

2 months ago

Hey! This mod looks really cool. I look forward to trying it out!
May I suggest adding compatibility with Entrenched Enemies - I run a small YouTube channel where I review Factorio mods https://youtu.be/3HNkl-Bqk0E?si=3mSdmllpXhseQWfV and did a video on the mod. Long story short quality biters.
And I would love to do a video on this mod too, when I get the chance to sit down with it :-D

2 months ago

So I added a nice GUI to show some stuff https://ibb.co/5hSN5H8F

Code:
"
-- Create the countdown label for a player (e.g., when they join or mod initializes)
function create_tde_info_gui(player)

if player.gui.left.tde_info_frame then
player.gui.left.tde_info_frame.destroy()
end

local frame = player.gui.left.add{
type = "frame",
name = "tde_info_frame",
caption = "⚔ TDE Status",
direction = "vertical"
}

frame.style.font = "default-bold"
frame.style.minimal_width = 200

frame.add{type = "label", name = "wave_timer_label", caption = "Next wave in: 60s"}
frame.add{type = "label", name = "current_wave_label", caption = "Current wave: 1"}
frame.add{type = "label", name = "next_boss_label", caption = string.format("Next boss in: %d waves", 10)}
frame.add{type = "label", name = "kill_count_label", caption = "Kills: 0"}
frame.add{type = "label", name = "research_count_label", caption = "Research: 0"}

-- Check if it already exists, remove if so (optional)
if player.gui.top.tde_wave_timer then
player.gui.top.tde_wave_timer.destroy()
end
end

function update_tde_info_gui(player) -- Updating GUI
local frame = player.gui.left.tde_info_frame
if not frame then return end

-- Wave countdown logic (your original)
local _, next_wave_tick = tde_calculate_wave_state()
local remaining = next_wave_tick - game.tick
local minutes = math.floor(remaining / 3600)
local seconds = math.floor((remaining % 3600) / 60)
local countdown = (remaining > 0)
and string.format("Next wave in: %02d:%02d", minutes, seconds)
or "⚠️ Wave arriving!"

local waves_since_last_boss = global.tde.wave_count % BOSS_EVERY
local waves_until_next_boss = BOSS_EVERY - waves_since_last_boss
if waves_until_next_boss == BOSS_EVERY then
waves_until_next_boss = 0 -- We're on a boss wave
frame.next_boss_label.caption = string.format("Next boss in: ⚠️ BOSS WAVE ⚠️")
else
frame.next_boss_label.caption = string.format("Next boss in: %d waves", waves_until_next_boss)
end

-- Update GUI labels
frame.wave_timer_label.caption = countdown
frame.current_wave_label.caption = "Current wave: " .. tostring(global.tde.wave_count or 0)
frame.kill_count_label.caption = "Kills: " .. tostring(global.tde.total_kills or 0)
frame.research_count_label.caption = "Research: " .. tostring(global.tde.research_count or 0)
end

"

Then added to init, player join, create and the update in the nth tick - nth I did a % 60 to ensure it updates once per second - I know it should only run once per 60 tick, but I like doing that :p
"
if event.tick % 60 == 0 then
for _, player in pairs(game.connected_players) do
update_tde_info_gui(player)
end
end
"
here's the example on player created
"
if player then
create_tde_info_gui(player)
end
"

I got the tech work, and some stuff in the bug post I made

2 months ago
(updated 2 months ago)

Added an image so it wasnt just invisible: https://ibb.co/21zvCqCV
- changed that later, but just an example

The issue your having with no image is that your copying an entity of unit-spawner, but a container uses picture not graphic set :p

2 months ago

Hey! This mod looks really cool. I look forward to trying it out!
May I suggest adding compatibility with Entrenched Enemies - I run a small YouTube channel where I review Factorio mods https://youtu.be/3HNkl-Bqk0E?si=3mSdmllpXhseQWfV and did a video on the mod. Long story short quality biters.
And I would love to do a video on this mod too, when I get the chance to sit down with it :-D

Hey! Now feel free to upload a video with the latest version of the mod! I'm comfortable with how it works now, and yeah, please share; the attention from your video would be amazing. That way I can improve, implement, or add things in later updates. Just mention that I created the mod for the community, and anyone can send me modifications or suggestions, and feedback would be really amazing, and I'll create a Discord for the mod if it gets big enough.

2 months ago

Hey! This mod looks really cool. I look forward to trying it out!
May I suggest adding compatibility with Entrenched Enemies - I run a small YouTube channel where I review Factorio mods https://youtu.be/3HNkl-Bqk0E?si=3mSdmllpXhseQWfV and did a video on the mod. Long story short quality biters.
And I would love to do a video on this mod too, when I get the chance to sit down with it :-D

Hey! Now feel free to upload a video with the latest version of the mod! I'm comfortable with how it works now, and yeah, please share; the attention from your video would be amazing. That way I can improve, implement, or add things in later updates. Just mention that I created the mod for the community, and anyone can send me modifications or suggestions, and feedback would be really amazing, and I'll create a Discord for the mod if it gets big enough.

Cool! Will start working on it then!
I'll be sure to add a link to the mod page and let people know that feedback is very much appreciated!

2 months ago

new update out with some bugfixes

new content will be added in a later date!

a month ago

Pls update code and change to :
function update_tde_info_gui(player)
if not player or not player.valid then return end

local frame = player.gui.left.tde_info_frame
if not frame then
    create_tde_info_gui(player)
    frame = player.gui.left.tde_info_frame
    if not frame then return end
end

Its prevent gui disapering if you use another mod that take TDE gui place

New response