Code Monkey home page Code Monkey logo

mm26-design's People

Contributors

jackducham avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mm26-design's Issues

Enemy attributes

What information does an Enemy object have?
Spawn location
Current location
Health
Power
Speed
Loot table
Rewards

Design victory conditions

How are the winners decided? We want to avoid a situation where competitors are incentivized to write radically different algorithms that are only used once at the end of the game. At the same time, we want a little bit of ambiguity in the final hours so the end of the game is exciting. Presently, the first criterion seems more important than the second.

Some ideas:

  • several different win conditions (most exp, most kills, best gear)
  • endgame grinds (kill the most dragons)

Design attack effects

Brainstorming unique effects that could be applied to weapons. Better to have a few effects that a really interesting than many effects that are boring (competitors can build a strategy around a very potent effect, but coding responses to lots of little effects is very unfun).

AOE: "Deal x damage to characters x away from the target"

Rewrite death rules

Without an inventory, what do you lose when you die? Gold? Experience? Equipment? Does it take time for you to respawn? How long?

Map - Village

The single-player starting area. Should contain enough content for a starter kit bot to farm for around 2 hours, and then an additional 2 hours worth of content as the bot is enhanced. Notable features:

  • respawn point
  • inn for healing
  • caves/portals used to enter multiplayer

Define scaling for player stats and levels

We decided on linear scaling for player stats, but the base values and scaling constants still need to be determined.

For level, we decided to store only an integer experience, so we need to define what breakpoints of experience define each level. How do the cutoffs change from level to level?

Remove inventory

We decided inventory management is kind of a pain, so we're cutting that. Give players an additional weapon slot to compensate.

Action descriptions

Add detailed descriptions of each action on the actions page. Include restrictions (only rest at inns, only buy/sell at shops). Include descriptions of how the action is communicated- how does a bot specify where an attack is aimed? Can multiple items be dropped or equipped at once? (I think yes).

Actions

Unify actions so that movement is an action. Choosing between moving and attacking seems better than separate decision times. Determine the order in which actions are resolved.

What can a player do with gold?

If our core design pillars are "efficient farming" and "optimal combat", then where does gold fit in? It would feel weird to have an RPG without it. We initially thought about using shops as a way to offset bad luck with drops, but the choice of visiting a shop isn't interesting for a MechMania AI.

That said, a shop for consumable items seems like a good idea. Writing logic that restocks on supplies is more suited for MM than logic that farms monsters for specific consumables. Maybe a third pillar should be "using resources effectively". That kind of problem challenges strategy, and if designed thoughtfully won't put too much load on AI logic.

Broadly, the point of gold is to reward competitors for thinking carefully about the state of the game. If gold can be spent to gain an advantage in a few different ways, we can present competitors with a fun puzzle as they try to figure out what choice will give them the best results. Consumable items are a perfect example: choosing a potion that lets you move faster would let you farm quickly, but choosing to stock up on healing potions better prepares you to attack other characters.

With that in mind, we want spending gold to be as easy as possible. Allowing a character to spend gold anywhere (without visiting a shop) seems like a really easy way to achieve this. So for the time being we'll say that gold can be spent at any time to purchase consumable items that affect your character in different ways.

Terrain attributes

What information does a Tile object have?

Coordinates
Contents (items)?
Occupant?
Type (empty, impassible, inn, shop, portal)
Zone? (single-player vs multi-player)

Hot-swap mechanics

What happens when a new script is uploaded? Ideally the transition is seamless- the bots are swapped between turns and state is preserved in the bot's database. Define mechanically what happens in game when the passing of control happens.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.