Initial import.
[ogre.git] / ogre.html
1 <!DOCTYPE html>
2 <html manifest="ogre.appcache">
3 <!--
4 The person who associated a work with this deed has dedicated the work
5 to the public domain by waiving all of his or her rights to the work
6 worldwide under copyright law, including all related and neighboring
7 rights, to the extent allowed by law.
8
9 You can copy, modify, distribute and perform the work, even for
10 commercial purposes, all without asking permission.
11
12 See https://creativecommons.org/publicdomain/zero/1.0/ for details.
13 -->
14 <head>
15 <meta charset="utf-8">
16 <meta name=viewport content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
17 <meta name=description content="Digital record sheets for Steve Jackson's Ogre boardgame.">
18 <meta name=apple-mobile-web-app-status-bar-style content=black-translucent>
19 <meta name=apple-mobile-web-app-capable content=yes>
20 <meta name=apple-mobile-web-app-title content=Ogre>
21 <meta name=mobile-web-app-capable content=yes>
22 <link rel=icon sizes=32x32 href=favicon_32.png>
23 <link rel=icon sizes='16x16 32x32 48x48' href=favicon.ico>
24 <link rel=icon sizes=128x128 href=favicon_128.png>
25 <link rel=icon sizes=196x196 href=favicon_196.png>
26 <link rel=icon sizes=256x256 href=favicon_256.png>
27 <link rel=apple-touch-icon href=favicon_192.png>
28 <link rel=stylesheet href=ogre.css>
29 <script src=fastclick.js></script>
30 <script src=units.js></script>
31 <script src=ogre.js></script>
32 <!-- <script src=brain.js></script> -->
33 <title>Ogre Record Sheets</title>
34 </head>
35 <body onclick="boxes(event)">
36 <header>
37 <nav>
38 <div data-tray=addUnit style="float: left">+</div>
39 <h1 data-tray=legal style="float: right">Ogre</h1>
40 </nav>
41 </header>
42 <ul id=addUnit class=tray>
43 </ul>
44 <div id=legal class=tray>
45 <div class=colophon>
46 <a target=_blank href="https://yukkurigames.com">Yukkuri Games</a>
47 </div>
48 <p>
49 <a target=_blank href="http://www.sjgames.com/ogre/">Ogre</a> and
50 its associated names are trademarks of
51 <a target=_blank href="http://www.sjgames.com/">Steve Jackson Games</a>;
52 its rules are copyrighted by Steve Jackson Games. This tool is
53 not affiliated with or authorized by Steve Jackson Games, and
54 uses unofficial adaptations of some Ogre model statistics.
55 </p>
56 <p>
57 Typeset in Fira Sans by
58 <a target=_blank href="http://www.carrois.com/home/">Carrois
59 Type Design</a>,
60 Checkbook by Allen&nbsp;R.&nbsp;Walden, and
61 <a href="http://dejavu-fonts.org/wiki/Main_Page">DejaVu Sans
62 Mono</a>.
63 </p>
64 </div>
65 <!--
66 <div id=brain class=tray>
67 <a data-tray=howto>(what's this?)</a>
68 <div class=brain-movement>
69 <input name=moven type=radio id=move1 checked>
70 <label for=move1>1</label>
71 <input name=moven type=radio id=move2>
72 <label for=move2>2</label>
73 <input name=moven type=radio id=move3>
74 <label for=move3>3</label>
75 <input name=moven type=radio id=move4>
76 <label for=move4>4</label>
77 </div>
78 <div class=missiles>
79 <input type=checkbox id=missiles>
80 <label for=missiles>Missiles</label>
81 </div>
82 <div class=roll onclick="think()">Think</div>
83 <div id=report></div>
84 </div>
85 <div id=howto class=tray>
86 <h1>Automated Ogres</h1>
87 <p>
88 Set up your defensive forces as desired. The Ogre enters
89 directly opposite the CP. Each turn, select the Ogre's
90 available movement points and whether it will ram.
91 </p>
92 <h2>Movement</h2>
93 <p>
94 The Ogre first moves towards the CP ("north"), then if it
95 destroys it, retreats back to the side it started on ("south")
96 to escape off that edge of the map. If the Ogre is on the
97 final three rows of the map, or less than five hexes from the
98 CP, "ahead" refers to the shortest path directly to the goal.
99 Otherwise, it refers to the edge.
100 </p>
101 <p>
102 While moving, the Ogre may decide to ram. If it does, a
103 potential ram overrides other movement commands. It also rams
104 any vehicle in its direct path. The Ogre always re-rams a
105 disabled vehicle in the same space.
106 </p>
107 <p>
108 The Ogre never moves backward, except when it decides to ram
109 backwards. If the Ogre is adjacent to an immobile unit (e.g. a
110 howitzer or CP) it will always ram it.
111 </p>
112 <p>
113 If multiple ramming targets are possible, choose the first in
114 the direction of the sensor sweep.
115 </p>
116 <p>
117 If the Ogre tries to move into a crater or off the edge of the
118 map, choose the first space available in the direction of the
119 sensor sweep.
120 </p>
121 <h2>Attacks</h2>
122 <p>
123 The Ogre always fires AP, then secondary, primary, then
124 (maybe, if possible) missiles. Targeting order is determined
125 by explicit targeting instructions - target priority may go to
126 </p>
127 direction of the sensor sweep.
128 </p>
129 <h2>Priority</h2>
130 <p>
131 The Ogre will always prefer to target CPs, howitzers, and disabled
132 units (in that order). Otherwise, target priority is determined
133 randomly as nearest, farthest, strongest (highest defense) or most
134 threatening (highest attack).
135 </p>
136 <p>
137 Priority is also given an arc (fore or aft). All possible
138 targets in the chosen arc are considered before the other arc.
139 Units on the same line as the Ogre are in both arcs.
140 </p>
141 <p>
142 Finally, priority has a sensor sweep direction - clockwise or
143 anti-clockwise. This determines the order of targets with the
144 same combat statistics, distance, and in the same arc.
145 </p>
146
147 <h2>Suggestions</h2>
148 <ul>
149 <li>Once you find the game too easy, move your CP forward.</li>
150 </ul>
151 <h2>Further Reading</h2>
152 <p>
153 These solitaire play rules are based on
154 <a target=_blank href="http://www.sjgames.com/ogre/articles/uncertain.html">
155 Brian McCue's <em>The Uncertainty Principle</em></a>
156 as well as <em>Solitaire Ogre</em> by George Collins in
157 <em><a target=_blank href="http://www.sjgames.com/ogre/products/ogrebook/">
158 The Ogre Book</a></em>. It expands on the
159 card system suggested by McCue but hews closer to the tactics
160 suggested by Collins.
161 </p>
162 </div>
163 -->
164 <main>
165 <section id=unit-template>
166 <a onclick="removeUnit(this.parentNode)" class=close></a>
167 <div class=name
168 onclick="this.textContent = randomName(UNITS[this.parentNode.getAttribute('data-dfn')].nameScheme)"></div>
169 <div class=type></div>
170 </section>
171 </main>
172 </body>
173 </html>