Hey all,
Apologies for the delay on this one. My personal life took me for a spin, but I should be back now! Thanks to
@datatags for helping me out on this, really appreciate it
Changelog
Support for 1.20.2-1.20.4
Please consider supporting me on my Ko-fi page or through GitHub Sponsors. Although I do this for free, it takes a considerable amount of time and effort:
https://ko-fi.com/theguyhere
https://github.com/sponsors/Theguyhere0
COMPATIBILITY NOTICE
All you need to do is replace the old jar with the current one. No other changes are necessary.
Release Plans
Last time I provided a rough outline of how I wanted to progress with development. Welp, I've done a lot of thinking, so here's the updated plan. Everything here applies to v2 of this plugin. v1 will strictly be under maintenance for new versions and game-breaking bugs until v2 is in production.
Mission Statement
Villager Defense is a highly customizable plugin that adds a cooperative and/or competitive minigame under the theme of defending villagers.
Game Modes
Classic (Starting in 2.0.0-pre3)
A cooperative mode with a vanilla feel. Players fight off as many waves of monsters as possible while keeping villagers and themselves alive. Players earn gems from killing Monsters. Players that die will respawn in the next round. A round ends when all Monsters have died. A game ends in a loss if all villagers die, all villagers die, or a wave is not completed in time. A game ends in a win if there are limited waves and all of them are completed.
Modern (Starting in 2.0.0-pre4)
A cooperative mode with modified mechanics. Players fight off as many waves of monsters as possible while keeping villagers and themselves alive. Players earn gems from killing Monsters. Players that die will respawn in the next round. A round ends when all Monsters have died. A game ends in a loss if all villagers die, all villagers die, or a wave is not completed in time. A game ends in a win if there are limited waves and all of them are completed.
Showdown (Starting in 2.1.0)
An asymmetric team-competitive mode with two phases: Preparation and Attack. The Preparation phase is time-limited, and friendly fire is turned on. In this phase, the Villagers play a cooperative idle game by upgrading gem income from villagers and preparing equipment for defense. The Monsters spawn as imposters and can curse villagers to siphon gems or attack players to reset their development, but they cannot upgrade their only equipment of a starting sword. Villagers will visibly show up as cursed after a delay of being cursed and can be healed instantly by any Villagers player for a small price. Villager players killed in this phase lose their gem balance and spawn again after a delay, and Villager players who kill a friendly player lose their equipment. Monster players killed in this phase do not respawn. The Attack phase is time-limited, and friendly fire is turned off. In this phase, the Monsters send waves of minions and bosses. Each option can either increase or decrease income, but each player will be given enough to send at least one income-positive wave. The Monsters win if all villagers die before the time limit. The Villagers win if they survive until the time limit or the gem balances for all Monster players go below 0. Villagers continue to earn a reduced income for each villager alive.
Factions (Starting in 2.2.0)
A symmetric team-competitive mode. Players on each team fight off as many waves of monsters as possible while keeping villagers alive. Players earn gems from killing Monsters. Each team can send their own minions and bosses to other teams equally to modify their gem multiplier, but it cannot go below 0. Players that die will respawn after a delay. Rounds begin after a delay, regardless of whether the previous rounds have ended. A team loses if all their villagers die, and the last team standing is the winner.
Release Outline
2.0.0-pre2 - Cleanup of all the features I've been brewing for the past like year. Just need to dump everything into the dev branch so I can start going in the new direction I've set out. Something to test out, but I would not recommend switching over production servers to this as this will be broken very hard in the following updates.
2.0.0-pre3 - Introduction of the Classic mode, which will replace v1. Some small differences from v1, but overall made to port over any 1.2.x version to this. Does not work with any 2.0.0-pre1 or -pre2 versions. Sorry
2.0.0-pre4 - Introduction of the Modern mode, which will replace what I've been testing in the 2.0.0-pre1 and -pre2 versions.
Updated wiki - Yup, finally going to get to this. It's been a mess for a while, so I figure I'd update it once I get the two major game modes figured out.
2.0.0 - Production version of the two major game modes.
Demo video - Gameplay demo and setup tutorial.
2.1.0 - Introduction of the Showdown mode.
2.2.0 - Introduction of the Factions mode.
2.3.0 - Properly set up this project for open-source contribution/sunsetting. This may change depending on how everything goes in the previous releases, but I may let this project loose so other people can build on this and have fun without my active contribution.
Demo video 2 - Gameplay demo, setup tutorial, and codebase overview.