siggame / MegaMinerAI-Game-Ideas

Game Ideas for each semester's MegaMinerAI
4 stars 1 forks source link

Zombies #47

Closed ShimmeringHydra closed 3 years ago

ShimmeringHydra commented 6 years ago

The Game:

Top quality story

(in short) Freshness! Freshness! Air conditioning products have been produced that are so powerful that it overwhelms anyone who smells them, and compels them to spread the freshness as well! The mindless hoards can smell the absence of freshness that emanates from you, and are set on changing that! (original: https://github.com/siggame/MegaMinerAI-3/blob/master/The%20story%20so%20far.txt )

To Win

Simple: Outlive your opponent! In cases of ties, whoever has the longest human lifespan average wins else whoever used fewer airdrops wins else whoever killed the most zombies wins else coin flip

The World

The game runs for 600 turns to ensure death with one player controlling the zombies, and the other, the humans. Players play both, swapping after the 1st round. Survive as many of the turns as possible as the human and end them quickly as the zombies!

Map and Mechanics

The grid was originally hex based, though that will be dropped, and diagonal movement will be permitted to make up for this change. The size of the map is ~ 30-30, and there is a zombie limit amount to prevent overwhelming the AI. The map starts with only ammo crates and walls. Most of the starting walls are unbreakable and ammo crates give ammo equal to their health value.

The human player gets to choose where to spawn their limited pool of survivors and chosen weapons at the start of the round. The zombie player will have stronger and more numerous zombies to spawn from spawn zones just outside the map's edges as the game progresses.

Both units can use an action to move a tile, though zombies can only move forward, noted later.

Humans!

Humans get 3 actions and 1 second of "idle time" each turn which doesn't reset between turns.

Attacking, it's weird; 1 action and Idle time is taken to use a weapon depending on its use time, this being referred to as Weapon Delay. After any attack, if idle time is greater than 1, it is set back to 1. Basically the buildup of idle time allows preparation of 1 extra attack and/or use of a weapon costing more than 1 idle time.

Here's an example: if I had 5 idle time, I could fire a big gun that costs 3 idle time, then pick up a smaller weapon costing 0.5 idle time and fire it once. idle time has to be greater than the weapon's use time. Other options would involve using the small weapon twice, or only shooting once and saving idle time up to fire the stronger weapon again sooner.

Only 1 weapon can be carried at a time, and different weapons can do area damage rather than direct. Weapons and ammo can be dropped and picked up off the ground as well as handed between humans, costing 1 action to trade arms.

Other abilities Humans can spend one of their 3 actions to build or fortify a weak wall in an unoccupied tile, preventing movement like walls do. Occasionally humans can call down an airdrop for ammo on a desired tile. This drop deals damage and the location where it will land cannot be seen by the zombies!

Zombies!

Zombies get 2 actions per turn, and they have the ability to smell and restock!

It takes an action to turn where a zombie is currently facing. Multiple zombies can occupy 1 tile; good for destruction and converting, bad for not blowing up. Zombies wont turn humans to zombies on the field; they have to get a spray-bottle first!

Zombies can only move forward regarding grid movement, being in an everlasting daze, and so must turn separately. Most of their actions depend on their facing direction, as they can only attack and smell that direction as well. Restocking however can occur in the tile currently being occupied as well.

Smelling, the freshness has made the zombie's noses very sensitive. When smelling, if a human is wounded in an expanding zone in front of a zombie, the stronger scent from the disturbed griminess and dirtiness sets the zombie off in a rage! If successful, the zombie borrows an action from its next turn, else it uses 1 action otherwise not consumed.

Restocking, for desperate times. A zombie can heal damage done to them by sacrificing another and 1 action. The mean zombie can take another zombie's spray-bottle on the immediate tile in the meanies facing direction or it's own tile. The jerk will heal for twice of the victim zombies health, as they are now dual-wielding, as well as being able to overheal half of its own starting health while the other zombie runs to find more freshness...

Final Bits

Available runtime is the time given to your code to execute, previously: 30s +1s per turn If the human player runs out of their available runtime, all humans die. If the zombie player does so, the turn counter is set to its max value for survival time of the humans.

Things will change and be added or removed, such as structures, a few mechanics, or abilities. The entire arsenal of tools and weapons will be created as there are yet to be any. Having guns be mud or something would be neat.

my icons are pixely works of art; SMELL THE FRESHNESS! test

JeffreyStrahm commented 6 years ago

Overall this is a good first write up. Remember that these games are based on the originals and not the originals, so try and make changes you think would make the game better. Use this to get rid of any unsure statements in your description.

Other than that there are a few things I am not a big fan of:

What I was a fan of:

ShimmeringHydra commented 6 years ago

@JeffreyStrahm Thanks for the feedback. Addressed above issues besides the switching off issue. The asymmetry gameplay is what interests me most of the concept, and may be interesting which team (human/zombie) will get more focused on by each competitor. I do hope however that it doesn't create too much to focus on and slows the competitors much; Each team is mainly 1 unit type however.

TehPers commented 6 years ago

I like the idea of switching back and forth, but I think this can be extended. Instead of switching off, what if there were two game boards? The AIs controlled the humans on one board, and zombies on the other.

Also, we usually try to avoid diagonal movement because it can complicate pathfinding. the cost of moving to a diagonal tile is usually ~1.4 times the cost of moving to a tile directly adjacent, which means pathfinders should account for this change. Also, moving diagonally around corners is a complicated edge case. If you don't allow units to cut corners, then figuring out whether that unit can move diagonally is always a challenge. Finally, newer competitors might not know any pathfinding algorithms that support this, so they'll be stuck with the default breadth-first search algorithm (unless we want to give them all Dijkstra's or something).

ShimmeringHydra commented 5 years ago

I will always be open for febreeze zombies modifications for multiminer could be to have multiple humans or zombies at a time. multiple rounds would need to be run to make isometric gameplay fair

ShimmeringHydra commented 5 years ago

A lot of the details are out of date such as hex based being a big no-no etc. this is the original idea.