Code Monkey home page Code Monkey logo

swarm's Introduction

Starting with only a few larvae and a small pile of meat, build a merciless swarm of trillions of giant alien bugs.

Built with love by Evan Rosson using Coffeescript, AngularJS, Yeoman's generator-angular, Evan's own swarm-numberformat, and other libraries packaged by Bower. Inspired by the best Starcraft race.

swarm's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swarm's Issues

click log analytics

click logs are theoretically nifty, but I can't see them! figure out how to do analytics with them.

more portable changelogs

we'll want to publish them:

  • in the in-game changelog
  • as an rss feed
  • in our subreddit
  • as news posts on kongregate ( #14 )

and I don't want to rewrite the formatting for each one

document dev process

in case some other sucker wants to contribute to this mess, or when I inevitably forget how in a month. CONTRIBUTORS file.

confirm licensing and changelog/credits-page link.

some notes:

  • development process:
    • update the spreadsheet and use grunt ss to use the new data
    • run a dev server and make it visible on ngrok. ./serve.sh
    • use generator-angular to create new files. most common: yo angular:factory x, yo angular:route y
    • write tests! dev server runs them automatically on change, travis runs on commit; or use grunt test
    • commit and push with git
  • release process:
    • make sure tests are passing in travis. https://github.com/erosson/swarm > "build:passing"
    • write some stuff in changelog.html about the changes
      • git logs since last release: git log git describe --tags --abbrev=0..HEAD --oneline
    • verson bump. npm version [patch|minor|major] -m "commit message for version bump"
      • observe changes in package.json and git tag -l
    • grunt deploy

better analytics

once people start playing, make the analytics better. we have a few basics, (player count, session length, button clicks), but still missing a lot. at a minimum, to know how fast people are progressing:

  • graph expansion-count over playtime
  • graph meat over playtime

extra credit:

  • graph playtime when the player buys their first (queen, nest, hive, ...) (maybe easier with achievements)
  • graph offline vs. online-active vs online-idle time, ratios
  • graph playtimes when people quit and never return

do this sooner rather than later, we need this info to balance the game

graphics

carbot-style drawings for each unit would be really really cool.

misbehaving text selection

http://www.reddit.com/r/incremental_games/comments/2evhpk/feedback_friday_megathread_20140829/ck4daee

You should fix the area selection bug that happens when you click things too quickly (you know, where a big area of the page becomes selected). Simple CSS fix for that.

experimenting, it is a bit annoying that the cursor is a text-selector when you're hovering over a unit in the list. it should behave like a proper link. I think that'll fix text-selection for clicking too fast too, need to experiment though.

auto-disable click logging

if the save state size is approaching 5mb (limit in most browsers (right??)), disable click logging and delete the click log to save space

buy percentage

buy a percentage of the max you can afford. maybe replace buy-n, which gets really tedious at large numbers; buy-percentage could work with a nice friendly slider

moving system clock backward ruins everything

image

haha. I don't think this can be used to cheat the way #45 can, but we can detect this more easily.

should probably do something about the negative values and undefineds. actually, let's leave the negatives, makes exploiting harder, #45 should block overflow exploits. fix the undefineds though of course.

better big number display

big numbers are hard to read. make them easier to read somehow. option for scientific notation vs. -illion vs. full numbers?

dev navbar too long

extra dev links need an extra line, hiding top of screen. only affects dev, but it'll be an issue for users if we add more nav links later

image

reusable packages for other games

for example, util.coffee and spreadsheetutil.coffee

create packages that we can use in other games with nothing more than 'bower import x'. minimize writing new code, just extract and package what's already written for this game.

kongregate

put the game on kongregate, or somewhere else that'll get us a larger audience, once it's ready for that

more units

create another tree of units, with another currency, for advanced players? we have plenty for first-timers/first reset, more would be confusing but advanced players can handle it.

bignum

maxing out javascript's numbers isn't impossible here,especially if people manage to produce larvae faster than I planned (reset bonuses later?). use bignums. we're already using mathjs, which has them.

This must be done before 1.0 because it might impact save states, and we can't reset people after that.

more interesting military

military is boring. a few ideas:

  • units multiply specific other units' power. encourages mixed militaries without encouraging build-some-of-everything.
  • make twin upgrades larvae-heavy and closer to linear cost, to encourage focusing on a few specific units instead of upgrading/building everything (is this really a problem, though?)
  • give units unique abilities. ex. triplet swarmlings
  • conquest. manually invade opponents (ex. humans, "ancient aliens with lasers") for rewards
  • auto-produce military units, OR give territory gains bonuses. make the player choose one or the other.
  • casualties of war. negative-compound-interest? (might not be fun)

pick which ones we want to do and create new issues for them before closing this issue.

"golden cookies" - activity rewards

reward active play with clickable bonuses every so often. these should be worthwhile, but not mandatory. for comparison, cookie clicker without the get-lucky upgrade seems about right, maybe a bit too low; cookie clicker with fcfs/eldeer/lucky-frenzys makes activity mandatory for progression.

we already reward activity pretty heavily with non-increasing costs/exponential growth. This might be unnecessary.

shouldn't introduce these early on. maybe not until after first reset - meh, it could be earlier than that. first nest?

upgrade-list page

create a page with all available upgrades listed and purchasable. easy to lose track of what's available when you have to select each unit. this is just an alternate view, upgrades still available with unittype selected.

would be much easier with #22 done, so we can reuse the upgrade template in the new page.

sidebar is ugly

sidebar works great with smaller numbers of units, but it's a little ridiculous when you get to the later tiers, and our plans to add more units will only make it worse.

no-unit-selected screen is completely empty. so much wasted space.

  • show only the top 2-3 tiers for each group?
  • the "no unit selected" page has a table with all the units in columns, derivative-clicker style?
  • table similar to above, along the top (or bottom) of the screen?
  • "no unit selected" : list all upgrades?

military advancing faster than econ

people are getting to higher-tier military units faster than higher-tier econ units. is that okay? do we add more military units, or increase the cost of what's there, or something else?

refactor templates

so much duplication

at a minimum, rework cost displays into new templates. I think directives are the right way to reuse templates, but ng-include might work too.

do #21 first so more templates don't slow down load time

prestige

incentive for the player to restart. Thoughts:

  • reset process
    • kill an enemy swarm to allow reset. in reset 2+, kill previous reset's swarm?
      • military strength based on territory/sec
      • something interesting to do with military!
    • anytime after this kill, press the reset button to reset
    • reset lore: evolution/mutation/natural selection. form a new brood from your swarm's most elite children, ensuring their offspring too will be elite
  • reset rewards
    • flat production bonuses are boring, though they do scale infinitely. try to avoid them.
      • at least make the player choose between production bonuses for single resources. no all-resource bonus
      • larvae bonuses are especially interesting. easily implemented as free expansions; changes gameplay by enabling more/longer exponential growth
    • reset rewards should change how you play the game. first playthrough can have a single optimal path, but resets should begin introducing different playstyles and interesting choices
    • talents: mutually-exclusive reset bonuses
      • for example, choice of military unit. swarmling triplets XOR swarmling compounding XOR giant arachs produce arachs/sec XOR expansions improve devourer output XOR ...
  • reset credit: based on number of expansions
    • or, one credit per reset? long resets feel punishing; have to make sure games are long enough.
      • maybe two reset currencies? one encourages long resets, one encourages short resets
        • make sure the optimal way to play for long-reset credits is to, you know, have long resets. easy to get the math wrong and make short resets optimal like so many other games

costs shown as percentage

costs with large numbers are hard to read. colorize the costs, or add an option to display them as a percentage of what you can afford instead of a flat number, to make it clear which resources you have plenty of and which resources you're bottlenecked on. (I haven't seen this in other games yet, but it sounds nifty.)

better url

preferably without my name in it. create a new organization.

add short commit hash to version number?

that way players can at least see when something changes, even if I forget to increment the version number.

alternately, make "grunt deploy" require a version bump. how will it know what version is deployed already, though? maybe write /dist/version.txt on build, and deploy fetches http://.../version.txt?

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.