Permalink
Browse files

Design rantbase, some basic web client scaffolding

  • Loading branch information...
0 parents commit ece49c88c743cf6cd14c9c0d162625c408ce70fd @brendonh committed Feb 22, 2013
@@ -0,0 +1 @@
+env
@@ -0,0 +1,12 @@
+<h1>${config['title']} &mdash; Index</h1>
+
+% for tag in sorted(byTag):
+ <a name="tag-${tag}"></a>
+ <h3>#${tag}</h3>
+ <ul>
+ % for title, url in sorted(byTag[tag]):
+ <li><a href="${config['baseUrl']}${url}">${title}</a></li>
+ % endfor
+ </ul>
+% endfor
+
@@ -0,0 +1,27 @@
+<!doctype html>
+<html>
+ <head>
+ <title>${config['title']}</title>
+ <link href="${config['baseUrl']}bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
+ </head>
+ <body>
+ <div class="navbar navbar-inverse navbar-fixed-top">
+ <div class="navbar-inner" style="padding-left: 50px">
+ <a class="brand" href="${config['baseUrl']}">
+ ${config['title']} &mdash; ${title}
+ </a>
+ <ul class="nav pull-right" style="padding-right: 50px">
+ % for tag in tags:
+ <li><a href="${config['baseUrl']}#${tag}">#${tag}</a></li>
+ % endfor
+ </ul>
+ </div>
+ </div>
+
+ <div style="padding: 50px">
+ ${content}
+ </div>
+
+ <script src="${config['baseUrl']}bootstrap/js/bootstrap.min.js"></script>
+ </body>
+</html>
@@ -0,0 +1,91 @@
+#overview #rough
+
+Overview
+--------
+
+Gambit is an arena game played in short rounds on a small map, with a handful of units which temporarily gain powers by standing on coloured nodes.
+
+You start with a small group of grunt units, which have simple guns. They are controlled as in an RTS, by clicking places for them to move to.
+
+Units are always aggressive -- they will automatically fire on any enemy in range.
+
+When all your units are dead, you lose. There is no way to create more units during the game.
+
+-------------------------
+
+Terrain
+-------
+
+The arena consists of:
+
+ * Regular land
+ * Obstacles
+ * Cover
+ * Stealth cover
+ * Colour nodes
+
+There is fog of war -- you can always see all terrain, but your units can see enemy units only in a sight radius around themselves. **However**, while a unit stays still its sight radius gradually increases. When it moves, the radius immediately shrinks back down to the regular size.
+
+Units cannot move or fire past obstacles (unless a colour bonus lets them do so).
+
+Units in cover gain a defense bonus. Units in stealth cover are invisible to enemy units unless they fire, or an enemy unit enters the same cover.
+
+-------------------------
+
+Starting Out
+------------
+
+### Team Choice
+
+I'm not sure about this yet. Originally there would be multiple unit types which you would buy using a pool of credits. The colour bonuses probably make this obsolete. Instead, either allow assigning some colour bonus pools, or skip the whole step.
+
+### Map placement
+
+Rather than have fixed starting points for each player and then have to make the map itself "fair", generate the map totally at random and then, before play starts, allow each player to place their units anywhere they like on the map, either individually or together. Neither player can see the other player's placements until the game starts. It is expected that players will choose very similar placements often enough to be amusing.
+
+
+-------------------------
+
+Colour Nodes
+------------
+
+The map is scattered with coloured resource nodes which grant bonuses. A unit standing near one of these nodes slowly gains points in that colour, which are then used automatically until depleted.
+
+There are a small number of base colours, but a unit that holds more than one will gain new powers according to the combination (think *Magicka*).
+
+### Base colours
+
+This list is intended as an example -- real design to come later
+
+ * **Red**: Strength. Massively increases gun damage (mnemonic: heat)
+ * **Yellow**: Range. Changes gun to a beam weapon with long range (mnemonic: sunlight)
+ * **Blue**: Area. Changes gun to a short-range wide-spread cannon (mnemonic: rain)
+ * **Green**: Defense. Unit regenerates health (mnemonic: health)
+
+Combinations:
+
+ * **Red + Yellow**: Gun becomes a long-range cannon which can fire over obstacles (and has some splash damage)
+ * **Red + Blue**: Strength and area. No idea.
+ * **Red + Green**: Gun becomes a healing weapon for nearby allies
+ * **Yellow + Blue**: Gun becomes a sniper rifle with very long range but slow fire and no splash or obstacle-penetration
+ * **Yellow + Green**: Range and area. Run speed, perhaps?
+ * **Blue + Green**: Unit projects a shield which absorbs incoming fire. Consumed per hit taken.
+
+Advanced combinations of three or more colours should do crazy things, briefly.
+
+Units cannot choose to use or not use colour points -- if they have them, they are used, in whatever combination is available.
+
+Units should be able to share their colours somehow -- perhaps just by standing close together?
+
+-------------------------
+
+Short Rounds
+------------
+
+The game will actively discourage long rounds and camping:
+
+ * Player-chosen start points allow various initial strategies but make it likely there'll be immediate conflict
+ * No new unit production, resources are finite
+ * More colour nodes than units per team, so you can't camp on every node
+ * Sight radius increases while still, so two camping players will see each other
+ * Colour pools fill up relatively quickly to a maximum, and are then depleted only when used (not just by running around, except perhaps for speed buffs and such). So camping quickly stops granting more advantage
@@ -0,0 +1,4 @@
+markdown
+mako
+PyYAML
+git+git://github.com/brendonh/rantbase.git
@@ -0,0 +1,4 @@
+#!/usr/bin/env python
+import sys
+sys.path.insert(0, '/storage/projects/gambit/doc/env/local/lib/python2.7/site-packages/rantbase-0.1-py2.7.egg')
+import rantbase.__main__
@@ -0,0 +1,4 @@
+---
+title: Gambit Design
+baseUrl: /
+tags: []
@@ -0,0 +1 @@
+*.html

Large diffs are not rendered by default.

Oops, something went wrong.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1 @@
+*

Large diffs are not rendered by default.

Oops, something went wrong.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,33 @@
+<!doctype html>
+<html>
+ <head>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Gambit!</title>
+ <style type="text/css">
+ body { padding-top: 60px; }
+ </style>
+ <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
+ </head>
+ <body>
+
+ <div class="navbar navbar-inverse navbar-fixed-top">
+ <div class="navbar-inner">
+ <div class="container">
+ <a class="brand" href="/">
+ Gambit!
+ </a>
+ </div>
+ </div>
+ </div>
+
+ <div class="container" id="main">
+ Loading...
+ </div>
+
+ <script src="js/dev/3p/underscore-min.js"></script>
+ <script src="http://code.jquery.com/jquery.js"></script>
+ <script src="bootstrap/js/bootstrap.min.js"></script>
+ <script type="text/javascript" data-main="js/dev/main.js" src="js/require.js"></script>
+
+ </body>
+</html>

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
@@ -0,0 +1,7 @@
+require([
+ 'main/game'
+], function(Game) {
+ console.log("Ready");
+ new Game("demo").start();
+});
+
Oops, something went wrong.

0 comments on commit ece49c8

Please sign in to comment.