<<

Avaneya™: Project Crew Handbook

A Cerebral Game | Cartesian Theatre™ ™

Visit us on the web at https://www.avaneya.com.

This book was typeset on May 31, 2017 from Bzr revision572 using the ConTEXt document engineering system, MKIV 2016.05.17 19:20, and rendered via LuaTeX 0.95.0. References were managed with BibTEX. Inkscape, Graphviz 2.38.0 (20140413.2041) , and Umbrello UML Modeller 2.25.70-3cea5cc were used for various illustrations. The resulting document was tested against MATE Document Viewer 1.2.2, a Poppler based PDF viewer. All of the aforementioned were software libre at the time of writing. Copyright © 2010–2017 Cartesian Theatre™. The Avaneya™: Project Crew Handbook by Cartesian Theatre™ is licensed under the default terms of the Creative Commons Attribution–NonCommercial–ShareAlike 3.0 Unported License. A copy of the license is available online at the below. ISBN-13: 978-0-9919804-1-3 Contents at a Glance

Preface 14

1 How To Read This Book 15

2 The Game 16

3 Leitmotifs 19

4 Terms and Concepts 28

5 Leading Characters 35

6 Timeline 48

7 Game World 91

8 Game Mechanics 136

9 Selected Technologies 148

10 Viking Lander Remastered 155

11 Engineer Contributors 166

12 Licensing Rationale 203

13 Closing Remarks 205

A Learning Resources 206

B Index 208

~ 3 ~ Table of Contents

Preface ...... 14

1 How To Read This Book ...... 15

2 TheGame ...... 16

2.1 Why? ...... 16

3 Leitmotifs ...... 19

4 Terms and Concepts ...... 28

4.1 Albedo ...... 28

4.2 ATATÜRK ...... 28

4.3 Bancor ...... 28

4.4 Cornucopianism ...... 28

4.5 Corporate Personhood ...... 29

4.6 Earth Return Vehicle (ERV) ...... 29

4.7 Endothermic Reaction ...... 29

4.8 Exothermic Reaction ...... 29

4.9 Free Arcadia Partisans (FAP) ...... 29

4.10 Fifth Column ...... 29

4.11 InSitu ...... 29

4.12 ...... 30

4.13 Direct ...... 31

4.14 Money As Free Speech ...... 32

4.15 Regolith ...... 32

4.16 Reverse-Water-Gas-Shift Reactor ...... 33

4.17 Sabatier Reactor ...... 33

~ 4 ~ 4.18 Sierra ...... 33

4.19 ...... 34

4.20 Specific Impulse ...... 34

4.21 Yestersol ...... 34

5 Leading Characters ...... 35

5.1 Arda Baştürk ...... 36

5.2 Henrik Nørgaard ...... 39

5.3 Khalid Zafar ...... 40

5.4 Leonard Kissinger ...... 42

5.5 NayanaRai ...... 44

5.6 Senka Rukavina ...... 46

6 Timeline ...... 48

6.1 Promises Made ...... 49

6.2 Erecting Home ...... 56

6.3 Euphemisms ...... 58

6.4 Civil Disobedience & False Flags ...... 61

6.5 Countdown ...... 69

6.6 Contact ...... 80

6.7 Aftermath & Diaspora ...... 86

6.8 The User’s Predicament ...... 89

7 GameWorld ...... 91

7.1 Attire & Personal Equipment ...... 91

7.2 Avaneya ...... 92

7.2.1 Avionics, Instrumentation, and Other Equipment ...... 92

7.2.2 Construction & Form Factor ...... 93

~ 5 ~ 7.2.3 Crew Facilities ...... 93

7.2.4 Payload ...... 93

7.2.5 Propulsion ...... 94

7.3 Aviation ...... 94

7.3.1 Aerostats ...... 95

7.3.2 Fixed Wing ...... 96

7.3.3 Ascent & Descent Rockets ...... 97

7.3.4 Trans–orbital Rockets ...... 97

7.4 Bootstrap Teams ...... 98

7.5 Buildings ...... 98

7.5.1 Airlocks ...... 98

7.5.2 Anchorage ...... 99

7.5.3 Computer Control Systems ...... 99

7.5.4 Pressure Ratings ...... 99

7.5.5 Design ...... 100

7.6 Communication ...... 101

7.6.1 Uplink With Earth ...... 101

7.6.2 Mars Enhanced Telecommunications Orbiter ...... 101

7.6.3 Personal Citizen Band Radio ...... 101

7.6.4 Shortwave DX Radio ...... 101

7.7 Earth & Lunar Moon ...... 102

7.8 Economics & Commerce ...... 102

7.8.1 Genuine Progress Indicator ...... 102

7.8.2 Commodities ...... 103

7.8.3 Exchange Parties ...... 104

~ 6 ~ 7.8.4 Industries ...... 104

7.8.5 Jenya ...... 104

7.8.6 Banks & Money Supply ...... 105

7.8.7 Inflation ...... 106

7.8.8 Labour ...... 106

7.8.9 Taxation ...... 107

7.8.10 ...... 107

7.9 Environmental ...... 107

7.9.1 Atmosphere ...... 108

7.9.2 Desert Threats ...... 108

7.9.3 Regional Characteristics ...... 109

7.9.4 Radiation ...... 110

7.9.5 Sky ...... 111

7.10 Food ...... 111

7.10.1 Interplanetary Travel ...... 111

7.10.2 Politics ...... 111

7.10.3 Dietary Considerations ...... 111

7.10.4 Gasses ...... 112

7.10.5 Hydroponics ...... 112

7.10.6 Lighting ...... 112

7.10.7 Mushrooms ...... 112

7.10.8 Regolith ...... 113

7.10.9 Merits of Kelp Fertilizer ...... 113

7.10.10 Photobioreactors ...... 114

7.11 Interplanetary Travel ...... 115

~ 7 ~ 7.12 Navigation ...... 116

7.13 Power ...... 118

7.13.1 Methanol / Oxygen Fuel Cells ...... 118

7.13.2 MicrowavePower ...... 118

7.13.3 Dynamic Isotope Power System ...... 119

7.13.4 Hydrazine Emergency Power ...... 119

7.13.5 Hydroelectric Power ...... 119

7.13.6 Nuclear Fission ...... 119

7.13.7 Geothermal Power ...... 120

7.13.8 Solar ...... 120

7.14 Resources ...... 121

7.14.1 Aluminum ...... 121

7.14.2 Bricks ...... 121

7.14.3 Carbon Dioxide ...... 122

7.14.4 Carbon Monoxide Fuel ...... 122

7.14.5 Ceramics ...... 122

7.14.6 Copper ...... 122

7.14.7 Deuterium ...... 122

7.14.8 Dimethyl Ether Fuel ...... 123

7.14.9 Electricity ...... 123

7.14.10 Glass ...... 123

7.14.11 Hydrazine Fuel ...... 124

7.14.12 Iron ...... 124

7.14.13 Magnesium ...... 124

7.14.14 Methane ...... 125

~ 8 ~ 7.14.15 Methane / Oxygen Fuel ...... 125

7.14.16 Methanol ...... 125

7.14.17 Oxygen ...... 125

7.14.18 Plastics ...... 126

7.14.19 Portland Cement ...... 126

7.14.20 Precious Metals ...... 126

7.14.21 Silane ...... 126

7.14.22 Silicon ...... 127

7.14.23 Steel ...... 127

7.14.24 Water ...... 127

7.14.25 Wood ...... 128

7.15 Time ...... 128

7.15.1 Prime Meridians & Timezones ...... 128

7.15.2 Seconds, Minutes, Hours, Days, and Years ...... 128

7.15.3 Solstice and Equinox ...... 129

7.15.4 Calendar ...... 129

7.15.5 Conversion Between & Terran Years ...... 131

7.16 Weapons & Related ...... 131

7.16.1 Explosives & Pyrotechnics ...... 131

7.16.2 Firearms ...... 133

7.16.3 Orbital Kinetic Bombardment ...... 134

~ 9 ~ 8 Game Mechanics ...... 136

8.1 Sectors ...... 136

8.2 Single Player ...... 137

8.2.1 Tutorial ...... 137

8.2.2 Campaign ...... 137

8.2.3 Custom ...... 137

8.3 Multiplayer ...... 138

8.4 Scenarios ...... 139

8.4.1 NoGoal ...... 139

8.4.2 Achieve Minimal GPI ...... 139

8.4.3 Combat Globalization ...... 139

8.4.3.1 Step One: The Economic Hit Men ...... 140

8.4.3.2 Step Two: Jackals ...... 140

8.4.3.3 Step Three: Foreign Military Intervention ...... 141

8.4.3.4 Rationale For Private Consultants ...... 141

8.4.3.5 Game Adaptations ...... 141

8.4.4 Improve Energy Supply ...... 141

8.4.5 Improve Public Health ...... 142

8.4.6 Improve Transportation Network ...... 142

8.4.7 Natural Disasters ...... 142

8.4.8 Prevent Staged Terror ...... 142

8.4.9 Protect Another City ...... 142

8.4.10 Protect From Junk Science & Media ...... 142

8.4.11 Protect Human Rights ...... 143

8.4.12 Recover From GMO Terminator Gene ...... 143

~ 10 ~ 8.4.13 Reduce Crime ...... 143

8.5 Sources, Mutators, Resources, & Sinks ...... 144

8.5.1 Resource and Mutator Lifecycle ...... 146

8.5.2 Implementation ...... 146

9 Selected Technologies ...... 148

9.1 Audio ...... 148

9.2 Collaboration ...... 148

9.3 Developer Tools ...... 149

9.4 Documentation ...... 149

9.5 freedesktop.org ...... 150

9.6 Graphics ...... 151

9.7 i18n & L10n ...... 152

9.8 Input ...... 153

9.9 Networking ...... 153

9.10 Physics ...... 154

9.11 Scripting ...... 154

10 Viking Lander Remastered ...... 155

10.1 The Martian Landscape ...... 155

10.2 Viking Mission ...... 157

10.3 Problem: Rotting Tapes, Dead Technology ...... 158

10.4 Solution: Viking Lander Remastered DVD ...... 161

10.5 Viking Lander Hardware ...... 161

10.6 Epilogue ...... 163

~ 11 ~ 11 Engineer Contributors ...... 166

11.1 Algorithms, Optimizations, & Tips ...... 166

11.1.1 Fallback Shaders ...... 166

11.1.2 Instrumentation & Performance Analysis ...... 168

11.1.3 Lighting Models ...... 168

11.1.4 Memoization ...... 168

11.1.5 Path Finding ...... 168

11.1.6 Procedural Terrain ...... 170

11.1.7 Random Number Generators ...... 171

11.1.8 Square Roots ...... 172

11.1.9 Vectorization ...... 172

11.2 Coding Standards ...... 172

11.2.1 Declarations and Definitions ...... 172

11.2.2 Legal ...... 173

11.2.3 Mathematical ...... 174

11.2.4 Formatting ...... 174

11.2.5 Naming ...... 181

11.2.6 Structure ...... 182

11.2.7 Comments ...... 183

11.2.8 Integrated Development Environments (IDEs) ...... 185

11.3 AresEngine’s Architecture ...... 185

11.3.1 Engine ...... 186

11.3.2 ...... 187

11.3.3 Audio ...... 188

11.3.4 Configuration ...... 190

~ 12 ~ 11.3.5 Console ...... 191

11.3.6 Design Patterns ...... 192

11.3.7 Events ...... 193

11.3.8 File System ...... 194

11.3.9 Gooey ...... 195

11.3.10 Human Interface ...... 196

11.3.11 Logging & Error Control ...... 197

11.3.12 Mathematical ...... 199

11.3.13 Miscellaneous ...... 200

11.3.14 Resources ...... 201

11.3.15 Scripting ...... 202

12 Licensing Rationale ...... 203

13 Closing Remarks ...... 205

A Learning Resources ...... 206

A.1 Resources For Everyone ...... 206

A.2 Resources For Engineers ...... 207

B Index ...... 208

~ 13 ~ Preface

Avaneya is a cerebral science fiction game set on Mars. It combines the perfect blend of the metropolis city builder social simulation and cooperative multiplayer. It explores mature themes in politics, economics, ecology, sociology, and more. Players creatively craft beautiful cities and watch as they form civic and cultural lives of their own driven by sophisticated artificial intelligence. It takes some of the most powerful capabilities of today’s technology, builds upon it, and finds an application in a manner which is as original as it is entertaining.

Avaneya is geared towards at least those with a passion for , software libre, users of the GNU operating system,1 and its various popular incarnations.2 It is unlike any previous work in its entirety, but would certainly appeal to those with an affinity for the artistic style of Blade Runner and some of the game mechanics of SimCity.

This book was authored as a “design bible” to harmonize all technical and creative efforts of the professional artists, engineers, musicians, writers, and others required in Avaneya’s interdisciplinary production schedule.

This is a living document and will likely continue to be revised over time. It is therefore better to pass on a direct link to the most up to date revision than to a potentially outdated one.

Our purposes were several in number in authoring this book:

▷ To create a place for contributors to refine their ideas, think them through, and commit them to “paper”. This aids in deliberation and provides a place for review;

▷ To provide a single, consolidated, canonical work as a reference volume during the production schedule.

This book is intended for contributors and is not appropriate for players. Indeed, it may even spoil elements of the game. Consider yourself warned!

On the other hand, players are just as likely to enrich the game through constructive feedback – feedback best buttressed with a well–informed understanding of the project’s goals and the thinking behind it.

1 Stallman, Richard. GNU Users Who Have Never Heard of GNU. Free Software Foundation. 20 Oct. 2011b. 2 Canonical. The Ubuntu story. Canonical. 9 Sep. 2013.

~ 14 ~ 1 How To Read This Book

It should not be necessary for anyone to feel compelled to read this whole book. Big books can be intimidating, but this one you’ll hopefully have fun with.

Specific portions are intended for specific audiences. A reader in the general case does not need to be familiar with every aspect of this creative and technical any more so than we should expect anyone in theatre to be informed in all aspects of stage lighting, acoustics, pyrotechnics, carpentry, acting, costume design, costing, and management.

Having said that, readers have nothing to lose in exploring as much or as little as they like. We tried to efficiently organize the material in such a way that anyone taking the scenic route might benefit the most when explored in the order the chapters were presented. However, if you happen to be a contributor, some portions will probably be of greater interest than others.

If you want to walk away with the big picture in the least amount of time, we encourage you to read chapters 3, 2, 5, and 6.

With all of that out of the way, on we go!

~ 15 ~ 2 The Game

2.1 Why? Too often people come out of experiencing a great work of dystopian science fiction only to say to themselves, Thank goodness we don’t live in that world. That needs to change. Dystopian science fiction may be among the most honest kind of story–telling when examined in the context of history.3 But unless its patrons can identify with it, analogies will remain vague, metaphors cryptic, and whatever message the author might have intended gets lost.

Dystopian science fiction when well–received offers a lesson. It does this is in being only partially fictional. To write high is a challenge, but a different one from hard science fiction. In high fantasy there are no experts in fire breathing dragons to count among its patrons or critics simply because they don’t exist. In hard science fiction, however, patrons and critics often actually are engineers, areologists, astronomers, biologists, chemists, and geologist. This is the major difference between hard science fiction and other fictional genres – including .

Science is the study of reality. And yet fiction, by definition, is not as concerned with reality. Figure 2.1 Captured by Viking orbiter I on 22 Science fiction therefore has a special role as February 1980. is the scar on Mars a mediator between the two – often acting as over 3000 km long and up to 8 km deep. the avant–garde for both,4 with dystopian hard science fiction positioned closer towards reality.

A need for an element of reality can set the bar high. This requires the game designer to strike a balance between attention to detail and excessive pedanticism. A certain degree of creative license is expected, but patrons of hard science fiction still prefer it to be at least consistent with what they already know to be true; what is reasonable or plausible to consider true, or what might one day become true.

Isaac , a man who needs no introduction, once described this problem in realizing that ‘the role of a writer is hard, for on every hand he meets up with critics. Some critics are, I suppose, wiser than others,

3 Stallman, Richard. Reasons not to buy from Amazon: Exploiting workers mercilessly. stallman.org. 29 Mar. 2017. 4 Shedroff, Nathan and Noessel, Christopher. Make It So: Interaction Design Lessons from Science Fiction. Rosenfeld Media. Sep. 2012.

~ 16 ~ but there are few who are so wise as to resist the urge to show off. Critics of science popularization always have the impulse to list every error they can find and trot them out and smile bashfully at this display of their own erudition. Sometimes the errors are egregious and are worth pointing out; sometimes the critic is indulging in nitpicking; and sometimes the critic inadvertently shows himself up.’5

When done well, hard dystopian science fiction of every kind can be stimulating, and even educational. The idea that games could be used as a means of education is old. From the days of Plato all the way through to the most renowned Renaissance educators, like Sir Thomas More, many have advocated this. This is one of our reasons for creating this game. But there were others.

There are disappointingly very few libre games being actively developed for GNU.6 Even fewer, if any, free as in freedom7 commercial games for the GNU operating system. Even though there are many non–free games available for it, they all ignore the issue of freedom.8 This is important to recognize because it was this issue of freedom that the GNU project set out to address. If we simply wanted an operating system that did not cost anything, which certainly can be socially beneficial for many,9 options have long been available to those willing.10

Users are typically left with a bad port of an old game reliant on deprecated APIs, poorly packaged,11 and integrating horribly into the user’s desktop environment. The installers, launcher, and other software ignore useful community driven specifications like freedesktop.org, among many others.

When people use GNU they can be treated as second–class citizens. Although this is becoming less and less relevant as time goes on, it is still relevant in considering the availability of professionally developed games. It is as if to some vendors GNU does not really exist at worst,12 or is considered a creature of novelty at best.13 GNU users have had to be content with this situation for many years, despite numbering over 40 million worldwide.14 They have a small selection of free games for their platform or non–free hand–me–downs of ports arriving years after they ceased being relevant.

Avaneya is part of the overall effort to complete the list of tasks the GNU operating system required to bring it closer to completion. When the GNU project set out to replace the body of non–free software required for a person to use a computer, Richard Stallman once remarked that it would also require games since a complete operating system needed those too.15 ‘Even games are included in the task list–and have been since the beginning. Unix included games, so naturally GNU should too. But compatibility was not an issue for games, so we did not follow the list of games that Unix had. Instead, we

5 Asimov, Isaac. The Sun Shines Bright. Garden City, NY: Doubleday & Company, Inc.. Oct. 1981., p. 73. 6 Paeps, Philip. List still active?. freedesktop.org Mailing Lists: Games. 8 Jun. 2013. 7 Free Software Foundation. What is free software?. gnu.org. 23 June. 2012a. 8 Stallman, Richard. Nonfree DRM’d Games on GNU/Linux: Good or Bad?. Free Software Foundation. 16 May. 2012. 9 Woodvine, Stanley Q.. Homeless in Vancouver: Binner in the Dell. Georgia Straight. 9 Nov. 2013. 10 The Pirate Bay. The Pirate Bay – The galaxy’s most resilient bittorrent site. The Pirate Bay. 31 Jan. 2015. 11 Assuming the platform’s native package manager was even used at all. 12 Viki. Half-Life 2 Episode Two. System Requirements. 3 May. 2012. 13 Larabel, Michael. NVIDIA Optimus Unofficially Comes To Linux. Phoronix. 8 May. 2011. 14 Canonical. About. insights.ubuntu.com. 12 Feb. 2017. 15 Stallman, Richard. Linux and the GNU Project. Free Software Foundation. 20 Nov. 2011.

~ 17 ~ listed a spectrum of different kinds of games that users might like.’16 His original announcement of the GNU project back in 1984 even called for a strategy game.17

And then there was the third reason. The decision for Mars to play a prominent role in Avaneya was not arbitrary, nor prompted solely by renewed interest in the Red Planet today. We live on a planet where the consequences of tampering with its natural cycles may not reveal themselves for decades. In the distant and hostile world of Mars one labours for everything from drinkable water to arable land. The latency separating cause and effect is minimal, narrowing the margin for error, and therefore creating a backdrop of great pedagogical and entertainment value.

16 Stallman, Richard. About the GNU Project. Free Software Foundation. 10 Mar. 2013. 17 Stallman, Richard. new Unix implementation. Free Software Foundation. 27 Sep. 1983.

~ 18 ~ 3 Leitmotifs

This is probably the most important chapter in this entire book. This game has several recurring ideas, or leitmotifs, within it. While they may seem unrelated, they are useful cues in reconstructing an occasionally dystopian world that reflects some of our most defining contemporary problems.

These leitmotifs are sometimes difficult to establish as definitive truths in the real world. It is fair to consider them as opinions and so we do our best to substantiate what we can where we can, but the record should be clear that this project is politically unaffiliated and will remain that way. You will never be able to pin it down anywhere in the political spectrum when taken in its entirety.

▷ Government policy measures are sometimes advanced through orchestrated catastrophes. It is not unusual for significant foreign and domestic policy measures to be predicated on acts of staged terror or other orchestrated events by elements within government or its intelligence services for any of a number of reasons. Although the reasons may vary, the idea of providing false pretexts to socially engineer public opinion in favour of granting concessions it otherwise might not have is old. The strategy has been used for as long as governments have claimed a social contract of one form or another dependent on public opinion – or at least seeking to maintain the perception of one.

There is an overwhelming body of historical evidence suggesting the synthetic nature of countless relevant seminal events. Prominent examples are found within at least the First World War,18 the Mukden Incident,19 the Second World War,20, 21 the 1953 Anglo–American backed regime change in Iran,22 the Lavon Affair,23 ,24, 25 the attack on the USS Liberty,26 the ,27 regime change in Angola,28 the Troubles in Ireland,29 the Iran–Iraq 1980–1988 war,30 the Oklahoma City bombing,31, 32 the alleged 18 Griffin, G. Edward. The Creature from Jekyll Island: A Second Look at the Federal Reserve. American Media. 2010., pp. 264–269. 19 Wikipedia. Mukden Incident. wikipedia.org. 8 Feb. 2014. 20 L. Shirer, William. The Rise and Fall of the Third Reich. Simon and Schuster Inc., New York. 1960. p. 193. 21 Ibid. pp. 518–520. 22 Gasiorowski, Mark. The Secret CIA History of the Iran Coup. The National Security Archive. 29 Nov. 2000. 23 Curtiss, Richard H.. The Lavon Affair: When Israel Firebombed U.S. Installations. Washington Report on Middle East Affairs. Jul. 1992. 24 Gavin Marshall, Andrew. Operation Gladio: CIA Network of “Stay Behind” Secret Armies. Centre for Research on Globalization. 17 Jul. 2008. 25 Wikipedia. Operation Northwoods. wikipedia.org. 25 Mar. 2012. 26 Underbakke, Melva. Human Rights: What Happened to the USS Liberty?. Washington Report on Middle East Affairs. Aug. 2010. 27 Bumiller, Elisabeth. Records Show Doubts on ’64 Vietnam Crisis. New York Times. 14 Jul. 2010. 28 Goodman, Melvin A.. The CIA’s History of Bamboozling The Congress. The Public Record. 22 May. 2009. 29 Turbeville, Brandon. Staged Government Terror: An Open Admission Within The British House of Lords. Activist Post. 11 Nov. 2010. 30 AT/HJ/ARA. CIA files show agency was involved in Iraq’s gas attack on Iran. PressTV. 27 Aug. 2013. 31 Griffin, Andrew W.. Murrah bombing survivor says feds involved in blast that killed 168 in ’95. Red Dirt Report. 19 Apr. 2010. 32 Berger, J. M.. Oklahoma City Bombing Witness Linked to CIA – New Filing Reveals. INTELWIRE.com. 01 Sep. 2009.

~ 19 ~ terrorist attacks of September 11th 2001,33, 34, 35, 36, 37 Venezuela’s CIA–backed coup d’etat in 2002,38 the subsequent occupations of Iraq39, 40, 41, 42 and Afghanistan,43, 44, 45 various post–9/11 drama,46, 47 including the 2005 London bombings,48 the 2008 Mumbai attack,49 countless other government agent hatched plans,50, 51, 52 calls for Western intervention in Iran,53, 54 the overthrow of Colonel Muammar Gaddafi in 2011,55, 56 the 2012 UK Olympic Games alleged terrorist threats,57 calls for US intervention in Syria in 2012–2013,58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70 and renewed calls for NATO

33 R. Gourley, James. The 9/11 Toronto Report. CreateSpace Independent Publishing Platform. Nov. 2012. 34 Griffin, David Ray. Debunking 9/11 Debunking. Olive Branch Pr. 2007. 35 H. Harrit, Niels, Farrer, Jeffrey, E. , Steven, R. Ryan, Kevin and M. Legge, Frank et al. (2009). Active Thermitic Material Discovered in Dust from the 9/11 World Trade Center Catastrophe. The Open Chemical Physics Journal, pp. 7–31. 36 Warner, Kip. An Open Letter to Minister of Public Safety Regarding 9/11. Canadian Charger. 23 Aug. 2011a. 37 MacQueen, Graeme. 9/11 Truth: the Challenge to the Peace Movement. youtube.com. 6 Dec. 2009. 38 Golinger, Eva. Venezuela: Coup and Countercoup, Revolution. Centre for Research on Globalization. 12 Apr. 2010. 39 Doward, Jamie, Hinsliff, Gaby and Townsend, Mark. Confidential memo reveals US plan to provoke an invasion of Iraq. . 21 Jun. 2009. 40 Beaumont, Peter and Walters, Joanna. Greenspan admits Iraq was about oil, as deaths put at 1.2m. The Guardian. 16 Sep. 2007. 41 SSM/NN. Ex–UK PM accused of Iraq war cover–up. PressTV. 14 Nov. 2013. 42 Chossudovsky, Michel. British Undercover Soldiers Caught driving Booby Trapped Car. Centre for Research on Globalization. 20 Sept. 2005. 43 Scientists for 9/11 Truth (2011). New Scientific Evidence Undermines Afghanistan War. . 44 Grad, Marcela. Massoud: An Intimate Portrait of the Legendary Afghan Leader. Webster University Press. Mar. 2009. p. 74. 45 WashingtonsBlog. Neoconservatives Planned Regime Change Throughout the Middle East and North Africa 20 Years Ago. Washington’s Blog. 28 Nov. 2011. 46 King, Tim. Feds Plant Inert Bomb In Portland Before Arresting Muslim Man. Veterans Today. 30 Nov. 2010. 47 Harris, Paul and Pilkington, Ed. ’Underwear bomber’ was working for the CIA. The Guardian. 9 May. 2012. 48 Secker, Tom. False Flags a Fluttering: The History of Deception and the London 7/7 Bombings. Centre for Research on Globalization. 7 Dec. 2010. 49 Chossudovsky, Michel. India’s 9/11. Who was Behind the Mumbai Attacks?. Centre for Research on Globalization. 19 Nov. 2008. 50 Shipler, David K.. Terrorist Plots, Hatched by the F.B.I.. New York Times. 28 Apr. 2012. 51 Schwartz, Daniel. Q&A: The FBI’s role in ’manufacturing’ terrorism. cbc.ca. 2 May. 2013. 52 Ackerman, Spencer. Government agents ’directly involved’ in most high-profile US terror plots. The Guardian. 21 Jul. 2014. 53 Shakir, Faiz. To Provoke War, Cheney Considered Proposal To Dress Up Navy Seals As Iranians And Shoot At Them. ThinkProgress. 31 Jul. 2008. 54 Ingersol, Geoffrey and Kelley, Michael. Lobbyist Says Israel Should Create A ’False Flag’ To Start A War With Iran. Business Insider. 26 Sep. 2012. 55 Russia Today. Saving the world economy from Gaddafi. rt.com. 5 May. 2011. 56 Brown, Ellen. Libya all about oil, or central banking?. Asia Times. 14 Apr. 2011. 57 Nimmo, Kurt. Anarchist Group Allied to CIA’s Red Brigades Plan London Olympics Terror. Infowars.com. 28 May. 2012. 58 Quinn, Joe. Syria Chemical Weapons and the Britam Defence emails. Sott.net. 28 Aug. 2013. 59 Russia Today. Saudi black op team behind chem weapons attack – diplomatic sources. rt.com. 4 Oct. 2013b. 60 Mother Agnes Mariam of the Cross. The Chemical Attacks on East to Justify Military Right to Protect Intervention in Syria. The International Institute for Peace, Justice and Human Rights. 11 Sep. 2013. 61 HJ/HJ. CIA operative leads al-Qaeda in Syria. PressTV. 27 Jun. 2013. 62 Gucciardi, Anthony. Flashback: Yahoo Uncovered Syria False Flag in January. Infowars.com. 24 Aug. 2013a. 63 BBC. UN’s Del Ponte says evidence Syria rebels ’used ’. BBC. 6 May. 2013. 64 Gavlak, Dale and Ababneh, Yahya. Syrians In Ghouta Claim Saudi–Supplied Rebels Behind Chemical Attack. Mint Press News.

~ 20 ~ intervention in Iraq and Syria in 2014.71, 72

Despite the synthetic nature and the overwhelming body of historical evidence, this phenomenon is still met with hostility by many.73 It remains either unknown by the mainstream media at worst74 or an unregistered interest given anecdotal or dismissive attention at best.75, 76, 77, 78, 79, 80, 81

If Seneca were alive today, he might have described these seminal acts of terrorism as real to the layperson, contrived to the educated, and useful to those who rule. Nevertheless, we must remember that while the reasons given whenever calling upon soldiers may be contrived,82 the hardships they are required to endure are not.83, 84

▷ Neoclassical economics is junk science. The core axioms of neoclassical economics, the backbone of contemporary economic theory, are wrong. Markets are not natural systems akin to the laws of thermodynamics.85, 86, 87 Commercial advertising assists consumers in becoming less informed and less rational. This is the opposite of how markets are allegedly expected to behave. People do not always exercise rational preference, seek self maximization, always act on full and relevant information,88, 89 or

29 Aug. 2013. 65 Corsi, Jerome. Evidence: Syria gas attack work of U.S. allies. Prison Planet.com. 27 Aug. 2013. 66 Gucciardi, Anthony. Syria: US Aided Terrorists in Chemical Attack, Next. Infowars.com. 28 Aug. 2013b. 67 Roberts, Paul Craig. Syria: Another Western War Crime In The Making. Centre for Research on Globalization. 27 Aug. 2013b. 68 Russia Today. Turkey finds sarin gas in homes of suspected Syrian Islamists – reports. rt.com. 30 May. 2013a. 69 Milmo, Cahal. Revealed: UK Government let British company export nerve gas chemicals to Syria. The Independent. 2 Sep. 2013. 70 Russia Today. MIT study of Ghouta chemical attack challenges US intelligence. rt.com. 16 Jan. 2014. 71 Cartalucci, Tony. NATO’s Terror Hordes in Iraq a Pretext for Syria Invasion. New Eastern Outlook. 13 Jun. 2014. 72 SSM/NN. Links between ISIL, al-Muhajiroun,UK gov’t: Britain’s papers. PressTV. 2 Jul. 2014. 73 MJ, Wood and KM, Douglas (2013). What about building 7? A social psychological study of online discussion of 9/11 conspiracy theories. Front. Psychol, 4, pp. 1–9. 74 ReThink911. The Story the Times Missed. youtube.com. 23 Nov. 2013. 75 Free Fall. Take Your Calls Somewhere Else Part I. youtube.com. 27 May. 2013a. 76 Free Fall. Take Your Calls Somewhere Else Part II. youtube.com. 24 Jun. 2013b. 77 Free Fall. Take Your Calls Somewhere Else Part III. youtube.com. 19 Aug. 2013c. 78 Free Fall. Take Your Calls Somewhere Else Part IV. youtube.com. 19 Oct. 2013d. 79 Free Fall. Take Your Calls Somewhere Else Part V. youtube.com. 14 Dec. 2013e. 80 Free Fall. Take Your Calls Somewhere Else Part VI. youtube.com. 7 Feb. 2014a. 81 Free Fall. Take Your Calls Somewhere Else Part VII. youtube.com. 23 Mar. 2014b. 82 Woodward, Bob and Bernstein, Carl. The Final Days. Simon & Schuster. Nov. 2005., pp. 194. 83 CBC News. Malaria drug for Canadian troops called dangerous. cbc.ca. 11 Apr. 2012. 84 CBC News. 1 in 6 soldiers affected by alcohol-related or mental health issues. cbc.ca. 11 Aug. 2014. 85 Adbusters. Adbusters: Thought Control In Economics. Adbusters Media Foundation. 86 Lasn, Kalle and Adbusters. Meme Wars: The Creative Destruction of Neoclassical Economics. Seven Stories Press. Nov. 2012. 87 F. Ruccio, David. Jamming Neoclassical Economics. Occasional Links & Commentary on Economics, Culture and Society. 25 Oct. 2010. 88 J. Brulle, Robert (2013). Institutionalizing delay: foundation funding and the creation of U.S. counter–movement organizations. Climate Change, pp. pp. 1–14.

~ 21 ~ stand the most to gain through competition over cooperation.90

The word economy is rooted in the Greek οκονμος . It originally meant ‘good household management’. Yet some kinds of economic growth can be destructive.91, 92 The market mechanism of the profit motive does not always seek to maximize the public good.93, 94, 95, 96 Prices do not always reflect true costs.97, 98, 99, 100, 101, 102 A nation’s economic prosperity, as conventionally measured with the Gross Domestic Product (GDP), does not reliably correlate with its level of happiness.103 Therefore, it is not clear what exactly an economy is expected to do.

Every single critical life support system on our planet currently is in a steady state of decline. This is reflected in virtually all of the scientific journals over the past several decades. In spite of this, the basic tenets of neo–classical economics have not adapted. Some critics have described it as a pseudo–science inebriated with physics envy masquerading as a science. Like the god of central planning, the market god is not real.104

▷ Drug policies do not reflect reality. The supply and distribution of a significant proportion of the most dangerous illicit narcotics found on the streets of developed nations are facilitated through covert indirect governmental support, intelligence agencies, and prominent financial institutions.105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115 89 Lang, Amanda. Market Manipulation. cbc.ca. 9 Dec. 2013. 90 The Equality Trust. Publications. 3 Apr. 2012. 91 Lean Lim, Lin. Sex industry assuming massive proportions in Southeast Asia. ILO. 19 Aug. 1998. 92 Walsh, Shannon. H2Oil. Loaded Pictures. 2009. 93 C. Hughes, Dale. Design Life of 2330 Lamp. General Electric Company. 22 Dec. 1929. 94 Dannoritzer, Cosima and Ubeda, Joan. The Light Bulb Conspiracy. Media 3.14. 2010. 95 V. Mohan, Arun, McCormick, Danny, Woolhandler, Steffie, U. Himmelstein, David and Wesley Boyd, J. (2010). Life and Health Insurance Industry Investments in Fast Food. American Journal of Public Health, 100, pp. 1029–1030. 96 Boyd, J. Wesley, Himmelstein, David and Woolhandler, Steffie (2009). Insurance-Industry Investments in Tobacco. New England Journal of Medicine, 360(23), pp. 2483–2484. 97 Roberts, David. None of the world’s top industries would be profitable if they paid for the natural capital they use. 17 Apr. 2013a. 98 Cobb, Clifford, Sue Goodman, Gary and Wackernagel, Mathis. Why Bigger Isn’t Better: The Genuine Progress Indicator – 1999 Update. Redefining Progress, San Francisco. Nov. 1999. 99 Earthworks and Oxfam America. Dirty Metals: Mining, Communities and the Environment. Earthworks and Oxfam America. 11 Feb. 2004. 100 Patel, Raj. The Value of Nothing: How to Reshape Market Society and Redefine Democracy. Picador. Jan. 2010. 101 Garcia, Carmen and Gutierrez, German. National Film Board of Canada. 2009. 102 United Nations. United Nations Conference on Environment & Development Rio de Janeiro. United Nations Department of Economic and Social Affairs. 14 Jun. 1992. See sections 4.6 and 4.11. 103 Anielski, Mark. The Economics of Happiness: Building Genuine Wealth. New Society Publishers. Sep. 2007. 104 McMurtry, John. The Cancer Stage of Capitalism: From Crisis to Cure. Pluto Press. Jul. 1999., p. 328. 105 CitizenInvestigator. Former LA Police Officer Mike Ruppert Confronts CIA Director John Deutch on Drug Trafficking. youtube.com. 15 Nov. 1996. 106 , Michael. Banks Financing Mexico Gangs Admitted in Fargo Deal. Bloomberg. 28 Jun. 2010. 107 Webb, Gary. Dark Alliance: The CIA, the Contras, and the Cocaine Explosion. Seven Stories Press. Jun. 1999. 108 Booth, Kevin. American Drug War: The Last White Hope. Sacred Crow. 2007.

~ 22 ~ Public drug policies in Western nations are often criticized as ineffective. Critics argue that reforms are necessary because existing policies are unintentionally undermining the safety of those they were allegedly intended to protect,116 or conversely more severe measures are necessary to continue to protect the general public.117 Both ends shared the assumption that the legislation was drafted in good faith – however inadequate, naïve, misinformed, or ideologically driven its authorship.

However, the assumption that public safety was ever a genuine consideration to begin with must be reconsidered if there is any compelling evidence that any amount of any type of illicit narcotic’s production or distribution was coordinated within the highest levels of government. It may be more reasonable to say that the United States, as an example, was never serious to begin with than to explain away its self described ‘War on Drugs’ as a failure.

Drugs have been used for centuries by those in positions of influence to do everything from regulating our behaviour118, 119, 120 to undermining the health and sovereignty of foreign nations.121

Historical analysis reveals virtually no consistent rhyme or reason in how the social perception of a given narcotic correlated with the actual quantifiable level of harm implicated. Heroin was once a household children’s cough medicine,122 opium in the snuffbox of every gentleman of distinction, and lithium was found in 7-Up.123 Today we reserve methamphetamine for the “junky”; Oreos for the office;124 and socially validated125 alcohol overall more harmful126 than 109 Associated Free Press. Mexico drug plane used for US ’rendition’ flights: report. Associated Free Press. 4 Sep. 2008. 110 Newman, Alex. Mexican Drug Trafficker Says He Worked With Feds. New American. 29 Apr. 2011. 111 S. Michaelson, . Memorandum of Law in Support of Motion for Discovery Regarding Defense of Public Authority. NarcoNews.com. 29 Jul. 2011. 112 Conroy, Bill. Assassinated DEA Agent Kiki Camarena Fell in a CIA Operation Gone Awry Say Law Enforcement Sources. NarcoNews.com. 27 Oct. 2013. 113 Paul J., Watson. NY Times: Afghan Opium Kingpin On CIA Payroll. Prison Planet.com. 28 Oct. 2009. 114 Attias, Bernardo. The U.S. Government Is the Biggest Drug Dealer in the World. 12 Oct. 1996. 115 Johnson, Barbara. Two CIA Agents Arrested by Minutemen while Crossing Mexican Border with 1300 Pounds of Cocaine. World News Daily Report. 23 Apr. 2015. 116 Geddes, John. Justin Trudeau and the politics of pot. Maclean’s. 28 Aug. 2013. 117 Conservative Party of Canada. Here for Canada. conservative.ca. 8 Apr. 2011., p. 46. 118 S. Wilsona, Andrew, Taylora, Timothy, Constanza Cerutic, Maria, Antonio Chavezd, Jose and Reinharde, Johan et al. (2007). Stable isotope and DNA evidence for ritual sequences in Inca child sacrifice. PNAS, 104, pp. 16456–16461. 119 Cook, Tim (2000). "More a medicine than a beverage": ’Demon Rum’ and the Canadian Trench Soldier of the First World War. Canadian Military History, 9, pp. 6–22. 120 Samuel, . French bread spiked with LSD in CIA experiment. The Guardian. 11 Mar. 2010. 121 Wikipedia. Opium Wars. wikipedia.org. 4 Nov. 2013b. 122 Edwards, Jim. Yes, Bayer Promoted Heroin for Children – Here Are The Ads That Prove It. Business Insider. 17 Nov. 2011. 123 Best, Jason. Lemon, Lime–and Lithium? Turns Out, 7-Up Used to Contain the Potent Drug. takepart.com. 16 Sep. 2014. 124 Schroeder, Joseph. Student–faculty research suggests Oreos can be compared to drugs of abuse in lab rats. Connecticut College. 15 Oct. 2013. 125 Faculty of Land & Food Systems. UBC Wine Research Centre. wine.landfood.ubc.ca. 23 Nov. 2013. 126 J. Nutt, David, A. King, Leslie and D. Phillips, Lawrence (2010). Drug Harms in the UK: a Multicriteria Decision Analysis. The Lancet, 376, pp. 1558–1565. See figure 2.

~ 23 ~ crack cocaine and heroine for every other occasion.

These arbitrary narcotic social values are whatever we need them to be, rationalized only after the fact that a historical precedent had already been established.

▷ No one is completely free. To be free is to be independent of influence which no one is. We are all subject to influence. Had it been otherwise there would never have been any prospect for commercial advertising, information would never have become a corporate commodity,127, 128 and an honest media would never have become a rarity – unavailable when its observations would have been valuable,129, 130, 131, 132 front and centre when not.133

▷ Legal systems regulate the power of those without any and those that threaten it. The political elite are seldom held to the same account as those beneath them.134, 135, 136, 137 Historical analysis suggests the former is among the leading causes of death.138 Some have argued it exists primarily to protect the interests of a handful of principle benefactors139, 140, 141, 142, 143, 144 and not to make changes in the public interest.145

International government institutions espouse a commitment to universal human rights, equality before the law, and freedom from conflicts of interests while privately remaining reluctant to implement.146

127 Santoso, Alex. Who Owns What on Television?. Neatorama. 7 Jul. 2008. 128 Nagata, Kai. Why I Quit My Job. kainagata.com. 8 Jul. 2011. 129 Parry, Robert. Contra–Cocaine Was a Real Conspiracy. consortiumnews.com. 2 Dec. 2012. 130 ReThink911.org. Open Letter to from the ReThink911 Campaign. Architects & Engineers for 9/11 Truth. 9 Nov. 2013b. 131 ReThink911.org. ReThink911 Ads Spark Public Debate in Canada. Architects & Engineers for 9/11 Truth. 9 Sep. 2013a. 132 Warner, Kip. Enza Uda Associate Producer CBC News Go Public. thevertigo.com. 18 Mar. 2011b. 133 CBC News. Tim Hortons coin thrower found guilty of assault. cbc.ca. 4 Sep. 2013d. 134 A. Kissinger, Henry. Cable P860114–1573_MC_b. wikileaks.org. 10 Mar. 1975. 135 K. Piff, Paul, M. Stancato, Daniel, Côté, Stéphane, Mendoza-Denton, Rodolfo and Keltner, Dacher (2012). Higher social class predicts increased unethical behavior. PNAS, pp. 1–6. 136 Fielding, James. Police gunman told me to ignore paedophiles says ex-child protection officer. The Daily Express. 20 Oct. 2013. 137 Lawyers Against the War (LAW). Will Dick Cheney be Arrested in Canada on War Crime Charges?. globalresearch.ca. 28 Sep. 2013. 138 J. Rummel, Rudolph. Statistics of Democide: Genocide and Mass Murder since 1900. LIT Verlag. Nov. 1998. 139 S. Wilsona, Andrew, Taylora, Timothy, Constanza Cerutic, Maria, Antonio Chavezd, Jose and Reinharde, Johan et al. (2007). Stable isotope and DNA evidence for ritual sequences in Inca child sacrifice. PNAS, 104, pp. 16456–16461. 140 Lukacs, Martin and Groves, Tim. Canadian spies met with energy firms, documents reveal. The Guardian. 9 Oct. 2013. 141 Bowie, Nile. AFRICOM Report: Combating Chinese Economic Encroachment in Central Africa. Activist Post. 23 Mar. 2012. 142 infiniLor. Witness to murder at Indian Residential School. youtube.com. 8 Jul. 2008. 143 Towne, Jake. Cynthia McKinney and the Alleged 5,000 Dead Hurricane Katrina Inmates. Champion of the Constitution. 5 Oct. 2008. 144 Bender, Bryan. Pentagon lagged on pursuing porn cases. The Boston Globe. 5 Jan. 2011. 145 Kenneth Galbraith, John. Report From Iron Mountain – On The Possibility And Desirability Of Peace. The Dial Press. 1967. 146 United Nations. Sellström readout. webtv.un.org. 1 Sep. 2013. vid. 26 minutes, 35 seconds onwards.

~ 24 ~ Government tolerates democracy only so far as the latter remains merely cosmetic and is not permitted to actually function in any meaningful way.147 Bona fide democracies have no need for toggle switches.148, 149

This should not discourage people into believing that everyone in government ought to be treated with suspicion, or that government can never be a constructive influence in civic life. There are many in government that strive to improve the quality of life for everyone. The problem is simply that they are seldom found in positions of any meaningful authority.

▷ Man can dig his own grave with his knife and fork; allopathic medicine is largely institutionalized fraud. Disease begins on the plate.150 This is the reason for the disease state that we live in since nutrition and exercise are not as lucrative as merely treating symptoms. What we eat can sometimes kill us,151, 152 degrade our intelligence,153, 154 or heal us.155

Conventional medicine is allopathic medicine. Allopathic medicine is pharmaceutical medicine. Pharmaceutical medicine culminated in 106,000 fatalities in 1994 due to adverse drug reactions (ADR), just in the United States, not counting overdoses, and under the direction of credentialed allopaths. This placed the paradigm between the United States’ fourth and sixth leading causes of death in that year.156 By estimation approximately 2,700,000 fatalities can be attributed to the use of allopathic medications between the years of 1983–2010.157, 158, 159

Treatment aside, even just the allopathic approach to preventative medicine has been at least as damning.160 Additionally, the health insurance industry has little interest in the health and well being of the general public.161, 162

147 Coup Media Group. Occupy Wall Street Poll. coupmedia.org. 22 Apr. 2012. Select the Votes column to sort demand by vote. 148 Wikipedia. Order in Council. wikipedia.org. 11 Sep. 2013a. 149 Government of Canada. Section 32–33 Application of Charter. pch.gc.ca. 14 Aug. 2013. 150 Statistics Canada. Leading Causes of Death by Sex. Statistics Canada. 25 Jul. 2012. According to Campbell, all of the top three causes of death in Canada in 2007 identified by StatsCan are entirely dietary. 151 Séralini, Gilles-Eric, Mesnage, Robin, Clair, Emilie, Gress, Steeve and Spiroux de Vendômois, Joël et al. (2011). Genetically modified crops safety assessments: present limits and possible improvements. Environmental Sciences Europe, 23, pp. 1–10. 152 Campbell, T. Colin. The China Study: The Most Comprehensive Study of Nutrition Ever Conducted and the Startling Implications for Diet, Weight Loss and Long-term Health. Benbella Books. 2006. 153 CBC News. How ’toxic’ is sugar?. cbc.ca. 4 Oct. 2013c. 154 Connett, Paul, Beck, James and Micklem, H. Spedding. The Case Against Fluoride: How Hazardous Waste Ended Up in Our Drinking Water and the Bad Science and Powerful Politics That Keep It There. Chelsea Publishing. Oct. 2010. 155 Cavusoglu, Kultigin and Guler, Perihan (2009). Protective effect of kombucha mushroom (KM) tea on chromosomal aberrations induced by gamma radiation in human peripheral lymphocytes in-vitro. Journal of Environmental Biology, 31, pp. 851–856. 156 Lazarou, Jason, Pomeranz, Bruce H. and Corey, Paul N. (1998). Incidence of Adverse Drug Reactions in Hospitalized Patients: A Meta-analysis of Prospective Studies. JAMA, 279, pp. 1200–1205. 157 Prousky, Jonathan E. (2012). Toxicology of Vitamins. JOM, 27, pp. 3–4. 158 Lindsey, Stuart (2012). Substituting Vitamins and Supplements for Pharmaceuticals in Type 2 Diabetes. JOM, 27, pp. 5–8. 159 Leape, Lucian L. (2000). Institute of Medicine Medical Error Figures Are Not Exaggerated. JAMA, 284(1), pp. 95–97. 160 Z Miller, Neil and S Goldman, Gary (2011). Infant mortality rates regressed against number of vaccine doses routinely given: Is there a biochemical or synergistic toxicity?. Human & Experimental Toxicology, 30, pp. 1420–1428.

~ 25 ~ By contrast, in considering the dangers of some natural treatments, but twelve fatalities were allegedly attributable to vitamin supplements during that same time span of 1983–2010.163 Note that these were allegations only and remain unproven.

Natural treatments are frequently referred to as “alternative medicine”. Given that natural approaches have been used for at least 20,000 years,164 with the allopathic paradigm a relatively late comer in recent centuries, merit of either aside, it is more rational to reserve the term “alternative” to that which proposes a deviation from an established norm – especially when alternative to some is the established norm for many.165

▷ Agribusiness is destroying the planet. Agriculture is our principle means of interacting with the planet. Changing how we produce, distribute, and select our food solves many global problems.166, 167, 168, 169, 170

▷ Subjugation of a nation can be made through debt without resorting to the overt use of force. Usury, including fractional reserve banking, is a form of slavery.171, 172 One might argue therefore that trading in debt is the most prevalent form of human trafficking. Debt is the tool of choice in an era of globalization.173 This theme will be explored in section 8.4.3.

▷ Corporations are not people. The notion that corporations deserve the same rights as living human beings has proven itself absolutely catastrophic.174, 175 People have been running shipping companies and selling

161 V. Mohan, Arun, McCormick, Danny, Woolhandler, Steffie, U. Himmelstein, David and Wesley Boyd, J. (2010). Life and Health Insurance Industry Investments in Fast Food. American Journal of Public Health, 100, pp. 1029–1030. 162 Boyd, J. Wesley, Himmelstein, David and Woolhandler, Steffie (2009). Insurance-Industry Investments in Tobacco. New England Journal of Medicine, 360(23), pp. 2483–2484. 163 American Association of Poison Control Centers. NPDS Annual Reports. aapcc.org. 164 Hardy, Karen, Buckley, Stephen, Collins, MatthewJ. and Estalrrich (2012). Neanderthal medics? evidence for food, cooking, and medicinal plants entrapped in dental calculus. Naturwissenschaften, 99, pp. 617–626. 165 Trofimova, Anna. Why Russians prefer alternative medicine. Rossiyskaya Gazeta. 23 Aug. 2013. 166 United Nations News Service Section. Rearing cattle produces more greenhouse gases than driving cars, UN report warns. un.org. 29 Nov. 2006. 167 (2009). Livestock and Climate Change: What if the key actors in climate change are…cows, pigs, and chickens?. , 22, pp. 10–19. 168 CBC News. New Report Finds Almost Half of the World’s Food Goes to Waste. cbc.ca. 10 Jan. 2013b. 169 Kenner, Robert. Food Inc. Magnolia. 2008. 170 Colquhoun, James and Bosch, Laurentine. Food Matters. Passion River Films. 2008. 171 Griffin, G. Edward. The Creature from Jekyll Island: A Second Look at the Federal Reserve. American Media. 2010. 172 Standing Committee on Banking and Commerce. Minutes of Proceedings and Evidence Respecting the Bank of Canada. Printer to the King’s Most Excellent Majesty. 1939. 173 Perkins, John. Confessions of an Economic Hit Man. Plume. Dec. 2005. 174 Achbar, Mark and Abbott, Jennifer. The Corporation. Zeitgeist Films. 2004. 175 Garcia, Carmen and Gutierrez, German. National Film Board of Canada. 2009.

~ 26 ~ wares for thousands of years without requiring legal fictions. This theme will be expanded upon in sections 4.5 and 4.14.

▷ Genes are a cop out. Very little of what we call human nature is actually genetic. Genes specify human needs, not behaviour. There is no such thing as “default” human behaviour. Some of what we call human nature is cultural and environmental influences that are not universal. Our theories of morality to the way we reason about space and time are sometimes subject to environmental influences.176 Where the line is drawn between variability and the deterministic still remains controversial. This will be expanded upon in section ??.

It is probably obvious now, but those working on this game are challenged to read and think critically. This is especially challenging in an era where it is becoming increasingly difficult to do so.177

176 J., Henrich, S.J., Heine and A., Norenzayan (2010). The weirdest people in the world?. The Behavioral and brain sciences, 33, pp. 61–83. 177 Wilson, Timothy D., Reinhard, David A., Westgate, Erin C., , Daniel T. and Ellerbeck, Nicole et al. (2014). Just think: The challenges of the disengaged mind. Climate Change, 345, pp. 75–77.

~ 27 ~ 4 Terms and Concepts

The following is a collection of terminology used in various places in this book. Some of these terms appear in the fictional Leading Characters, Timeline, and Game World.

4.1 Albedo The proportion of incoming light reflected by a surface. This is the ratio of reflected light to total incident light. A material with an albedo of 1 is a perfect mirror whereas a material with an albedo of 0 absorbs all incident light.

4.2 ATATÜRK NAU–CIA’s cryptonym for Arda Baştürk. The name is drawn from Mustafa Kemal Atatürk (1881–1938 A.D.), an Ottoman and Turkish intellectual, army officer, writer, statesman, and first president of the Republic of Turkey. See section 5.1 for more on Arda.

4.3 Bancor A global currency proposed in the early 1940s by the British economist John Maynard Keynes. On 13 April 2010 the Strategy, Policy and Review Department of the International Monetary Fund published a paper178 recommending the world adopt the bancor and create an international central bank to administer it. The game world adopts the small Greek beta character ‘ β’ as the bancor’s currency symbol.

4.4 Cornucopianism The term cornucopia comes from the Greek legend of the magical horn of plenty. It was capable of providing the bearer with an abundance of anything desired.

Today cornucopianism is an economic school of thought that argues increased demand for resources as a function of time can always be met with increases in the means used to acquire them. As an example, advocates sometimes argue that peak oil is not a problem because either we will never run out, new innovations will reveal new reserves, or future technological advances will provide alternative forms of energy in time.

This position implicitly requires that systems with aspirations for infinite growth never outgrow their hosting environments, either because the environment is treated as infinite or for some other reason. This is contrasted with Malthusianism. 178 Strategy, Policy and Review Department of the International Monetary Fund. Reserve Accumulation and International Monetary Stability. imf.org. 13 Apr. 2010.

~ 28 ~ 4.5 Corporate Personhood A corporate charter creates a legal fiction with many of the fundamental rights of an actual human being. These may include the rights to own and sell assets, and to sue and be sued. In the context of the law a corporate person is treated very similarly as a living human being.

Critics argue that personhood ensures that actual individuals responsible for its direction are shielded and seldom personally held accountable. Advocates for corporate personhood argue it promotes economic prosperity which increases the quality of life for the general public.

4.6 Earth Return Vehicle (ERV) Earth return vehicles are capable of ascending from the surface of Mars and directly returning to Earth. Once they land on Mars, they can refuel themselves automatically from the atmosphere using the Sabatier reactor technology (section 4.17).

4.7 Endothermic Reaction A chemical reaction that requires external energy to be added. An example would be cooking an egg. The egg does not change unless you add heat to it. This is in contrast with an exothermic reaction.

4.8 Exothermic Reaction A chemical reaction that releases its own energy. An example would be burning wood fuel. As the fuel changes, it releases energy in the form of mostly heat.

4.9 Free Arcadia Partisans (FAP) Free Arcadia partisans are a political and ideological movement in the Arcadian Settlement in the years leading up to its independence. They were instrumental in the drafting of the Arcadian Constitution and in encouraging an Arcadia free of Terran political and economic control. Prior to Year Zero, its existence and activities remained clandestine.

4.10 Fifth Column A clandestine force that undermines a greater power from within. The term originated during the Spanish Civil War on Earth in reference to a ‘fifth column’ of supporters within the city of Madrid that would support the four columns of military forces attempting to place the city under siege.

4.11 In Situ From the Latin, in position. When used in space–related contexts it means a situation where something is not done or made available until in the actual field and not prior. An example is the manufacture of a particular resource that may have alternatively been imported.

~ 29 ~ 4.12 Malthusianism

Malthusianism is the doctrine of the 18th century English political economist, Reverend Thomas Malthus (1766–1834), so named after him. He argued that populations tend to increase at a rate that eventually exceeds their environmental carrying capacity. When this occured, he predicted that human suffering would inevitably follow.179

The 19th century Belgian mathematician, Pierre–François Verhulst, after having read Malthus’ seminal works, An Essay on the Principle of Population, produced his famous Verhulst equation shown in formula 4.1. It is solved here for population as a function of time.

퐾푃 푒푟푡 0 (4.1) 푃(푡) = 푟푡 퐾 + 푃0(푒 − 1)

푃 = population at time t 푡 = time 퐾 = maximum carrying capacity

푃0 = initial population 푟 = growth rate Note how in formula 4.2 that as time goes on, the population will always asymptotically approach K. That is, it keeps getting closer and closer to K, but can never actually surpass it. This is known as the law of population growth in ecology, the science of the interaction of organisms and their environments.

lim 푃(푡) = 퐾. (4.2) 푡→∞

When the Verhulst equation is plotted, it looks like figure 4.1. The population’s maximum carrying capacity is denoted by K. It starts off with near exponential growth, but then rapidly decelerates as resources are consumed.

K n o i t a l u p o P

P0

Time Figure 4.1 The Verhulst equation illustrating the law of population growth.

179 Malthus, Thomas. An Essay on the Principle of Population. St. Paul’s Church-yard. 1798.

~ 30 ~ Malthusians acknowledge the inherent danger of systems with aspirations for infinite growth operating within the constraints of a finite environment. This is often contrasted with Cornucopianism.

On the surface, although Malthus’ observations seem obvious at first glance, it is not to certain political and social demographics. It is also interesting to explore how these two contrasting schools of thought actually form the basis for much of the contemporary thinking underlying innumerable heated debates across the social, political, economic, and even technological strata. Although the law of population growth is not a political philosophy, but a basic tenet of ecology, its Cornucopian critics are usually some combination of a particular theological interpretation180 or of a secular neo–classical economic philosophy, like that of Milton Friedman (1912–2006) or his derivatives.

Critics of Malthusianism are sometimes drawn to attack Malthus himself by pointing out that Malthus had advocated extreme measures of population control, such as execution of surplus population. However, nearly always, it is evident that Malthus’ original writings on the subject were either not read, selected portions exaggerated, or his critics misunderstood that his philosophy as cited today is less concerned with his proposals as it is with acknowledging that our environment is finite.

4.13 Mars Direct Mars Direct is a $50 billion dollar plan proposed by American aerospace engineer Robert Zubrin (born 19 April 1952). It is an alternative to the prohibitively costly $450 billion dollar mission to Mars proposed by NASA in consultation with the United States government.

The then incumbent President George H. W. Bush announced the government’s proposal in 1989 as the Space Exploration Initiative. It called for the creation of the and a permanent Lunar base as intermediate steps for an ultimate destination to the Red Planet. If implemented, it was allegedly to be rolled out over the process of several decades.

Zubrin reasoned that it was totally unnecessary to construct giant costly space stations in low Earth , Lunar bases of questionable utility on a barren moon, and massive spacecraft carrying hundreds of people to achieve a manned mission to Mars. That, along with transporting all that is necessary to get them there, sustain them, and return safely. He argued that the government prefers a solution that is larger than necessary for a variety of reasons, including the illusion of progress, productivity, employment, contracts, and bureaucratic expansion. He argued that such a plan would come at the cost of monumental waste, misdirected resources, and, through increased mission complexity, an increased probability of mission failure.

Zubrin compared SEI proposal to the failed Arctic explorer, Sir John Franklin, who with government assistance in 1845 took two ships, the and Terror, each displacing more than 300 tonnes in an

180 Story, Raw. God won’t allow global warming, congressman seeking to head Energy Committee says. Raw Story Media. 11 Nov. 2010.

~ 31 ~ effort to navigate through the Northwest Passage. His ships carried excessive provisions, including heavy English silverware, but spared many of the critical items essential for the crew’s survival.

The crew met with an inevitable bitter end as they dragged heavy iron and oak sleds across the Arctic ice after having abandoned their vessels which became frozen in the ice. With shotguns useless in Arctic conditions and other heavy and inappropriate equipment, all 127 men perished to a combination of the elements and scurvy. It never occurred to them to take advantage of in situ resources, like fur coats, algae, seals, and fish.

Zubrin argued that the SEI’s mission architecture was the inverse of a sound engineering approach. He outlined in his book a minimalistic approach of travelling light, living off the land, and manufacturing the necessary rocket propellant for the return trip in situ, analogous to the efforts of early successful settlers on Earth, such as those who pushed through the American Western Frontier. Going to another planet is, according to him, no different. Indeed, the travel time to Mars is even comparable to that of navigating the Northwest Passage.

Zubrin suggested this trans–planetary travel to Mars is possible because of the wealth Mars already contains. It has an abundance of natural resources necessary for creating rocket fuels, water, plastic polymers, alloyed metals, glass, useful gasses like oxygen, semi–conductors, ceramics, and just about everything else one might require. All this he calculated at a fraction of the cost of NASA’s proposal and using technology that has been around since the mid–19th century.181 He maintains his plan could be realized in less than a decade by leveraging existing technology, as opposed to the several decades required of plans like the SEI.

4.14 Money As Free Speech In 1976 A.D., the Supreme Court of the United States ruled in Buckley v. Valeo that, while there must be limits on contributions to political campaigns, spending money to influence elections without limit is permissible. The logic being that since corporations are considered legal persons, and since the rights of persons are constitutionally protected under the 14th amendment, and since corporate media has the right to freedom of the press (speech), corporations therefore ought to have freedom of speech as well. Since they are not capable of speech in the physical sense, the closest analogue is money.

4.15 Regolith What most refer to as dirt. More technically, it is the the loose heterogeneous mixture of material that blankets the solid rock of a planet. Although the term may seem redundant with ‘dirt’ or ‘earth’, the latter refers to regolith from a particular planet while the former means regolith that contains organic materials which is not known to exist on Mars.

181 See the RWGS and Sabatier reactors in sections 4.16 and 4.17 respectively.

~ 32 ~ 4.16 Reverse-Water-Gas-Shift Reactor

The RWGS reactor is a method of producing oxygen (O2) from carbon dioxide (CO2). This is useful because the latter is plentiful in the Martian atmosphere at 95 %.

CO2 + H2 + →→→→→ H2O + CO (4.3)

The process has been known since the mid 1800s and works by reacting carbon dioxide and hydrogen gasses together over a copper–on–alumina catalyst. Aqua (liquid water) and carbon monoxide gas are produced as byproducts. This is illustrated in reaction 4.3.

The resulting aqua is then split via electrolysis to produce molecular hydrogen and oxygen. The hydrogen can be recycled back into the reactor and the carbon monoxide purged back out into the atmosphere or captured for other purposes.

The reactor needs to be at 400 ∘퐶 and at a low pressure. It requires about 180 watts of power, or about 3 푚2 of solar panels on a fully sunny day’s average solar flux. At that energy rate, you can expect to produce about 1 kg per day of oxygen, which is sufficient for a single person. The reactor requires power because it is an endothermic reaction. However, it is possible to use a Sabatier reactor in tandem which is an exothermic reaction to provide the heat required to drive the RWGS reaction.

To start the process, only a small amount of water is required which acts as a reagent. Otherwise one needs to import some hydrogen from Earth, but this only needs to be done once.

Some of the reactors featured in Avaneya are augmented forms of that just described which incorporate the electrolysis directly into the machine to produce O2 from the water produced, then cycling the H2 back into the reactor.

4.17 Sabatier Reactor

A chemical process for creating methane CH4 from CO2 and hydrogen. This is useful because carbon dioxide gas is plentiful in the Martian atmosphere at 95 %.

CO2 + 4H2 →→→→→ CH4 + 2H2O + heat (4.4)

The reactor needs to be at 400 ∘퐶 and at a low pressure. This makes it almost the same as the RWGS reactor except that it uses a different catalyst to produce methane instead of carbon monoxide. You can either use nickel, which is cheap, or ruthenium–on–alumina, which is safer but more expensive. This process is described in reaction 4.4.

4.18 Sierra

Mars Command (MARSCOM) designation for a ‘settler’ of the Arcadian Settlement using military phonetic alphabet.

~ 33 ~ 4.19 Sol Short for solar day, the length of time a planet takes to rotate completely on its polar axis with respect to the Sun. Terrans call this a day while call it a sol, though the solar day of the latter is slightly longer. The Arcadian method of timekeeping is described in detail in section 7.15. See also yestersol in section 4.21.

4.20 Specific Impulse

Written 퐼푠푝, the specific impulse is a useful metric for comparing rocket efficiency. Whenever you see the word ‘specific’ in a physics context, it means something per unit of mass. The units here are in seconds. Specific impulse measures the amount of time that one pound of fuel will burn to produce one pound of thrust – higher being better. This can be calculated using either SI or Imperial units, but the end result is usually expressed in seconds (SI).

As an example, compare the specific impulse of some different types of rockets:

Rocket Type Fuel 푰풔풑

Ancient Chinese Rocket Gunpowder 80

Modern Rocket (e.g. ICBM) Solid 250

Saturn V LOx / kerosene 260

Space Shuttle Engine LOx / H2 400

Nuclear Thermal Solid 800

Nuclear Thermal Liquid 1300

Jet Engine Compressed Air 3000

Table 4.1 Comparison of different rocket specific impulses. Note how high the specific impulse a jet engine offers. This is because it has an unlimited supply of free air from the atmosphere to feed the air compressor so it does not have to carry its own supply.

4.21 Yestersol The sol preceding the current one. This is the Martian analogue to the Terran yesterday, but different since the length of a sol on both worlds is different. The Arcadian method of timekeeping is described in detail in section 7.15. See also Sol.

~ 34 ~ 5 Leading Characters

Avaneya’s leading characters are drawn from a variety of places on Earth. This is to be expected of any space program with an international flavour. Nearly all of those deployed to Mars in the initial landing have strong scientific backgrounds in their respective fields.

All of the characters’ personalities can and should be revealed indirectly whenever possible. This may be through body language, object symbolism, or the circumstance of the events they participate in. Whenever more direct means are appropriate, a character’s own writings or their participation in a dialogue are possibilities as well.

The leading figure and protagonist, Arda Baştürk, ought to be the game’s most recognizable character. He is described below in section 5.1.

~ 35 ~ 5.1 Arda Baştürk

Arda was born 6 Capricorn, 33 B.R. in Istanbul, Turkey, to Dursun and Ayla Baştürk. His mother, Ayla, was an assistant to the manager of a local and independently operating bank. His father was an aeronautical engineer; both were non-practising secular Muslims. The latter initially began his career as a military intelligence officer before completing his engineering studies and securing employment with NASA’s Jet Propulsion Laboratory.

Shortly after Arda was born, what was then Turkey, became a member of the . This was a volatile era marked with enormous social, political, and economic change. The times were further accentuated as the European Union underwent a transformation from merely an association of states, to a confederation of states, and finally to a nation state in and of Arda Baştürk itself in 32 B.R.. The former Turkey and all other members Born 6 Capricorn, 33 B.R. were amalgamated under this transformation, dissolving the Birthplace Istanbul, Turkey traditional geopolitical boundaries that had existed between them for centuries. With political leaders around the world citing Gender Male

the transformation as a success story, within several years the Nationality European Union North American Union and others had followed in its example. Ethnicity Turkish

Arda’s father had been deeply engaged and highly influential as Hair Brown

a political writer and activist in opposing Turkey’s membership Eyes Green in the European Union, both before and after having obtained it. Several attempts had been made on his life, culminating in a car Age (Selection) 22 MYrs / 41 Yrs bomb that had left him paralysed and confined to a wheel chair. Age (Year Zero) 33 MYrs / 63 Yrs

He died several months later while still under hospital care. An ▷ Theoretical Physics Education autopsy identified the cause of death as polonium–210 induced ▷ Heliophysics

radiation poisoning of unknown origin. ▷ Professor of Physics Occupation ▷ Scientist

Ayla was reluctant to discuss politics or the circumstance Mission Titles ▷ Mission Commander surrounding Dursun’s death with her son. Nevertheless Arda was a precocious child and assembled enough with his uncle’s influence to sense his mother knew more. Over time he came to realize that she had suspected the attempts on his father’s life had not been the work of independently functioning marginalized extremists, but possibly contrived at a higher level.

By his late teens he was made aware of rumours connecting his father’s death with those having relations to a powerful banking cartel of international financiers. However, Arda found international finance uninteresting, convoluted, and of little relation to his principle passion and devotion – the world of science and natural phenomena. By the time he came of age he had conceded to his

~ 36 ~ mother’s advice in leaving the past behind and directed his interests into the more immediate and pressing realities of his own future.

As part of a working class family with only his mother and the occasional support of an uncle to make life possible, Arda had few opportunities that would not come without great labour on his part. It was a time where scarcity and hardship had become a way of life. They were of modest means and his mother knew two things were vital if his son were to achieve any level of security in the world – a higher education and Dursun’s earnest work ethic. With food shortages rampant, unemployment at record highs, protests, and riots in Istanbul’s public spaces on a weekly basis; she was convinced that these were essential if her son was to have any way out at all.

Arda went on to study at Istanbul Technical University which would would have allowed him a draft deferment. Although it was made possible through a combination of scholarships, they were not sufficient without his modest salary as an army officer cadet in the reserves.

Arda went on to graduate with a degree in theoretical physics. He was then commissioned as a lieutenant in the army. He completed his research doctorate in heliophysics two years later and his habilitation one year after that. He gained notoriety in having solved a central problem plaguing an early draft of his thesis haphazardly while deployed on a field exercise with his unit.

Although wanting to focus on his research, even with his qualifications, employment was scarce and the army reserves was one of the few opportunities available that was stable and left him with enough financial security to afford occasional time to private study. He was well respected in the army as a natural born leader; though his private conviction was one of resentment towards the internal politics of the institution.

Arda later underwent commando training with the 3rd Commando Brigade, Siirt, before accepting a posting with the Mountain and Commando Brigade garrisoned in Hakkari, European Union. Rarely able to afford independent travel, this was the next best option. During his stay with the unit he was deployed several times to various locations within the Himalayas to undergo advanced, high altitude, mountain warfare with 12 Gorkha Rifles; a regiment of the former Republic of India that was amalgamated during the Asian Union’s unification in 15 B.R.. Upon his return he rapidly rose through the ranks before acting as the unit’s liaison officer to oversee North American Union troops undergoing training in Hakkari.

Arda had always been described throughout his life by his peers and colleagues as highly perceptive and intelligent, though generally reserved. His thoughtfulness and demeanour earned him the unofficial nickname by his peers of ‘Zeno’.

Prior to his time on Mars, directing his above average intellectual gifts with passion to anything other than his principle love of science was a rarity. He avoided political topics. In a world he perceived as economically deteriorating he continued to find comfort in private study whenever time allowed from his military obligations of a senior officer.

~ 37 ~ At the time of his selection as Mission Commander for the Avaneya Initiative, Arda had left the army several years prior to take up a tenured teaching position at Istanbul Technical University where he lived with his mother.

~ 38 ~ 5.2 Henrik Nørgaard

Henrik was born 49 Aries, 32 B.R., in Copenhagen, European Union. He attended Lund University where he completed his undergraduate education in cellular microbiology. Following that he went on to complete a Masters in Molecular Biology and Microbiology. After completing his doctoral studies he pursued research opportunities with the Max Planck Institute for Medical Research in Heidelberg, European Union.

While in Heidelberg Henrik’s principle area of investigation was in the institute’s primary focus of alternative medicine seeking to promote recovery from illness through nutrition and lifestyle. During his time with the institute Henrik had more than 80 peer

reviewed papers published on topics ranging from clinical trials Henrik Nørgaard involving the use of traditional herbal remedies, the biochemistry Born 49 Aries, 32 B.R. of fermented foods, and efficient strategies for the recycling of biomass. Birthplace Copenhagen, European Union

Gender Male After several years with the institute Henrik went on to acquire his status as a naturopathic physician at the University of Nationality European Union

Copenhagen while lecturing part time at the university. As a Ethnicity Danish lecturer he was noted for his satirical world view, intellect, and an Hair Brown extensive set of mushrooms and herbs from virtually every corner of the Earth in his office. Eyes Blue

Age (Selection) 21 MYrs / 40 Yrs Following his accreditation as a naturopath, Henrik went on to open a medical clinic in Copenhagen. Shortly after a period of Age (Year Zero) 32 MYrs / 62 Yrs

lengthy evaluation he accepted a UNSA offer to venture to the ▷ Cellular Microbiology ▷ Molecular Biology & Education Red Planet as Chief Medical Officer and Chief Field Science Officer Microbiology (Experimental Team Lead). Henrik passed over the care of his ▷ Orthomolecular Medicine

▷ Naturopathic Physician clinic to the supervision of a close colleague in his absence. Occupation ▷ Scientist

▷ Chief Field Science Officer Mission Titles ▷ Chief Medical Officer ▷ Experimental Team Lead

~ 39 ~ 5.3 Khalid Zafar

Khalid was born 9 Pisces, 28 B.R. in Gaza’s Daraj Quarter. His father was a fisherman and his mother a baker.

Khalid attended The University of Gaza as an undergraduate under United Nations sponsorship to pursue an education in computer science. His studies were cut short when most of the campus was destroyed in an air strike. With difficulty he acquired the necessary paperwork with his father’s assistance to leave Gaza to find work in Cairo where he intended to complete his studies. Khalid managed to enrol in Cairo University in Giza after securing work to support himself in a local textile plant that produced North American Union military uniforms. After several years he ended up graduating with a Bachelor of Science in Electronics and Communications Engineering.

With the aid of scholarships he was accepted for graduate studies Khalid Zafar at Sapienza University of Rome where he completed a Masters of Science in Artificial Intelligence and Robotics. His thesis focused Born 9 Pisces, 28 B.R.

on addressing an old problem that had persisted in the field of Birthplace Haraat al-Daraj, Gaza artificial intelligence since its inception, the problem of general Gender Male intelligence. The GI problem is intelligence embodied in a machine that does not simply rely on ad hoc algorithms to solve familiar Nationality Israeli

problems, but intelligence sufficiently general enough that it can Ethnicity Palestinian carry out, or even exceed, the cognitive capabilities of an actual Hair Brown human being. Eyes Green Khalid then left Rome to take up a research position at Cambridge. Age (Selection) 17 MYrs / 32 Yrs He completed a PhD in Philosophy four years later. His novel philosophical approach to problem solving found its way into his Age (Year Zero) 28 MYrs / 54 Yrs

doctoral thesis where he revisited another old problem. His paper ▷ Electronics & Communications Qualia: The Stubborn Elephant in the Room gained wide recognition Engineering Education in the philosophical circles of academia. ▷ Artificial Intelligence & Robotics ▷ Philosophy After completing his graduate studies Khalid remained at ▷ Professor of Computer Cambridge as an instructor and to conduct postdoctoral research. Science Occupation ▷ Scientist Khalid travelled to Brescia annually at the invitation of the ▷ Software Engineer European Union Association for Artificial Intelligence as a regular Mission Titles ▷ Systems Team Lead speaker to attend Symposiums on Artificial Intelligence.

Khalid’s laboratory at Cambridge secured contracts to develop a number of technologies to fulfill UNSA procurement requests. Among other technologies he was directly responsible for writing the integrated onboard artificial intelligence used by the Mars Science

~ 40 ~ Laboratory Curiosity XI. This unmanned autonomous aerial vehicle was used to survey potential landing sites for the Avaneya Initiative mission.

While still at Cambridge, Khalid was invited to participate in the Avaneya crew selection at UNSA’s request. On 19 Scorpius, 11 B.R., after successfully enduring a battery of prescreening, interviews and training in Antarctica and Huelva, European Union, the selection committee presented an offer to accompany the Avaneya crew on their mission to Mars. He was informed that he would be travelling in the capacity of Systems Team Lead, a role responsible for leading a team of artificial intelligence specialists, knowledge engineers, cerebral mechanicists, cyberneticists, and communication specialists. He accepted the offer without hesitation.

Khalid has been described by his peers as highly intelligent, amiable, and with a quirky sense of humour. Having little choice but to endure the brutal realities of his early life, a positive outlook helped him through trying times.

~ 41 ~ 5.4 Leonard Kissinger Leonard was born 8 Gemini, 37 B.R., New York, in what was then the United States prior to its unification in 30 B.R..

Leonard attended the University of Oxford where he read Politics, Philosophy, and Economics at Christchurch College. While at Oxford Leonard was a member of the Bullingdon Club. He completed his undergraduate degree three years later, graduating with a first class Bachelor of Arts. Following that he pursued graduate studies at Princeton University’s Woodrow Wilson School with a focus on public policy analysis and theory of law. After completing his studies he accepted a teaching position Leonard Kissinger with Harvard. Born 8 Gemini, 37 B.R. By 19 B.R. his writings brought him to be a participant in a number of prominent public and foreign policy advisory groups. These Birthplace New York, United States included membership with the Trilateral Commission, the Aspen Gender Male

Institute, and ultimately holder of the title of President of the Nationality North American Union Council of Foreign Relations. Recognition of his public persona increased with his regular appearance as a guest speaker over the Ethnicity German years at the World Economic Forum. He had been involved with Hair Black the RANND Corporation as an external consultant throughout the Eyes Dark Brown period. Age (Selection) 25 MYrs / 48 Yrs In 18 B.R. while maintaining his teaching position with Harvard, Age (Year Zero) 37 MYrs / 69 Yrs Leonard accepted a position as a member of the board of directors at Chase National Bank. He maintained the position up to and ▷ Politics, Philosophy, & Economics Education following his entry into politics. ▷ Public Policy Analysis ▷ Theory of Law

Leonard entered the North American Union’s Department of ▷ Foreign Policy Adviser to State as a diplomat in 15 B.R.. He gained recognition in having Occupation North American Union Secretary of State been instrumental in applying diplomatic pressure on what was ▷ UN Deputy Mission Titles then Japan and Korea to become signatories to the Tokyo Secretary-General Partnership Accord creating a nearly unified far eastern Asian Union.

Two years later he became foreign policy adviser to the Secretary of State under the President of the North American Union, though still maintaining many of the responsibilities of a diplomat. These included the formalization of relations between the North American Union and the newly created Asian Union. He had been cited for his involvement in improving bilateral relations between the Asian Pacific and Central American Unions by promoting defence and economic cooperation.

Leonard’s approach has been described as realpolitik. Realpolitik as a political philosophy is one in which politics and diplomacy do not primarily concern themselves with ideological or ethical

~ 42 ~ concerns, but on use of force to achieve practical objectives. The term was first used in the 19th century by German writer and politician Ludwig von Rochau.

Leonard left his position as a foreign policy adviser to the Secretary of State in order to accept an appointment to the Office of the United Nations Deputy Secretary–General on 19 Scorpius, 11 B.R.. As part of his duties he was required to undergo a three week basic preparatory course for non–essential and diplomatic personnel in Antarctica prior to accompanying the Avaneya crew to Mars.

Leonard has always exercised care in minimizing the publicity of his personal life. However, it is well known that he has always been a strong patron of the arts. He is named as director of multiple foundations holding copyrights to the works of prominent artists and musicians, including the works of Philip Glass. Leonard was a Trustee of the Museum of Modern Art in New York City prior to his entry into politics. In addition, he was a noted financial contributor to a number of charity groups, including the Children’s Last Wish Fund. Rumours periodically surfaced that he was also said to own significant stock in North American Union–based asset management Carlyle Holdings, along with several pharmaceutical giants and weapons’ contractors.

Leonard is a descendant of the controversial Dr. Henry Kissinger. The latter was a noted diplomat and businessman, highly influential in the political circles of his time.

~ 43 ~ 5.5 Nayana Rai

Nayana was born 32 Virgo, 25 B.R., in Amritsar, Punjab. The state previously belonged to the Republic of India until its amalgamation and absorption into the Asian Union as the former became a signatory to the Tokyo Partnership Accord in 15 B.R..

Nayana came from a family of means with both of her parents as educators. Her mother was a professor at a local university where she taught mathematics. Her father was a private primary school science teacher.

Despite her privileged circumstance, Nayana attended the Indian Institute of Technology Bombay entirely on scholarships. She completed her undergraduate education in cellular microbiology in three years with dual minors in chemistry and computer science.

While at IIT Bombay she was an active and accomplished Nayana Rai gymnast. She took on the responsibilities of president of the Born 32 Virgo, 25 B.R. Mountaineering Club. During her time with the latter she frequently led mountaineering courses with the aid of Gurkhas Birthplace Amritsar, Punjab, India

deep into the Himalayas. This gave her the chance to supplement Gender Female her studies by examining the effects of high altitude and lower Nationality Asian Union ambient atmospheric pressure on the cellular metabolism of plants outside of a laboratory context. Ethnicity Punjabi

Hair Black Coming out of IIT Bombay, Nayana was accepted for masters studies at the Indian Institute of Technology Kanpur. Her Eyes Green

research was focused on the young field of space agronomy Age (Selection) 13 MYrs / 26 Yrs and terraformation, still entirely theoretical and existing nowhere Age (Year Zero) 25 MYrs / 47 Yrs beyond the laboratory and the literature it generated. She ▷ Cellular Microbiology received funding to carry out much of her work from NASA’s ▷ Chemistry Office of Biological and Physical Research. Education ▷ Computer Science ▷ Space Agronomy ▷ Terraformation Wrapping up her time with IIT Kanpur, Nayana went on to pursue ▷ Professor of Space doctoral studies with the University of Florida in Gainesville, Occupation Agronomy ▷ Scientist North American Union. She published several seminal papers

▷ Greenhouse Team Lead on the subject of terraformation and the prospects for a viable Mission Titles ▷ Terraformation Team Lead Martian agronomy. While conducting her research she was an instructor for several graduate level courses in the Department of Horticultural Sciences.

~ 44 ~ Receiving her PhD, Nayana remained at the University of Florida to work both in teaching and research. She was bestowed with the Distinguished Teaching Award from the university’s College of Liberal Arts and Sciences.

In 13 B.R. she publicly declined a lucrative offer from agricultural and biotechnology conglomerate Monsento. Several of her relatives in Punjab who had worked for generations as successful farmers witnessed their crops fail catastrophically after their having sowed Monsento genetically modified seed. As a result, the families were left bankrupt. Many of her relatives ended up committing suicide by drinking a popular herbicide produced by a Monsento subsidiary.

With sentiments of resentment, Nayana instead remained at the University of Florida with her acceptance of a tenured professorship within the Department of Horticultural Sciences. She also assumed the title and responsibilities of Director of Space Agriculture Biotechnology Research and Education (SABRE).

Nayana’s laboratory with SABRE gained international recognition when it was selected on 29 Aquarius, 12 B.R. as part of UNSA’s Office of the Avaneya Initiative dissemination of more than ten–thousand procurement requests to provide several key technologies. These technologies were to be used within UNSA’s ion–drive propelled impactor, Don Quixote V. The spacecraft’s objective was to initiate a Martian terraformation strategy by intercepting the 52048 Varuna with a nuclear warhead which it did so successfully on 37 Gemini, 9 B.R..

The detonation was calculated to deflect the asteroid into a Martian collision trajectory. The asteroid, being a C–type asteroid, contained high levels of hydrated (water–containing) minerals which, if released into the atmosphere as aerosols, had been predicted to greatly increase the total available cloud condensation nuclei. This would theoretically lead to an eventual thickening of the thin Martian atmosphere, a process taking an indeterminate length of time by even the best estimates.

At UNSA’s request Nayana was selected to participate in the Avaneya Initiative’s crew selection. She took advantage of her leave while on sabbatical to undergo a battery of interviews, followed by preparatory training and selection in Antarctica and the European Union’s Huelva.

On 19 Scorpio, 11 B.R., with crew selection complete, Nayana received a recommendation from the selection committee in the form of an offer to accompany the crew on their journey to Mars as both Greenhouse Team Lead and Terraformation Team Lead. The latter group would have minimal responsibilities initially. Her primary focus would be to ensure that the colony has a reliable food supply established in situ. She submitted her formal letters of resignation to the University of Florida’s Department of Horticultural Sciences and SABRE the same day.

~ 45 ~ 5.6 Senka Rukavina

Senka was born 12 Capricorn, 24 B.R., in Dalmatia, Mediterranean Union. This is a region located within what was known prior to 31 B.R. as Croatia.

Senka’s parents were organic olive oil and lavender farmers who had to cope with the economic uncertainties of life in the Mediterranean Union. With virtually no domestic market for their commodities, they sought export markets in the European Union to secure themselves a modest subsistence.

As part of life on a farm, Senka was exposed to large industrial and agricultural machinery at a very young age. She rapidly developed an aptitude for trouble shooting and solving practical mechanical problems as they arose in the field. She also had a curiosity for geology which was nurtured with her grandfather’s explanations of the many different naturally occurring clays and Senka Rukavina other materials the machines would inadvertently extract while tilling the earth. Born 12 Capricorn, 24 B.R.

Birthplace Dalmatia, Mediterranean Union Senka was able to take advantage of these interests in applying her knowledge while still a teenager to locate underground Gender Female

artesian aquifers. The Dalmatia region is fairly arid with water Nationality Mediterranean Union being a scarce resource. The aquifers proved vital in providing Ethnicity Croatian the family’s crops with much needed irrigation. Without sufficient water it would have been next to impossible for the family to Hair Dirty Blond

provide for themselves. Eyes Amber

Senka’s grandfather was a retired geology professor. He was Age (Selection) 13 MYrs / 24 Yrs

forced to leave his tenured position when the economy had taken Age (Year Zero) 24 MYrs / 46 Yrs a turn. Since then he worked the family farm for his remaining ▷ Mechanical Engineering Education years. ▷ Planetary Geology

▷ Mechanical Engineer Occupation Senka’s grandfather had watched Senka grow and noted, as ▷ Scientist others had, that she had exceptional intelligence. With only one ▷ Chief Flight Engineer year away from completing her secondary education, he shared Mission Titles ▷ Mechanics Team Lead ▷ Survey Team Lead with her the consequential advice that should she remain on the farm, her prospects were for a bleak future at best.

On her grandfather’s advice, Senka applied for and was accepted into the University of Oxford’s Merton College. Paid for entirely on scholarships, she completed her Masters in Planetary Geology where she studied under a number of notable areologists. She then went on to complete a DPhil in Mechanical Engineering.

~ 46 ~ Upon completing her studies at Oxford, Senka found herself at a crossroad in life as she tried to determine what to do next. At the suggestion of a close friend, she submitted her paperwork, though partially in jest, in answer to UNSA’s request for applications for the Avaneya Initiative. To her surprise she was selected to participate in more than twenty levels of interviews before finally being sent to Antarctica and Huelva in the European Union to undergo final selection and training.

Although noted for her strong and independent character, there were occasions when the selection committee made note of her preference for working independently as opposed to within a group.

Having achieved final selection, she was informed that she would be joining the Avaneya crew as Chief Flight Engineer, a responsibility which would include piloting the Avaneya spacecraft to Mars. Once on the surface, she would take advantage of her background in mechanical engineering as the Mechanics Team Lead in the maintenance and repair of vehicles and other equipment. With expertise in planetary geology she would also function as Survey Team Lead in their search for building materials, water ice, artesian aquifers, and mapping locations suitable for the erection of temporary and permanent structures.

~ 47 ~ 6 Timeline

The world Avaneya takes place in is highly self–referential. A fictional timeline is positioned relative to a year zero, with years preceding suffixed B.R., before the republic; while those following are suffixed A.R., after the republic. This is the convention adopted by Arda and his settlers at the time they assert their independence from Earth.

Note that years are defined as Martian years (MYr) with each equivalent to only about 320 Terran days. You may want to refer to section 7.15 for a detailed explanation of how Arcadians keep track of time on Mars.

Year zero’s placement relative to the Gregorian calendar is deliberately never made explicit. Inferentially, however, one can reason that it is proximate enough for a contemporary audience to still feel relevant, yet distant enough to still afford some creative license. This is important because, although Avaneya takes place in the future, it deals with many contemporary issues.

~ 48 ~ 6.1 Promises Made 44 Aquarius, 48 B.R. Noted for his modest and generally apolitical demeanour, renowned Nobel prize winning French astrophysicist and areologist Dr. Richard Lamothe publishes his autobiography. It contains the following passage which he does not elaborate or respond to, but quickly becomes cause for controversy.

"I cannot say with certainty with what public rationale the states of tomorrow will convince their citizens of the necessity of settlement on the Red Planet, only that it will be a lie."

— Reflections: Memoirs of Richard Lamothe, p.228.

48 Aries, 15 B.R. The last of the International Space Station crew return to Earth with the station subsequently decommissioned, deorbited, and incinerated during atmospheric reentry. The remaining materials impact over the mid–Atlantic. 12 Cancer, 14 B.R. NASA’s Zubrin spacecraft lifts off atop a 140 tonne capable Enigma–D heavy–lift booster from its launchpad at Cape Canaveral, North American Union. The manned module separates from the booster in low Earth orbit. It carries a crew of four with two flight engineers and two mechanics with combined specialities in geology and biogeochemistry. This is the first attempted piloted mission to Mars, implementing the Mars Direct mission architecture as a direct launch. The primary objective is to determine if the Red Planet ever harboured life, as well as to survey and explore. 2 Libra, 14 B.R. Zubrin completes its conjunction class transit by performing a deceleration manoeuvre, aerobreaking through the Martian atmosphere. It enters orbit to prepare for the lander stage of its mission which carries a 25 tonne payload of a habitat module and an Earth return vehicle (ERV). 3 Libra, 14 B.R. The Mars Direct crew contact Mission Control from the surface of Mars. They report the ERV’s chemical processing plant has been successfully brought online, producing oxygen, liquid water, and the methane/oxygen return propellant in situ. 24 Scorpius, 13 B.R. Zubrin ERV completes its mission objectives and lands at the Kennedy Space Center, North American Union. The mission is hailed as a success in providing an extensive Martian mineralogical data profile. The data inventory of Mars’ substantial mineral reserves includes location specific information

~ 49 ~ that was previously unknown until present. NASA maintains it failed to detect any recognizable biosignatures in the regolith sampled. 40 Sagittarius, 13 B.R. The bancor’s use as a global currency reaches the level of maturity where most of the world’s major central banks have completed their adoption. These include the North American Union, European Union, African Union, and Asian Union. 50 Sagittarius, 13 B.R. Professor Ramraj discovers a near–Earth, C–type Amor II asteroid, with a size comparable to from the Lincoln Near–Earth Asteroid Research laboratory, Socorro, North American Union. The discovery is rapidly assigned the designation 52048 Varuna by the International Astronomical Union. His findings are chronicled in the Minor Planet Circular where his calculations predict a near collision trajectory with Mars. 32 Capricorn, 13 B.R. Wikileaks publishes a leaked list of 163 purported attendees of the annual Bilderberg conference held three days prior at the Hotel de Crillon, Paris, European Union. Dr. Samuel Lieberman, director of the National Institute of Standards and Technology, and Adriaan , the Secretary–General of the United Nations, are among those listed. 2 Pisces, 13 B.R. The United Nations holds the Second International Mars Summit in Geneva, North American Union, with the purpose of discussing the options on the table for the second manned mission to Mars. The attendees number in the thousands, representing the states of the African Union, North American Union, European Union, and the Asian Union. Unlike the First Summit held in the years prior, this occasion has political delegations in attendance. In addition thousands of scientists, engineers, and philosophers attend as either guest lecturers or as part of any number of associations ranging from former Case For Mars conference members to The American Astronautical Society, NASA, the RANND Corporation, and others. The minimalistic Mars Direct182 approach of travelling light, living off of the land, and using indigenous materials to produce the fuel necessary for the journey home is again a central theme, but with greater emphasis this time on the nature of the time spent on Mars and material infrastructure required. 28 Pisces, 13 B.R. Leonard Kissinger, President of the Council of Foreign Relations, holds a symposium at the Harold I. Pratt House in New York City, North American Union. 1 Aries, 13 B.R. The Trilateral Commission holds its biannual meeting several months in advance, Tokyo, Asian Union.

182 See section 4.13 for more information on Mars Direct.

~ 50 ~ 2 Aries, 13 B.R. The Second International Mars Summit concludes and publishes its findings in the Report on the International Proceedings of the Mars Summit. The report contains the following excerpt.

...Zero capability missions have no value. The Mars Direct mission, having already demonstrated successfully the feasibility of sending humans to Mars, the bar now can and should to be raised. The attendees concluded nearly unanimously that it is not prudent to return merely for the sake of demonstrating that a safe return is possible – that having already been well established, but to create a permanent settlement on Mars.

Several candidate locations within geologically classified regions were considered. Strong evidence of underground liquid water reservoirs was presented.

Such a mission architecture would be primarily concerned with providing Earth with a unique, cutting edge, off–world, research facility to address major global issues of sustainability afflicting all nations. Secondarily, it would also serve long–term to bootstrap the first non–terrestrial expansion of human civilization under a United Nations mandate. Both goals are in the service of all mankind.

The report’s abstract outlines the following mission architecture.

I. Deploy a space station in low Earth orbit to act as a construction berth for trans–Martian spacecraft supplied by efficient single–stage–to–orbit (SSTO) vehicles.

II. Launch a spacecraft constructed within the space station that would transport only the minimum necessary to bootstrap a settlement, such as the cryogenic H2 needed to initiate the Sabatier and RWGS reactors to produce fuel and oxygen in situ, a nuclear reactor, and any excavation or other additional equipment.

III. Use a chemical propulsion system of H2/O2 to get to Mars, then use indigenous resources to supply the return propellant of CH4/O2. This requires the mission payload to include propellant for the outbound trans–Martian injection only.

IV. The crew would deploy construction equipment and machinery to process indigenous materials to create the Arcadian Settlement, a permanent outpost located in the Arcadia Planitia region. The settlement would fall within the jurisdiction of a United Nations extraterritorial mandate.

V. The spacecraft would return to Earth unmanned, but fully fuelled with the necessary methane/oxygen propellant synthesized in situ. This allows subsequent shipments to depart Earth bearing spare parts, machinery, additional excavation equipment, and whatever else the outpost requires.

VI. Personnel ferries departing Earth at regular intervals would continue to augment the settlement capability through providing additional manpower, materials as necessary, and expertise. This

~ 51 ~ would increase the number of available habitats, greenhouses, and other vital infrastructure necessary to support the research being conducted.

A preliminary draft of the Mars Treaty is produced starting with adaptations of the and Antarctic Treaty System of 1967 and 1961 A.D. respectively to create a new United Nations mandate in the spirit of the common heritage of humanity principle. The treaty provides the contractual basis for all parties and a boilerplate legal framework which sets the parameters for acceptable use of the Red Planet, necessitated now through the first human settlement and terraformation strategy in history. The Mars Treaty also outlines a road map; responsibilities for the exchange of scientific information; dispute resolution through the International Court of Justice; immigration, process, and criteria for citizenship; and each party’s financing obligations as a function of various economic metrics. In addition, the treaty also provides an agreement governing the activities of states outside of the Arcadian Settlement and its two moons, Phobos and . Some critics and legal scholars criticize the treaty for what they perceive as vagueness in arms control, military activities, weapons’ testing, mining, waste disposal, environmental protection, and certain types of commercial activities. While the legal context of this international and collaborative endeavour are defined in the Mars Treaty, the actual project it implicates is known as the Avaneya Initiative. The terraformation strategy is to be initiated by intercepting 52048 Varuna with a nuclear warhead and deflecting it into a Martian collision trajectory. Being a C–type asteroid, it contains high levels of hydrated (water–containing) minerals which, if released into the atmosphere as aerosols, were calculated to greatly increase the total available cloud condensation nuclei. Data was presented at the summit predicting that the direct effect of the introduction of these new dark carbonaceous aerosols would be a decrease in albedo since they would absorb more solar radiation. This would cause a cascading series of reactions resulting in an increase in the mean surface temperature and atmospheric pressure. Calculations predicted the asteroid would impact directly over the Martian south pole. The south pole contains a large sheet of buried CO2 (dry ice) approximately 8 m thick which, if sublimated, would act as a powerful greenhouse gas. As the sheet and its underlying water ice thaw and out gas, theoretically the atmosphere would thicken in response. 6 Cancer, 12 B.R. United Nations General Assembly Resolution 5571 is adopted to implement the Mars Treaty. The resolution augments Chapter III of the United Nations Charter to beget its seventh principle organ, the Space Agency (UNSA). The United Nations Office for Outer Space Affairs (UNOOSA) is dissolved. The former responsibilities that it held since its formation in 1958 A.D. are amalgamated under the new UNSA. The resolution requires members to accede state space agencies, such as the North American Union Aeronautical and Space Agency (NAUSA), (ESA), Asian Aerospace

~ 52 ~ Exploration Agency (AAXA), and others under a centralized UNSA administration. The public rationale given is that space exploration and settlement ought to be an endeavour for all mankind, best realized through the cooperative aggregation of resources as opposed to the costly technological and material redundancy practised during the former and United States during their . Lieberman is nominated to the Office of the President of the UNSA, resigning his position as director for the National Institute of Standards and Technology. 12 Cancer, 12 B.R. The UNSA’s Office of the Avaneya Initiative disseminates more than ten–thousand requests for quotations. 29 Aquarius, 12 B.R. UNSA’s Office of the Avaneya Initiative announces successful bids. The Iterum Shipyard contract is jointly awarded to Lockheed Martin– and Mercedes–Pratt & Whitney to robotically build a station remotely in low Earth orbit at a cost of β2.2 billion. The station is to be used as a general purpose interplanetary space vehicle construction platform. Lockheed Martin–Boeing is awarded a contract to provide three, leased, single–stage–to–orbit (SSTO), manned, re–usable, VentureStar VII class suborbital . These vehicles, known as Aravans,183 provide UNSA with heavy lift workhorses for ferrying personnel and materials to the Iterum Shipyard. They require no external solid booster rockets or external fuel tanks and each operate at less than a fifth of the cost of the long retired Space Shuttles. Lockheed Martin–Boeing is also awarded β21 billion worth of contracts to incrementally provide four direct–launch to Mars Tarikin184 ferries capable of carrying payloads of 500 personnel, plus provisions. The Tarikins will shuttle new immigrant settlers to Mars using a chemical H2/O2 propulsion system for the outbound trajectory, but then provided in Martian orbit with the return CH4/O2 propellant manufactured in situ. The Tarkins will depart Earth every 780 day minimum–energy launch window, taking 180 days to arrive at Mars in constant rotation with each other. Mitsubishi–Saab is awarded a contract to robotically construct Avaneya remotely within the Iterum Shipyard orbital berth at a cost of β7.8 billion. Avaneya will carry the bootstrap crew and large amounts of construction equipment. Volvo–John Deere is awarded a contract to provide chemical propulsion systems for Avaneya, Aravans, and Tarikins at a cost of β920 million. It is used for the outbound trans–Martian trajectory, with the return methane/oxygen (CH4/O2) propellant manufactured in situ. Carlyle Holdings’ Bronfman–Murdoch Aerospace is awarded a contract to provide four Mars Positioning System and the Mars Enhanced Telecommunications Orbiter carrying an optical relay and other instrumentation at a cost of β750 million. The five satellites are carried as part of the Avaneya mission payload.

183 Sanskrit अरवन् for a steed or horse. 184 Sanskrit तरीकिन for a ferry–man.

~ 53 ~ 4 Pisces, 12 B.R. Construction of the last of UNSA personnel training facilities in Antarctica and at a red–tinted river basin in Huelva, European Union, are completed. 40 Pisces, 12 B.R. The first course loaded crew candidates arrive and report to UNSA training facilities. Orientation and courses commence the following day. 15 Virgo, 11 B.R. The Iterum Shipyard is completed remotely in low Earth orbit. The station Earth at an altitude of 340 km, travelling at a speed of 27,400 km/h, and taking one and a half hours to complete one orbital revolution about the Earth. A Bronfman–Murdoch Aerospace which successfully bid for exclusive broadcasting rights completes its final season of a live reality program showcasing the construction of the berth. 19 Scorpius, 11 B.R. The crew selection is completed with nearly two–hundred personnel encompassing a broad range of specialities. These include flight engineers, artificial intelligence specialists, astrogeophysicists, cyberneticists, chemical and civil engineers, cold weather construction experts, mechanics, biogeochemists, geologists, areobotanists, a single xenobiologist, and others. Arda Baştürk is named Mission Commander; Henrik Nørgaard as Chief Medical Officer and Chief Field Science Officer; Senka Rukavina as Flight Engineer, Mechanics Team Lead, and Survey Team Lead; Khalid Zafar as Systems Team Lead; and Nayana Rai as Greenhouse Team Lead and Terraformation Team Lead. Further, Leonard Kissinger is appointed United Nations Deputy Secretary–General and will accompany the crew as a viceroy. 11 Sagittarius, 11 B.R. Mars Science Laboratory Curiosity XI, an unmanned autonomous aerial vehicle, surveys potential landing sites in Arcadia Planitia. The integrated onboard artificial intelligence is instructed to evaluate sites based on average available sunlight, underground water ice revealed by airborne shallow radar, mineralogy, surface geography, and other simultaneously weighted factors. 49 Sagittarius, 11 B.R. The Internet Assigned Numbers Authority allocates A001:CA7:3134::/48 IPv6 address block for general Martian use. 16 Capricorn, 11 B.R. Aravan III departs UNSA’s Cape Canaveral launchpad en route to the Iterum Shipyard, low Earth orbit, with a mission payload of materials for Avaneya. This includes the disassembled aeroshield, whole food, potable water, lab equipment, and its Haliburton nuclear reactor. 12 Aries, 11 B.R. Avaneya construction is completed remotely in orbit at the Iterum Shipyard, low Earth orbit.

~ 54 ~ 8 Taurus, 11 B.R. Launched from the Kennedy Space Center, North American Union, the Aravan II transporting all Avaneya crew dock successfully with the Iterum Shipyard, low Earth orbit. 10 Taurus, 11 B.R. Avaneya completes all system checks and disembarks from its Iterum Shipyard berth. It commences its six month journey with a delta–v from low Earth orbit injecting itself into a trans–Martian conjunction class orbital manoeuvre. 8 Cancer, 10 B.R. Henrik, Nayana, and others commence scheduled in–transit experiments in space medicine, life sciences, astronomy, physical sciences, meteorology, and human research. 2 Leo, 10 B.R. Avaneya engages a short burn of its manoeuvring thrusters to perform a debris collision avoidance in response to a warning Senka receives emanating from the Solar and Heliospheric Observatory. The observatory is stationed at the Lagrange 퐿1 gravity well stationed between the Sun and the Earth. 44 Virgo, 10 B.R. The crew wrap up all scheduled in–transit experiments in space medicine, life sciences, astronomy, physical sciences, meteorology, and human research. 9 Leo, 10 B.R. Khalid instructs Avaneya to deploy all four of the Mars Positioning Satellites (MPS) the ship is carrying into high Martian orbit. 10 Leo, 10 B.R. Assisted by retrorockets, Avaneya performs orbital capture by aerobraking into Martian orbit. The ship’s various instrumentation subsystems update the onboard areology database on the most recently available surface geography, weather dynamics, mineralogy, and other available telemetry. The Mars Enhanced Telecommunications Orbiter is released and deploys itself into areosynchronous orbit, 17,065 kilometers above the equator. 11 Leo, 10 B.R. Khalid advises UNSA that the Mars Enhanced Telecommunications Orbiter (METO) has successfully completed all self diagnostics. The satellite registers itself into UNSA’s Interplanetary Internet as an available communications node. This augmented form of the internet extended over to Mars becomes colloquially known as solnet. Terran downlink passes through a ground station at UNSA’s Jet Propulsion Laboratory staffed by Bronfman–Murdoch Aerospace contractors and provides tier 1 network access. Brokered by a satellite uplink with METO, Khalid’s Systems Team establishes contact with Mission Control routed over the solnet. The solnet becomes the defacto standard for Earth–Mars intercommunication and comes to replace the term ‘internet’ in the everyday parlance.

~ 55 ~ 6.2 Erecting Home 12 Leo 10 B.R. Arda consults with Senka and Nayana before issuing coordinates to the loadmaster for the preselected drop site within Arcadia Planitia. The location is one of several candidates previously catalogued by Curiosity XI and is located inside the impact crater of a relatively recent meteorite within the Diacria quadrangle. Senka and Nayana advise Arda that Curiosity found large amounts of invaluable water ice just below the surface. Arda clears Senka to begin jettisoning cargo. The cargo consists of mostly construction equipment, cryogenic liquid hydrogen, water, and other provisions the crew will need once on the surface. The equipment parachutes to the surface with no material loss, save one asset due to an attitude control computer malfunction. 13 Leo, 10 B.R. All crew alight Avaneya, boarding the Manu landing craft. No one is left onboard to minimize the risk of additional exposure to and cosmic radiation. The Mars Positioning Satellites provide a guided landing by tracking the critical manoeuvres of Manu’s terminal descent. The communications uplink with Mission Control is maintained throughout over a 4 minute delayed solnet connection. Manu makes contact and reports a successful soft landing. Nayana reports an outside temperature of −70∘C and an atmospheric pressure of 30 Pa. The time is local noon allowing for maximum photovoltaic use. Team briefings are conducted by team leads within Manu at the drop site. Concurrently the Recovery Team’s rovers guided by scouts on methanol motorbikes are dispatched to begin asset recovery across Arcadia Planitia. The region is also colloquially known simply as the planitia. The base’s nuclear reactor is brought online, along with several temporary mobile portable dynamic isotope power systems. The Construction Team begin minor excavation for anchoring and erecting temporary 34.0 kPa rated, aluminium strut reinforced, inflatable, polypropylene tents for the Command Centre and habitats. Nayana’s greenhouse tent is rated 6.8 kPa, sufficient for plant life, but requiring personnel to still don EVA suits. 14 Leo, 10 B.R. Gas extractors are brought online and run at full capacity capturing liquid oxygen, liquid nitrogen, argon, and carbon dioxide. The Sabatier, RWGS, and methanol reactors successfully produce methane, oxygen, hydrogen, methanol, and aqua. 15 Leo, 10 B.R. The Recovery Team complete their asset recovery of all undamaged parachuted cargo within a 92 kilometre radius from Manu’s landing site.

~ 56 ~ 40 Leo, 10 B.R. Vehicular onboard artificial intelligence and system firmware upgrades are remotely uploaded by UNSA’s Jet Propulsion Laboratory over the solnet with Khalid’s assistance. Senka’s Mechanics Team reports having completed the necessary preparations for the backhoes, front end loaders, bulldozers, tractors, graders, water ice processors, dump trucks, and other vehicles. They are now available for Construction Team use. Mining and excavation operations begin through a mixture of directly manned, remotely manned, and autonomous operation. 42 Leo, 10 B.R. The Mars Ascent Vehicles’ Alpha and Bravo alternate launches to perform rendezvous dockings with Avaneya in low Martian orbit. As methane/oxygen fuel stocks are manufactured in situ, they provide the ship with the propellant required for its return journey back to Iterum Shipyard. 21 Gemini, 9 B.R. Arda directs Senka to remotely issue the necessary command sequence for the fully refuelled Avaneya to begin its unmanned return. 37 Gemini, 9 B.R. 52048 Varuna is intercepted by UNSA’s ion–drive propelled impactor, Don Quixote V. The spacecraft’s payload of a nuclear warhead is detonated above the asteroid’s surface, successfully altering its trajectory into a collision course with the Martian south pole. 55 Taurus, 9 B.R. Tarikin I and its crew begin preparation to depart Cape Canaveral, North American Union, in response to Arda and Henrik’s UNSA advisory report of the completion of additional settlement infrastructure. This marks the beginning of the Tarikins’ continual supply of 500 new immigrants every 780 day launch window.

~ 57 ~ 6.3 Euphemisms 9 Scorpius, 3 B.R. Arda attends a ceremony commissioning the first settlement fire brigade. 14 Scorpius, 3 B.R. The Arcadian Settlement’s annual census notes a population now in excess of 10,000 colonists and growing. 22 Scorpius, 3 B.R. Originally published by the RANND Corp’s Edward Geisler, Transplanetary Commerce and Mars: The Red Horn of Plenty is hailed by Terran industry leaders for its influence at the launch party of the first of a series of private contractor launches en route to Mars. Beginning from Kiruna, European Union, a heavy lift spacecraft bears a payload of both personnel and cargo to be received at a starport in the Arcadian Settlement. Their application for commercial activity was validated by UNSA several years in advance. The launch is celebrated by industry tycoons as a landmark transformation as the first transnational corporations promote themselves to become the first transplanetaries. Principle stakeholders consist of an international private consortium representing a wide range of sectors including soft drink vendors, agricultural biotechnology, and aerospace. Geisler’s paper discussed the theoretical means and opportunities of achieving off–world commerce with Mars and the strategies to offset the initial high risks. It draws on the historical analogy of Europe’s expansion into the ‘New World’ of the Americas and the great wealth that was generated for export. 1 Sagittarius, 3 B.R. Arda receives a UNSA directive to terminate several of Henrik’s orthomolecular medical research programs occupying settlement laboratory space. In response to Henrik’s request for clarification, a UNSA liaison declines to respond in writing, but informally shares their intent to lease vacated facilities to pharmaceutical giant GlaxoKlineSmith. 41 Sagittarius, 3 B.R. Arda receives a UNSA directive to terminate the settlement’s kombucha brewery and cultured foods research program. All equipment and most other material assets are to remain behind in the vacated facilities. Although consumption of the ‘Arcadian Manowar’185 beverage had been a cultural practise in the settlement for years due to the simplicity in preparation, its widespread adoption had been preceded with Henrik’s discovery that those exposed to higher than average cosmic radiation, which is to be expected during extended EVAs, had on average benefited from its consumption. His research

185 The Portuguese man o’ war is a species of jellyfish (Physalia physalis) from which the beverage draws its name. It is said to resemble the ‘mushroom’ used in the drink’s fermentation.

~ 58 ~ conducted within settlement laboratories using in vitro trials provided compelling evidence that the fermented tea aided in the repair of radiation–induced cellular DNA damage. Until now, the beverage had been a minor export back to Earth where it had long been prized, widely sought after, and considered superior to Terran variants. The biochemistry of the archaic assortment of bacteria and yeast that acts as a symbiotic colony for its fermentation, as used for centuries on Earth, but metabolized now on Mars under a lower gravitational field, was a common explanation in Terran urban legends to explain its unique flavour and properties. The difficulty in obtaining a genuine bottle from a very limited stock drawn from a marketplace already saturated with Asian Union counterfeits ensured it remained rarely more than an expensive novelty on Earth. This had been the case since the first railgunned186 imports were received on Earth and celebrated symbolically as the first off–world consumables. Since that time the possession became symbolic of personal wealth and social status on Earth. With the termination of the settlement’s program, the diminishing modest stocks remaining on Earth were expected to be auctioned off at substantial value to private collectors. 22 Capricorn, 3 B.R. Arda receives a UNSA directive to reduce Nayana’s greenhouse water usage. The savings are intended to offset the requirements of a recently opened Coke bottling facility leasing the site of the settlement’s former cultured foods research facility. 47 Capricorn, 3 B.R. Arda receives a UNSA directive to terminate all of Henrik’s double blind herbal research. UNSA cites the NAU Congress and EU Parliament having recently passed legislation declaring herbs currently under settlement research, such as St. John’s Wort, echinacea, and a number of others, as controlled substances. Henrik pleads with UNSA to ban GlaxoKlineSmith and all other lobbyists from influencing UNSA policy. He relies on several hundred academic publications authored by his laboritories to validate the value of their research but is unsuccessful. 30 Aquarius, 3 B.R. Arda receives a UNSA directive to provide logistical support to recently landed Clown Food and subsidiary contractors requiring logistical assistance in erecting several kilometers of facilities to be used in the production of genetically modified beef, pork, and potatoes. The production is essential to provide for the supply chain of the newly expanded restaurant franchise across the settlement and neighbouring starport. Nayana requests Arda’s intervention. Arda pleads with UNSA to reconsider their decision. He points out that the availability of tillable land and potable water required to raise warm–blooded herbivores for human consumption is not efficient. It must be created through a process which is resource intensive. He adds that most of the energy used in their raising would be radiated off into space as heat long before it could be of any use as food. He stresses that resource management is critical and

186 See section 7.8.10 for an explanation and diagram of a .

~ 59 ~ the margin for error much smaller than on Earth, and therefore Clown Food’s requirements would place an undue burden on the Arcadian Settlement. UNSA does not respond directly. Arda attempts to initiate revocations of the contractors’ visas. UNSA overrides the revocation, privately reprimands him, and encourages his compliance with the original directive. 4 Pisces, 3 B.R. Arda receives a UNSA directive to terminate several of Henrik and Nayana’s mushroom ranches. The ranches were used to recycle plant waste into high quality sources of edible protein. The energy used in maintaining ranch temperature is reallocated for railgun use. Nayana advises Arda that all plant waste destined for the ranches, or as composted greenhouse fertilizer, must now be transported to newly created outdoor garbage fills across the planitia. Outdoor atmospheric conditions and cosmic radiation ensure the sterilized organic matter will neither decompose nor become reusable. 19 Aries, 3 B.R. Arda receives a UNSA directive to secure all new settlement energy requirements from private energy contractor Haliburton. Haliburton will provide UNSA with nuclear reactors that will superannuate the settlement’s standard practise of expanding primarily through new geothermal wells and photovoltaic panels. The directive specifies that these purchases are to be absorbed into the already existing sustainability research budget. 51 Taurus, 3 B.R. Arda receives a UNSA directive to terminate several settlement research laboritories. Some of these include key photobioreactor farms of Henrik’s that produce kelp fertilizer for greenhouse use. The resources freed are to be redirected to increased deuterium production for Terran export and energy demanding railgun use. Arda has no choice and reluctantly complies with the directive. UNSA cites technical reasons while Arda cites what he suspects is settlement public debt in private to his confidants.

~ 60 ~ 6.4 Civil Disobedience & False Flags 1 Gemini, 2 B.R. The beginning of a new year is marked with the first of a long series of partisan meetings held in secret. The clandestine symposium, self titled Free Arcadia, discusses a number of colonist grievances and the prospects for settlement independence. Arda, Henrik, Khalid, Nayana, and Senka are in attendance. Leonard is not directly informed. 4 Pisces, 1 B.R. The settlement holds an inauguration ceremony following Arda having won a landslide election. He accepts executive office as President of a newly formed interim settlement government of limited self–imposed independence. Arda and his staff operate from within the newly erected Arcadia Hall. UNSA acknowledges neither the interim government nor the occurrence of an election, though rumours on Earth surface following a high level leak to alternative media purporting emergency briefings being conducted within the North American Union’s National Security Council and Senate Select Committee on Intelligence. Leonard strongly cautions Arda in private against the "formation of a redundant administration exceeding the mandate of the Mission Commander and any other actions which may undermine the Office’s (UNSA) strategic interests and sovereignty." In New York the United Nations Security Council immediately convenes the first of a series of emergency meetings. 7 Pisces, 1 B.R. Promoted from the position of United Nations Deputy Secretary–General, Security Council Resolution 12661 is adopted appointing Leonard to the newly created ‘Office of the Governor of the Arcadian Settlement’. Though UNSA does not explicitly acknowledge the election in the wording of the resolution, it mandates that the ‘Governor’s seniority shall precede all other Arcadian Settlement Public Officials and Civil Servants.’ Arcadia Hall does not release a public statement in response to the resolution. 50 Taurus, 1 B.R. Arda puts the contentious issue of settlement independence before a public referendum of 15,343 colonists. The Mars Enhanced Telecommunications Orbiter is taken temporarily offline by Bronfman–Murdoch Aerospace personnel on Earth citing routine maintenance. The vote carries at 98%, but the news does not return to Earth through mainstream media. 51 Taurus, 1 B.R. The asteroid 52048 Varuna aerobreaks into the Martian atmosphere and disintegrates as predicted. Meteor showers are reported impacting the south pole’s dry ice sheets by the Terraformation Team. 55 Taurus, 1 B.R. Arcadia Hall issues a public advisory to alert the settlement of Arda having gone missing. The advisory is recalled when Nayana sets out by rover and locates Arda. She finds him drafting a document and reflecting under the light of a late night desert aurora.

~ 61 ~ ⋆ ⋆ ⋆ 1 Gemini, 0 A.R. (Year Zero) Intending to reach the general public of both planets, Arda formally addresses the Secretary–General of the United Nations through an open letter also available on the solnet.

- - - - -BEGIN SIGNED MESSAGE- - - - - Hash: SHA9 1 Gemini, 0 B.R. Attn: Secretary-General Executive Office of the Secretary-General, United Nations New York, North American Union Dear Mr. Secretary-General, Earth has been presented to date with the public face of a brave, off-world, United Nations research frontier passionately concerned with all manner of Terran sustainability. The mandate entrusting this first Martian settlement’s technical administration to my care under the higher strategic direction and oversight of your Office on Earth has been faithfully executed to date. Dare I say the settlers feel an affection for this world at least that for Earth with neither hesitation nor reservation in having now come to call it home. From the mission’s very onset, as far as most of Earth was concerned, the Arcadian Settlement had only the very best of intentions. But Mars is far from being a perfect world and I believe that we have fallen short of our pledge. In the beginning, unknown to even the settlers, the settlement had always harboured something inherently sinister — albeit elusive. It was difficult for it to have become obvious any earlier than it had, with nothing other than my own myopic, albeit dedicated attention to what I took to be the immediate and practical operational realities of daily as to blame. But with time a greater picture began to emerge and register — one which, in retrospect, ought to have been obvious from the beginning. By design we had always been covertly setup since inception to emerge one day nothing less than a banana republic. Fashioned as a contemporary Martian analogue ought, at your Office’s direction, we brought online starports and railguns for material exports. These have served to endlessly transport and catapult our deuterium and labour across the solar system back to Earth in a manner damningly reminiscent of the , silk, and spice of the peoples of centuries past. All the meanwhile our settlement’s sustainability research facilities, of which all Terrans are quite rightfully dependent upon, have been systematically dismantled, one by one, at your Office’s direction such that our wealth might be jettisoned ever more expeditiously. These spoils were then appropriated by a morally and environmentally bankrupt world, none other than Earth itself, alleviating none of the suffering of those who shouldered the financial burden that prompted our long and dangerous journey here. Yet we carried on. We had arrived on Mars under the impression that we had left Earth only to find ourselves still steeped in the very worst of it. This unfaltering bondage to Terran control and money lenders preceded even our terminal descent. If nothing else, that ought to be grievance enough. I watched and reflected quietly over the years as we laboured without pause to provide for an insatiable appetite for Earth’s select few, even as it became apparent that we were being exploited.

~ 62 ~ Such an appetite limited itself amidst all the beauty, splendour, and knowledge the Red Planet’s commons had to offer all mankind.

I watched our Martian chronicle unfold as Terran tentacles transformed it from the promised dream of a proud research frontier and beacon of hope it so nearly once was into a romanticized off-world sweatshop — paid for by both Arcadian and Terran alike.

We were never free, Mr. Secretary. We have been living a lie. At this time few of my neighbours are yet to come to terms with this. Goethe knew it as well centuries ago as we would be naïve not to know it now, for none are more hopelessly enslaved than those who would falsely believe themselves to be free. We came in good faith, laboured tirelessly in taming a dangerous frozen world, and sometimes paid for it with our lives.

I find myself now consumed with a crisis of conscience such that I am no longer able to faithfully execute the directives of your Office as Mission Commander of the United Nations extraterritorial outpost of the Martian Arcadian Settlement. Yet I have not abandoned the responsibilities I was entrusted with. On the contrary, I have never been more available to meet them than now. But I must act immediately if I am to act at all.

Arcadia’s greatest achievement occurred today with our realization that we can do better, that Earth has nothing that we need, that we will not follow in its poor examples, and that we ought to now be setting them. We are prepared to realize our plans to assert and, if necessary, defend a long coveted and well deserved independence, having reflected upon the perils of committing ourselves in doing so with the alternative.

It would be naïve to expect your sympathy or those you act in proxy for. But it does not matter now. What matters now is that we genuinely depart Earth’s antiquated mentality. This time with no thought of return. This time to realize the dream that carried us here in the first place. Per ardua ad astra.

Sincerely,

Arda Baştürk First President of the Republic Arcadia Hall, Republic of Arcadia Planitia, Mars

- - - - -BEGIN SIGNATURE- - - - - EYAECRCAYAFAl6wk2gACgkQLXnfK7bii22liCAeId3AabVzxJdxDm2U5As27NPgi 91gAn1DKIZGjtwcPb+lMp6LVgm3iCFPG =VA/I - - - - -END SIGNATURE- - - - -

Arda’s publicly accessible transmission over the solnet is accompanied with copies of all settlement research to date. He also includes a copy of the Rubicon Act. The Rubicon Act, also known more formally as the Constitution of the Republic of Arcadia Planitia, is the first of the settlement’s self–declared legislation. Its aim is to initiate and secure the colony’s

~ 63 ~ independence. The document was the product of years of underground drafting through covertly held partisan meetings and, if successful, would beget the first off–world autonomous city–state in human history. The cultural significance to Arcadians is such that their calendar embraces the event as its year zero epoch. Summaries of notable portions follow.

Article I ...declares the colony an independent, sovereign, self–governed, constitutional republic with the right to self determination. It is self–styled the Republic of Arcadia Planitia (RAP), colloquially known by its capital and sole city, Arcadia. Article II ...defines the head of state, the President. The President and his secretaries are democratically elected and serve for as long as the electorate permit. Since Arcadia is only a single city at this time, there is no large legislative assembly defined akin to a congress of sorts as sometimes found in the governance of nations of greater size. Article III ...discharges all of Arcadia’s public debt currently held by the International Monetary Fund and the World Bank, ceasing interest payments effective immediately. A debt limit is imposed and the borrowing of money for public use can be done, but only against the public’s credit and without accruing interest. The Terran central banks had been using the settlers’ registered biological property, that is, their UN issued extraterritorial birth certificates, and the security of the bearer’s labour as monetized collateral against a debt that preceded the settlement’s very existence. This was done without the knowledge or consent of the bearer. Article IV ...defines an independent judiciary whose judges are democratically elected. They serve for as long as the electorate permit. Article VII ...superannuates the Terran bancor fiat currency with the jenya, a rhodium standard. The new hard currency consists of platinum metals more rare and valued than gold. It is declared legal tender within the Republic, permitting all Terran commercial interests to acquire Arcadian goods and services in jenyas. Article VIII ...defines the state’s disposition on personal arms and defence. The constitution provides that the right of the people to responsibly bear arms must never be infringed, but that this is done solely as a safe guard for the protection of the people from either their own government, or that of another’s – but not in support of vigilante justice. The creation of a permanent standing military force at the government’s disposal is strictly forbidden. The raising of a militia is permitted. It has many restrictions. Ultimate executive authority over the chain of command is vested exclusively in the people of the republic. It cannot be used to persecute, suppress, or marginalize any peaceful demographic or demonstration. It is forbidden from deployment outside of Arcadia’s territorial regions. Its purpose is exclusively defensive of citizens and their property. Other restrictions require that its commissioned and enlisted ranks must be drawn exclusively from Arcadian citizenry; that membership among these ranks remain strictly voluntary; and that it shall not exercise a separate legal framework of military law distinct from civilian over its service members. It cannot be garrisoned or deployed domestically as an aid to civil power under any circumstance, real or contrived.

~ 64 ~ Article IX

...denies the deployment of munitions of war, suborbital, orbital, in outer space, or anywhere outside of Arcadia’s territorial regions.

Article XI

...enumerates the fundamental freedoms and human rights Arcadians enjoy with respect to their new state. They are adaptations from Earth’s former European Convention on Human Rights drafted in 1950 A.D.. These articles include the

(XI.) right of everyone to their life;

(XII.) right of peaceful enjoyment of one’s possessions;

(XIII.) prohibition of torture;

(XIV.) prohibition of slavery;

(XV.) right of liberty and security;

(XVI.) right to a fair trial;

(XVII.) prohibition of retrospective criminalization of acts;

(XVIII.)right of one’s privacy;

(XIX.) right of freedom of thought, conscience, and religion;

(XX.) right of freedom of expression;

(XXI.) right of freedom of assembly;

(XXII.) right of any of marriageable age to marry and establish a family;

(XXIII.) prohibition of discrimination;

(XXIV.)right to not be denied an education;

(XXV.) prohibition of the death penalty.

Article XXIX

...prohibits the state from ever providing itself with a not–withstanding clause, preventing a legal override of any part of the Act.

A failed denial–of–service attack lodged against the Terran solnet downlink station at UNSA’s Jet Propulsion Laboratory on Earth attempts to disrupt reception of Arda’s transmission. Khalid advises the station’s technicians that the attack originated from within the Terran station’s own local intranet

~ 65 ~ from behind a restricted access zone using several zero day vulnerabilities in the station’s transceiver software. His findings are published and popularized in Phrack, an electronic periodical for hackers. Arda’s independence letter propagates rapidly over peer to peer networks. Responses on Earth among Terrans following Martian events through independent media are predominantly in favour of the settlement’s commitment to independence. Mainstream media sensationalize and relate the situation as a costly mission in crisis at the mercy of a Mission Commander of questionable intentions and character. 2 Gemini, 0 A.R. Arda arrives by dirigible at Valles Marineris, a 4,000 km long canyon reaching up to 7 km in depth. He spends the sol in solitary reflection. The former NASA had long ago salvaged aluminium recovered in 2001 A.D. from the ruins of the former World Trade Centers in lower Manhattan for reuse in their Spirit’s cable shield. To remind future Arcadians of the reasons for independence, Arda has the Constitution engraved in aluminium recovered from the derelict craft as it came to finally rest at its UNESCO World Heritage Site on Harrowdown Hill, Mars. The plate is kept at Arcadia Hall on public display where it becomes known as the Lamothe Plate in reverence to the late Dr. Richard Lamothe, a renowned Nobel prize winning French astrophysicist, areologist, and author whose every volume is among Arda’s private collection. NASA had originally selected the metal for reuse with Spirit as a symbol of perseverance in the face of evil. Arda, convinced both the metal and the message it embodied was still relevant, selected it for reuse in the Lamothe Plate. 14 Gemini, 0 A.R. A Survey Team is deployed on a routine assignment using ground based shallow radar to scout for artesian aquifers. Travelling solo Arda departs Arcadia to rendezvous later with the team as previously scheduled. Midway he performs an EVA to dismount the rover and check one of its tires. While outside he is knocked from his feet as an explosion occurs on the other side of the rover from within the cabin. Although his forearm is shattered he sustains no life threatening injuries. With the rover’s first aid kit destroyed he improvises a make shift caste around the suit’s elasticized mesh by applying liquid water to solidify coatings of supportive frozen regolith around the wounded limb. Arda inspects the rover to find the cabin fully depressurized and the airlock’s seal too badly damaged to maintain positive pressure. The rover’s electronic controls are non–responsive, rendering the machine derelict in the middle of the Martian desert. The nearest rescue effort that acknowledges his emergency VHF transponder is an aquifer drilling rig crew at least 42 hours away. With only 35 hours of liquid oxygen available for his respirator, he extends it in time by syphoning cryogenic liquid oxygen from the rover’s propulsion system. The damaged rover is later towed back to a service bay in the city. Senka finds fragments of a pressurized container with a gaseous methane / oxygen signature that had been rated at 35,000 kPa. The mechanics rule out the rover’s own equipment since its fuel cells are methanol based and no other known onboard standard equipment required methane.

~ 66 ~ In an effort to determine who last serviced the vehicle, Senka notes that the electronic maintenance log is missing. Remnants in the cabin of what appear to be fragments of a timer based detonator are recovered with its components not matching any of the rover’s. 10 Cancer, 0 A.R. Arcadia Hall amends the Constitution by passing the Humanoid Act, stripping corporate legal fictions of the rights of human beings and denying money as a form of free speech. Transplanetaries with registered offices within Arcadia’s territorial region do so now without personhood legal protection. 42 Cancer, 0 A.R. Coke quietly closes down its production and bottling facilities. Several other transplanetaries, including the successful fast food franchise Clown Food, are seen at Starport Arcadia making preparations to return to Earth. None of the transplanetaries preparing to return to Earth issue public statements. 62 Cancer, 0 A.R. No. #2 Railgun is taken offline for unscheduled rail and insulator surface repair by Terran UNSA contractor, Solar Urban Moving Systems. Senka and her Mechanics Team are not informed. 20 Leo, 0 A.R. A longshoreman at No. #2 Railgun’s blockhouse reports an explosion that has taken out their compulsator power supply. The single largest loss of life ever to occur on Mars unfolds as two–hundred and fifty three people are killed and seven more injured as an adjacent residential district’s inflatable dome in Arcadia’s Fourth Precinct depressurizes from shrapnel. Henrik and staff rapidly triage the surviving casualties, rushing them to the city’s hospital. Arda convenes an emergency meeting with all state secretaries present at Arcadia Hall. Forensic evidence of a cryobomb’s methane / oxygen chemical residue is disclosed. Analysis suggests that at least the detonator is of probable non–Martian origin. Before the meeting adjourns, Terran media implicate the alleged identities of the ‘railgun bombers’ as Free Arcadia partisan extremists with ties to Arda. Shortly after the meeting adjourns, Arda begins reading a presidential address from Arcadia Hall covering his staff’s preliminary findings. The live broadcast is cut short prematurely from reaching a Terran audience due to technical difficulties with the Mars Enhanced Telecommunications Orbiter. Khalid tries to re–establish the uplink but discovers the satellite used to broker nearly all communication between the two planets has been remotely taken offline for an unscheduled systems diagnostic by Bronfman–Murdoch Aerospace contractors at UNSA’s Jet Propulsion Laboratory on Earth. Terran mainstream media networks reassure the Office of the President that Arda’s presidential address will be rescheduled for replay later simultaneous the Terran Superbowl. Leonard consults with Arda privately and advises him to step down from his political position of President in light of the optics and amidst growing pressure from UNSA. He maintains that UNSA

~ 67 ~ still supports his role in a strictly technical capacity of Mission Commander due to the influence and respect he wields across the colony. Arda rebuffs Leonard in acknowledging his social clout, but identifies the real reason. He suspects his compliance is the most reliable means of overseeing the immediate resumption of stable deuterium exports in a minimum time frame. The Governor ends his conversation with the necessity that Arda ‘dismantle all indigenous self–governance apparatus immediately due to his inability to no longer guarantee the safety of the colonists’. 21 Leo, 0 A.R. Arcadia Hall brings forward evidence before the newly elected and sworn in Arcadian Justice of the Peace with allegations that Leonard is a NAU–CIA asset. Justice Liau withdraws to his chamber to review the evidence. The judge issues an arrest warrant and authorizes the confiscation, revocation, and destruction of Leonard’s visa and red UN Laissez–Passer diplomatic passport. Arcadia Hall directs ground crew at Starport Arcadia to begin fuelling ERV Bravo, Earth–bound, taking advantage of a minimum–energy launch window. Arda deputizes the first peace officers of a newly formed RAP police detachment, superannuating the minimal United Nations contingent of deputy North American Union Marshals present to date. Deputy Commissioner Knudsen leads a security detail of the newly formed detachment. Leonard is identified, presented with the warrant, resists arrest, but is taken into custody while being read his rights. The irate Governor is escorted to the starport for subsequent deportation. An automated solo departure lifting off later that evening will return him to Earth with non–emergency flight controls locked down from manual user override. 31 Leo, 0 A.R. Nayana on–site at the south pole with her Terraformation Teamreport findings of dry ice sublimation. Her team concludes this is in response to 52048 Varuna’s impact. 33 Leo, 0 A.R. Footage of alleged riots erupting across Arcadia with security forces responding disproportionately are aired across Earth. The Arcadian Observatory for Human Rights is cited by mainstream media in attributing the riots to grievances held by dissenters aimed at ‘extremist Free Arcadia partisans’. Talking points are repeated by the networks that the riots began in response to Arcadia Hall’s alleged use of force to suppress political dissent. The alleged malcontents and dissenters are coined ‘Red Unionists’ and advocate a respect for human rights and a return to UNSA sovereignty. Several critics note the equivalence of what appears to be Terran gravity in portions of the footage but are dismissed as ‘cranks’ and ‘conspiracy theorists’.

~ 68 ~ 6.5 Countdown 38 Leo, 0 A.R. The United Nations Security Council passes resolution 12664 where it is adopted unanimously. Announcement of the resolution is not yet made public, but is to be deferred until 28 Scorpius. The resolution contains the following:

The Security Council,

Reaffirming the principles and purposes of the Charter of the United Nations,

Determined to combat by all means threats to transplanetary peace and security caused by terrorist acts,

Deploring the gross and systematic violation of human rights, including the repression of peaceful demonstrators, expressing deep concern at the deaths of civilians, and rejecting unequivocally the incitement to hostility and violence against the civilian population and infrastructure excited through rogue elements within the United Nations Arcadian Settlement’s local administration,

Recognizing the inherent right of individual or collective self–defence in accordance with the Charter,

I. Unequivocally condemns in the strongest terms the horrifying terrorist attacks which took place recently at the site of the No. #2 Railgun on Mars in the United Nations Arcadian Settlement and regards such acts, like any act of international terrorism on Earth, as a threat to transplanetary peace and security;

II. Expresses its deepest sympathy and condolences to the victims, their families, and of the United Nations Arcadian Settlement;

III. Calls on all Mars Treaty signatories to work together urgently to bring to justice the perpetrators, organizers and sponsors of these terrorist attacks and stresses that those responsible for aiding, supporting or harbouring the perpetrators, organizers and sponsors of these acts will be held accountable;

IV. Calls on all Mars Treaty signatories to redouble their efforts to prevent and suppress terrorist acts including by increased cooperation and full implementation of the relevant anti–terrorist conventions and Security Council resolutions;

V. Expresses its readiness to take all necessary steps to respond to the terrorist attacks of the Arcadian Settlement’s railgun bombing, and to combat all forms of terrorism, in accordance with its responsibilities under the Charter of the United Nations;

VI. Authorizes Mars Treaty signatories that have notified the Secretary–General, acting nationally or through regional organizations or arrangements, and acting in cooperation with the Secretary–General and the Office of the President of the Space Agency, to take all necessary measures to protect civilians, civilian populated areas, and assets under threat of attack in the United Nations Arcadian Settlement, and requests those signatories concerned to inform the Secretary–General immediately of the measures they take pursuant to the authorization conferred by this paragraph which shall be immediately reported to the Security Council;

VII. Decides to remain actively seized of the matter.

~ 69 ~ The resolution recommends that the United Nations Department of Peacekeeping Operations (UNDPKO) immediately place the multinational contingents under its permanently standing Rapid Reaction Force on high alert. Article 51 of the United Nations Charter is cited as the legal basis for the use of force which allows for ‘the inherent right of individual or collective self–defence if an armed attack occurs against a Member of the United Nations.’ 44 Leo, 0 A.R.

The Non–Aligned Movement issues a ‘Statement to the United Nations Security Council on the Situation Between the United Nations and the Republic of Arcadia Planitia’. The statement recalls the principles of ‘non–intervention, non–interference, the sovereignty of the Arcadian people, and their right to self–determination.’ The organization is an association of Terran states advocating the doctrine of non–alignment. They define this as ‘respect for independence, sovereignty, territorial integrity, and security of states as they strive for freedom from imperialism, all forms of colonialism, racism, foreign aggression, occupation, domination, and interference.’ The constituents include the states of Venezuela, Iran, Ecuador, Cuba, Syria, and others. 2 Virgo, 0 A.R. The United Nations Department of Peacekeeping Operations’ Joint Chiefs of Staff assemble in Brussels, European Union, where they liaise with government officials and other high level military and UN servants for the first day of a three month summit. The summit is conducted under maximum security with no access to the press. Though the summit’s existence is made public, the high degree of discretion exercised attracts public attention. The lack of transparency draws widespread criticism from the press due to the presence of a number of high level state officials from across the world. Rumours rapidly promulgate purporting the purpose of the summit as one of planning the first off–world military campaign in history. Leaked partially redacted documents suggest the summit’s agenda is to assess the feasibility, strategic planning, intelligence gathering, logistical, personnel, economic, and political implications to conduct such an operation. Known high level UNSA liaisons, including incumbent president Dr. Samuel Lieberman, are captured on camera being hustled in and out of the summit’s secured area in unmarked vehicles. Public speculation is increased when representatives of major international financial institutions are caught on camera leaving the vehicle parkade by independent journalists. The NAU–CIA director’s presence is later confirmed when a local escort service discloses to municipal level media the director’s refusal to settle a bill for unpaid services at a hotel the director was residing in. For the duration of the summit the hotel was known to be exclusively restricted to summit attendees and their support staff for security reasons. In response to media inquiries, the agency issues a press release reiterating generic public relations statements on the agency’s commitment to national security.

~ 70 ~ 27 Libra, 0 A.R. UNDPKO’s summit in Brussels concludes with the quiet establishment of the newly formed Mars Command (MARSCOM). This is established under the civilian administered UNDPKO and is now responsible for overseeing all of the latter’s peacekeeping operations at the strategic level, in transit to, in the vicinity of, and on the Red Planet. The headquarters is located at Peterson Air Force Base, North American Union, and is jointly staffed by an international consortium of military personnel from all nations signatory to the Mars Treaty. A large volume of procurement requests for military hardware are disseminated to a multitude of defence and aerospace contractors. 34 Libra, 0 A.R. INTERPOL issues a ‘red notice’ international arrest warrant for Arda. 36 Libra, 0 A.R. Lockheed Martin–Boeing’s Skunk Works advanced research facilities begin refitting UNSA’s Tarikin III personnel ferry into Kali, a militarized remotely piloted spacecraft carrying a payload of personnel and materials. This is in response to a UNSA request for quotation for a classified mission payload specification drafted according to MARSCOM’s Joint Chiefs of Staff. 22 Scorpius, 0 A.R. Selected Rapid Reaction Force personnel are assigned to North American Union’s School of the Americas and UNSA training facilities in Antarctica and Spain. The latter facilities are now administered by MARSCOM. A prominent senior level civilian scientist stationed at the now military administered UNSA training facility publicly addresses the Antarctic Treaty Secretariat headquartered in Buenos Aires, South American Union. Dr. Ishmael expresses concerns that Article I of the Antarctic Treaty System of 1961 A.D. prohibits the use of ‘any measures of a military nature, such as the establishment of military bases and fortifications, and the carrying out of military manoeuvres in Antarctica.’ The Secretariat releases a public statement acknowledging the build–up of military personnel and expresses her concern by reaffirming her commitment to the treaty with its official depositary, the North American Union. The North American Union’s Secretary of State responds by clarifying that the UNSA training facilities are still under a civilian mandate, and therefore a military presence for peaceful purposes remains consistent with treaty obligations. 23 Scorpius, 0 A.R. Arda receives an encrypted message warning of an imminent plan drafted by a consortium of influential Terran interests. The informant claims to have allegedly drawn the information from leaked source material made available through software vulnerabilities in the proprietary firewall protecting UNSA intranets. The anonymous tip–off claims these interests have influence over the United Nations and warn that the latter is mobilizing to land a brigade of peacekeepers to Martian theatre. The brigade (MARSBRIG)

~ 71 ~ would operate under UNSA’s newly formed MARSCOM, which itself operates as a newly formed organ of the United Nations, which in turn, according to the informant, answers to these private interests. Field commanders on the ground are to be tasked with several prioritized strategic objectives while in theatre. Among the digital dossier provided by the informant, Arda locates a memorandum outlining all of the alleged objectives described in detail in the file COSMIC_TOP_SECRET_PROTECTED_C-000521-MJCS-SETREC.

COSMIC TOP SECRET DISTRIBUTION RESTRICTED / FOR NAMED RECIPIENTS ONLY MARSCOM JOINT CHIEFS OF STAFF MEMORANDUM ON PRIORITIZED STRATEGIC OBJECTIVES FOR ARCADIAN SETTLEMENT RECOVERY

1. The Joint Chiefs of Staff have considered the enclosed Memorandum for UNSA which responds to a request of the Executive Office of the Secretary-General for brief but precise descriptions of methods to be exercised in the reclamation of the Arcadian Settlement through military intervention.

2. The Joint Chiefs of Staff recommend that the enclosed Memorandum be forwarded as a preliminary submission suitable for planning purposes. It is assumed that there will be similar submissions from other agencies and that these inputs will be used as a basis for developing a time-phased plan. Individual projects can then be considered on a case-by-case basis.

3. Further, it is assumed that a single agency will be given the primary responsibility for developing military and para-military aspects of the basic plan. It is recommended that this responsibility for both overt and covert military operations be assigned to the Joint Chiefs of Staff.

▷ ALPHA – TERMINATE ATATÜRK’S COMMAND187

1. HIGH VALUE TARGET. IF CAPTURED ALIVE, PERFORM IMMEDIATE EXTRACTION TO KALI, AREOSTATIONARY ORBIT. HOLD IN CUSTODY. AWAIT EXTRAJUDICIAL RENDITION TO EARTH.

2. TERMINATE W/ EXTREME PREJUDICE IF UNABLE TO CAPTURE ALIVE. IMPLICATE RED UNIONISTS. MEDIA PREBRIEFED. BHADRA 2 COMMSAT WILL STANDBY TO BROADCAST NEWS TO EARTH.

▷ BRAVO – CAPTURE ARCADIA

1. INSERT NEW PLAINCLOTHES NAU-CIA, SPEC FORCE, AND BLACKWATER ASSETS INTO ARCADIA TO SUPPLY INTEL.

187 See section 4.2 for an explanation of this cryptonym given to Arda.

~ 72 ~ 2. RULES OF ENGAGEMENT AUTHORIZE NEUTRALIZATION OF ANY AND ALL LOCAL RESISTANCE BY ANY MEANS NECESSARY. MISSION AIM TIME CONSTRAINTS REQUIRE NO QUARTER. EXPECT MINIMAL, IF ANY, FIGHTING IN BUILT UP AREAS. INTERNATIONAL HUMANITARIAN LAW IN CONTEXT OF INTERNAL ARMED CONFLICT NON-APPLICABLE TO NON-STATE ACTORS, INCLUDING SIERRA GUERRILLA FORCES.

3. DISARM SIERRA AND CONFISCATE ALL SMALL ARMS.

4. PERFORM ENHANCED INTERROGATION OF SUSPECTED CAPTURED FAP188 TO LOCATE SIERRA WEAPONS’ CACHES AND OTHER INTEL. EXTRAJUDICIAL DETENTION, TRIAL, AND EXECUTION WITHIN MINIMAL TIME FRAME ESSENTIAL. ATATÜRK EXCEPTION, VIZ OBJECTIVE ALPHA(ONE).

5. COMMAND AND CONTROL OF STARPORT ARCADIA CRITICAL WITH ECONOMY OF EFFORT.

6. SEIZE MAX NO OF MATERIAL ASSETS INTACT.

7. RESTORE UNSA ADMIN, BROKERED VIA MARSCOM INITIAL COMMAND AND CONTROL UNTIL SITN STABILIZED.

▷ CHARLIE – EXTRACT ALREADY DEPLOYED INTEL ASSETS

1. EXTRACT AND DEBRIEF NAU-CIA INTEL OPS CURRENTLY IN THEATRE SINCE ARRIVAL 28 MONTHS PRIOR VIA TARIKIN III FLIGHT SERIAL TA15.

▷ DELTA – ECONOMIC REFORMS

1. REINSTATE KEY SIERRA LABOUR AND PERSONNEL NECESSARY FOR RESUMPTION OF STABLE DEUTERIUM AND OTHER CORE EXPORTS.

2. PROTECT COMBAT SUPPORT SQUADRON’S ERECTION OF ’FIRST CENTRAL BANK OF THE ARCADIAN SETTLEMENT’.

3. REVERT SETTLEMENT’S LEGAL TENDER FROM JENYA TO BANCOR.

4. CAPTURE ALL RHODIUM HELD IN RESERVE.

▷ ECHO – POLITICAL REFORMS

1. IMPLEMENT MARTIAL LAW W/ SUFFICIENT TIME TO ACHIEVE ALL STRATEGIC OBJECTIVES.

2. ASSIST NAU-CIA ASSETS ENGINEER ARCADIA HALL ELECTION FOR OFFICE OF THE PRESIDENT. ALL BALLOT OPTIONS MUST BE COMPROMISED W/ ANY FRIENDLY CANDIDATE FROM SCHEDULE D.

188 Free Arcadia partisans.

~ 73 ~ IN UNLIKELY EVENT MARSBRIG UNABLE TO HOLD ARCADIA, EMERGENCY CONTINGENCY PLAN’S NEW STRATEGIC OBJECTIVES FOLLOW:

▷ FOXTROT – INSERT AND ACTIVATE FIFTH COLUMN SLEEPER CELL NETWORK.

1. ALL ASSETS, EXCEPT OBJECTIVE FOXTROT(TWO)’S, FALLBACK TO RENDEZVOUS TANGO AND CONFIRM LOC REP W/ GRID REF OVER CRYPTOCODE JULIET. ORBITAL FIRESUPPORT AVAILABLE. AWAIT EXTRACTION TO KALI IN AREOSTATIONARY ORBIT AND STANDBY FOR FURTHER ORDERS.

2. UPON OBJECTIVE BRAVO(ONE), THESE ASSETS REMAIN BEHIND IN SIERRA SAFE HOUSES AS RESIDENT FIFTH COLUMN CONTRAS. IF POSSIBLE, W/O COMPROMISING COVER, FIFTH COLUMN WILL JAM SIERRA’S COMM AND PROTECT RETREATING MARSBRIG ASSETS.

3. FIFTH COLUMN CONDUCTS INSURGENCY OPS TO EXEC FALSE FLAGS AS RED UNIONISTS. IF COMM UPLINK BROKEN WILL CONDUCT OPS INDEP W/O NEED FOR LOG RESUPPLY. PROVIDES MARSCOM W/ CLANDESTINE UNIT BEHIND ARCADIAN DEMARCATION LINE FOLLOWING UNLIKELY STRAT OR TACTICAL RETREAT.

4. IF OBJECTIVE DELTA(THREE) FAILS, FIFTH COLUMN WILL RAISE FUNDS IN LOCAL JENYAS TO MAINTAIN OPS. SIERRA’S SEIZED LABS POSSIBLY CONDUCIVE TO DOMESTIC SYNTHETIC NARCOTIC PRODUCTION. SYNTHETIC IN SITU METHOD PROVIDES PLAUSIBLE DENIABILITY AND GREATER RELIABILITY W/O NEED FOR TERRAN IMPORT, BYPASSING STARPORT AUTHORITY / CUSTOMS.

The anonymous informant provides detailed information on troop movement to Terran MARSCOM administered training facilities, size of units, weapons and tactics to be employed, probable location of encampment, and route of approach. The brigade will be deployed to Martian theatre under the banner of the United Nations Mars Expeditionary Peacekeeping Force (UNMEPF). The force draws elements mostly from North American Union and European Union units specializing in airborne and mechanized infantry, armoured reconnaissance, tactical UAVs, self–propelled artillery, and logistical support. The message is encrypted using a public key of Arda’s not used since his long departed days of a military posting with the European Union’s Mountain and Commando Brigade in Hakkari. Khalid determines the digital signature to be authentic. Arda and his cabinet deliberate before concluding the message to be credible. 24 Scorpius, 0 A.R. Khalid advises Arda that he can take out UNSA’s orbital surveillance capabilities by destroying the Mars Enhanced Telecommunications Orbiter while the settlement still has access. Arda issues an executive order to do so. UNSA detects a settlement login attempt and transmits a command sequence instructing the orbiter to revoke Arcadia’s credentials but is several minutes too late. The

~ 74 ~ orbiter burns up its entire hydrazine attitude control fuel reserves, deorbits, and incinerates during . All solnet communications between Earth and Mars that had been brokered by METO are now effectively disabled. However, the orbiter had also been used for reliable Arcadian intercommunication. Khalid improvises in METO’s absence by refitting key settlement communications equipment to combine line–of–sight VHF and, where that fails, ionosphere reflected shortwave communications. Neither method requires a satellite. UNSA has the Jet Propulsion Laboratory lock down all four Mars Positioning Satellites and places them in safe mode in anticipation of an RAP denial–of–service attack, though none comes. Arda’s staff reason the satellites have no use as UNSA surveillance assets and are still useful for their own navigation on the Red Planet where ground based transponders are still unavailable in many remote regions. 27 Scorpius, 0 A.R. Dr. Ishmael is found dead within his residence at the UNSA facility in Antarctica. The Garrison Commander’s chain of command authorizes him to release a redacted coroner’s report attributing the cause of death to ‘haemorrhage due to incised wounds of the left wrist with blood chemistry indicating an overdose of painkillers’ – but rules out foul play. Ishmael’s wife, a physician, who had been living at the facility with her husband is interviewed by independent media where she claims the incisions were non–fatal, that there was insufficient blood on the scene as expected from a major artery, that the report did not indicate any liquids at the scene that could have been used to consume painkillers, and that the dosage had been non–fatal. Mounting public pressure leads to the Garrison Commander authorizing the release of additional previously redacted details. The new documents show alcohol had been present at the scene. Ishmael’s wife responds that he was a devout Muslim who never consumed alcohol, but even if he had, his blood chemistry analysis in the toxicology report showed no alcohol. 28 Scorpius, 0 A.R. The United Nations Secretary–General’s press security holds a press conference where the Security Council’s previously passed resolution 12664 to invade Mars is made public for the first time. The timing coincides with the saturation of Terran media with a recent celebrity adultery scandal. Scarce media coverage that does take place highlights Terran heads of states citing the importance of the United Nations doctrine of the responsibility to protect, with emotional references to alleged Martian atrocities. 29 Scorpius, 0 A.R. Arda holds an emergency cabinet meeting at Arcadia Hall in secrecy. Several hours into the meeting, Arda summons a group of three of his best geologists and three of his best civil engineers. They are tasked in private before departing on rovers to fulfill a high priority assignment overseen by Senka.

~ 75 ~ 30 Sagittarius, 0 A.R. Arcadia Hall issues a city–wide emergency evacuation order that is carried out over the next two weeks. All non–essential personnel are transported to an unmarked installation constructed within a subterranean lava tube. The installation is heated and powered by a geothermal power station with a supply of artesian aquifer liquid water. 48 Sagittarius, 0 A.R. ERV Bravo carrying Leonard returns to Earth landing at Edwards Air Force Base, North American Union. The spacecraft is seized immediately. Leonard is debriefed before departing for the City of London the following evening. 50 Sagittarius, 0 A.R. Arcadia completes its evacuation of all non–essential personnel. The movement of non–essential materials and Arcadia Hall’s administrative staff out of the city to the underground installation follows immediately. A make–shift facility for skeleton staff and functionality of Arcadia Hall is erected within the shelter and given the same name. Excavation begins for the construction of unpressurized underground passageways linking the shelter outside of the city with airlocks within it. Usage of tunnel entrances within the city avoids obvious vehicle tracks from orbital telemetry leading to the location of the underground installation outside of it. Senka predicts the tracks created by excavation equipment still present on the surface will be erased through surface wind deposition and erosion during the seasonal dust storm if one should occur. This normally occurs during the orbital perihelion when Mars is at its closest to the Sun. Within the underground installation, and with most of the city evacuated, Arda gathers the settlers to provide an explanation for the recent commotion and events leading to their evacuation. Influenced by Vattel’s Law of Nations, Arda compels them that it is within their ‘natural rights’ the option of collective self–defence since, regardless of whether they decide to take up arms or not, they must realize that they will soon enough be confronted with someone else’s. Arda reminds the settlers that their constitution already permits the raising of militias. A referendum is held on the raising of several units to provide protection for Arcadians and the city. The settlers are generally reluctant, but concede to it as a last resort. The vote carries with a majority. Arda explains to his citizens that since prior military service is not unusual in the field of manned space exploration, putting out a call for all such settlers would be a reasonable place to start. A list is assembled with more than a hundred personnel responding. 2 Capricorn, 0 A.R. Relying on a combination of military training manuals remaining on Arcadian local solnet caches, personal experiences, knowledge of the current state of Arcadia’s industrial infrastructure, such as milling and robotic assembly machines, Arda begins the first of several day’s with his cabinet on a measured response to an expected confrontation with a United Nations military force.

~ 76 ~ The sol marks the first of a series of meetings held over the next several months on the recruitment, organization, and equipping of an indigenous militia. The meetings are held by an ad hoc advisory group called the City Security Committee. The CSC consists of settlement personnel with experience ranging from industrial processes, ex–military, mechanics, various managerial roles, chemists, engineers, and others. Acting as a think tank, they are formed as an advisory group. Arda reasons that Arcadia has a minimum of nine months to prepare for the arrival of a military force, assuming the latter experiences no delays in the equipping, training, launch, and arrival. If they take longer the militia can expand its capabilities as much as time permits. To console doubts Arda further reasons that the United Nations would not assume the risk of deploying a military force across the solar system with all the political and economic liabilities that accompany it without the necessary confidence that the settlers would not be capable of defending themselves. He likens MARSCOM’s overconfidence to an Achilles’ heel. The Arcadian Militia is established on paper, but its creation does not extend beyond that. Arda assumes responsibility over the null portfolio as Commander–in–Chief and begins with authorizing the creation of the first Arcadian School of Asymmetric Warfare with professional development courses available to personnel of all ranks under the leadership of former military personnel. 3 Capricorn, 0 A.R. With settlement approval Arda authorizes the use of subterranean areas of Arcadia for the garrison of several militia units yet to be created. These would include everything from drill halls and supply depots to training facilities. The units planned are few in number but reflect the settlement’s current capabilities and resources within the minimum time remaining before the expected landing of the United Nations brigade.

▷ 1st People’s Own Arcadian Mechanized Infantry. An infantry regiment to be equipped with armoured personnel carrier rovers. Its purpose is to seek out, close ranks with, and neutralize the enemy’s capabilities.

▷ 2nd People’s Own Arcadian Dragoons. An armoured regiment to provide armoured reconnaissance support.

▷ 3rd People’s Own Arcadian Combat Support Engineers. An engineering battalion to provide heavy equipment, signals (communication), and logistical support.

12 Capricorn, 0 A.R. Plans for a feasible service rifle capable of operating under the extreme external environmental conditions Mars presents are proposed before the City Security Committee by a team of highly skilled machinists. The plans are well received. The R1A1 service rifle is a gas–operated, self–loading, air–cooled, magazine–fed, shoulder–fired, weapon. It is a modernized adaptation of the former Terran Coldwar era FN FAL. Everything required for its simple and rapid manufacture is already at Arcadia’s disposal.

~ 77 ~ The receiver and heavy barrel are made of an alloyed magnesium. Though the original design called for heavier steel, the magnesium is lighter and when alloyed allows for flexibility. These metal components are treated with a protective finish that matches in tan colour the sands of Arcadia Planitia. Even with the original weapon weighing only a third on Mars what it would on Earth, the design modifications still render a weapon that is lighter. The stock is modified to use a lightweight composite hemp plastic. The material is stiff, has a high heat tolerance, flame retardant, and incidentally biodegradable. The stock contains a battery power source to provide energy to an integrated heating element within the receiver to reduce misfires due to frosting. The weapon features both magnesium alloy sights and an ROA1 detachable optical scope for target acquisition, heavily adapted for Martian ballistics where the Terrestrial point blank needs to be moved from a 200 metre mark up to 700 metres. The front and rear sights bear small sealed tritium markings that provide a small glow to aid in night sighting. The optical scope has night vision, thermal imaging, and laser range finder capabilities. The receiver is chambered to the already well field tested Terran 7.62x51mm round. A magnesium alloy is selected for the cartridge casing. The ejection port is modified with a cover which the original design did not have to reduce the likelihood of very fine Martian iron oxide dust as small as 1.5m from entering the breech and fouling the action. The gas regulator calls for another departure from the original design to manage the greater gas differential of the high chamber pressure contrasted with the near vacuum of Mars at the end of the muzzle. An RGA1 anti–personnel breech loaded launcher is optionally mounted beneath the barrel and can chamber a variety of cartridges. These include magnesium flares, smoke grenades, or fragmentation ‘cryonades’. Cryonades are small explosive shells that contain a volatile mixture of cryogenic liquid oxygen and methane. Armourers are instructed that these fragmentation cartridges must be stored when not in use at cryogenic temperatures to prevent them from becoming inert through degassing. Although the original design that formed the basis for this new adaptation is antiquated, the weapon is relatively simple to manufacture, operate, and already well proven in the extreme arctic and high altitude climates of Earth. The committee notes that this is important since these climates share the closest environmental similarities with Mars. The weapon should be able to operate in temperatures as low as −90∘C. The committee suggests that any frosting issues that may arise will have to be addressed later with field trials and special chemically engineered lubricants. 33 Capricorn, 0 A.R. Kali’s launch window is missed due to low–Earth orbit having become increasingly populated with dangerous . UNSA engineers fear they may be approaching the Kessler effect of causing a runaway chain reaction which would reduce all objects in orbit. Since this would potentially threaten not only Iterum Shipyard, but all Terran space missions, Kali’s trans–Martian injection is rescheduled for the next available launch window of 25 months.

~ 78 ~ 35 Capricorn, 0 A.R. The first non–experimental production ready R1A1 service rifles emerge from the assembly line and are delivered to unit quartermasters. The weapons’ receivers are engraved with an Ancient Persian maxim, ride well, shoot straight, and speak the truth. Arda’s receiver is stamped with serial 109450. 16 Aquarius, 0 A.R. In keeping with Senka’s prediction, most of Mars, including Arcadia Planitia, is enveloped in a seasonal dust storm. The day marks the planet’s orbital perihelion where it is nearest to the Sun. 11 Cancer, 2 A.R. Kali completes its trans–Martian journey, aerobreaking into areostationary orbit. The ship carries a payload of remotely operated equipment destined for Phobos, the Sun–synchronous photographic Bhadra I,189 the areosynchronous communications satellite Bhadra II, MARSBRIG military personnel, as well as some civilian defence personnel and contractors. The combined human resources and equipment represent the United Nations Mars Expeditionary Peacekeeping Force (UNMEPF). 9 Leo, 2 A.R. While in areostationary orbit, Kali’s Commanding Officer issues warning orders down the ship’s chain of command to prepare for insertion. Mechanized infantry company, platoon and section commanders are briefed before loading Mars Ascent–Descent Vehicles (MADVs). Armour and artillery follow.

189 In Hindu mythology, one of Shiva’s servants and goddess of the hunt.

~ 79 ~ 6.6 Contact 12 Leo, 2 A.R. Elements of the 1st People’s Own Arcadian Mechanized Infantry alert their chain of command with a situation report. They have detected an unlocalizable nav–aid transponder signal within the Arcadian demarcation while conducting a routine dismounted patrol. The beacon did not respond with a valid Arcadian electronic signature during a challenge–response interrogation. 20 Leo, 2 A.R. UNMEPF’s forward observers establish visual contact with Arcadia. The observers are nearer to the target area than on Earth due to the smaller line of sight of the planet’s closer horizon. The gunners provide precision range, bearings, and ordnance selection over a secure uplink with an artillery battery. The battery is instructed to fire for effect with the forward observers ready to direct and correct its fire onto the target area as necessary. Arcadia comes under fire from what appears to be orbital shelling. The event marks the first shots ever fired in anger on Mars. The original Arcadia Hall is destroyed, though most of the city is deliberately left intact. Having realized the city was evacuated, an intelligence unit embedded within MARSCOM prepares the necessary command sequence for the Bhadra I photographic reconnaissance satellite to identify all potential locations suspected of harbouring underground structures. Phantom targets across the surface of Arcadia Planitia are hammered from what appears to be the fast moving Phobos moon for more than an hour every sol over the next twenty. There are no casualties reported. Between shellings Arda has the 3rd People’s Own Arcadian Combat Support Engineers erect a rudimentary high–gain directional antenna. This circumvents the need for access to a satellite communication relay normally necessary to transmit back to Earth by instead relying on S–band microwaves. This allows settlers and embedded war correspondents to maintain communication with Earth. Several of these journalists liken the hostilities between the belligerents to the scale and asymmetry of the late 20th–century Falklands War. Arda broadcasts to anyone able to receive him on Earth the current situation on Mars, suspecting a Terran media blackout. He describes a United Nations’ shelling campaign as an attack on peaceful and defenceless civilians levied from a manned orbital installation on Phobos. The installation functions as an orbital artillery battery. He claims the UN’s intentions are to compel the settlers through force to surrender so that they will return to applying themselves to the resumption of material exports under a reformed administration. During his transmission Arda references a document hacked from a UNSA intranet as evidence of the orbital artillery battery’s existence. The document was part of the dossier received from the anonymous tip–off that had revealed the United Nations’ intentions in the use of force received prior to Arcadia having lost solnet connectivity when UNSA’s METO communications satellite was taken out. The document is titled Project New Horizon: A UNSA Study for the Establishment of a Phobos Artillery Battery.

~ 80 ~ The detailed white paper, complete with schematics, describes the first orbital artillery battery ever put into service. The classified document details an ambitious covert UNSA project to construct Thor Battery. The outpost is apparently manned by a garrison of a single platoon of thirty soldiers, powered by three nuclear reactors, and located on and within the Martian moon Phobos.

...The Phobos outpost is required to develop and protect strategic UNSA administered interests on Mars; to develop techniques in Phobos and general orbital–based surveillance of Mars, in communications relay, and in operations on the surface of Mars; to serve as a base for the exploration of Phobos, for further exploration into space and for military operations on Phobos if required; and to support scientific investigations on Phobos... — Project New Horizon: A UNSA Study for the Establishment of a Phobos Military Outpost

The document describes the feasibility of construction due to the moon’s composition. From the surface down to the first one–hundred metres, the moon is covered with a very fine regolith. The remaining solid material beneath it is of a mostly porous composition. These two characteristics allowed for a straightforward excavation, ensuring that most of the installation could remain subterranean. Arda provides high resolution imagery taken by Senka from the a month prior with the transmission as evidence. The images clearly depict an outpost still under construction within the moon’s crater. He explains that the outpost was originally not intended for active service yet, but rather as part of a long term United Nations’ insurance policy for dealing with ‘the distinct possibility of conflict between Terran member states and hostile non–member state actors as it may affect settlement activities’ (Project New Horizon), should the need ever arise. The option was on the table, but only to be taken seriously well after, as MARSCOM had expected, a straightforward capture of Arcadia. The assumption was that its inhabitants would not be capable of defending themselves. Arda illustrates that by exploiting a legal loophole in the Outer Space Treaty, the Anti–Ballistic Missile Treaty, and the Mars Treaty, whose draftings predated the advent of kinetic bombardment weapons, the United Nation’s Office of Legal Affairs probably advised UNSA that it was legal to target the surface using hypersonic shells. The shells contain tungsten cores and are capable of hitting targets with surgical precision at downward velocities approaching ten kilometres per second. These treaties did not observe kinetic bombardment as weapons of mass destruction since they require no explosive payload, though the more massive of these shells deliver enough kinetic energy in the order of a small tactical nuclear warhead upon impact. The transmission is picked up on Earth by amateur radio operators and quickly disseminated with the assistance of the Electronic Intifada over solnet peer–to–peer networks. Though mainstream media do not acknowledge the transmission, dissemination is rapid and widespread that Terran citizenry are mostly of a mixture of fury and disgust at the actions of their respective governments. calls for a public inquiry with powers of subpoena. The Red Cross appeals to UNSA to allow them to board the next scheduled personnel ferry to provide observers and medical personnel on the ground.

~ 81 ~ UNSA dismisses Arda’s claims as ‘baseless allegations propagated by Terran conspiracy theorists, perpetuated by a fundamental misunderstanding of the reality of meteorite strikes on Mars used to justify the theft and reckless destruction of a costly off–world publicly funded infrastructure’. A UNSA spokesman does not respond directly during a press conference to existential questions over the now controversial Phobos based outpost. The controversy stems from the exposure of a clandestine orbital installation providing strong evidence that there were ulterior motives behind the Avaneya Initiative since its inception. Critics argue the purpose of the Thor Outpost has nothing to do with sustainability research, but to provide a ‘nuclear option’ to keep the Martian labour force in check. Variations of the theory increase in popularity on Earth, encouraging Terran support for Arcadian independence. 40 Leo, 2 A.R. A column of UNMEPF armour and a battalion’s worth of mechanized infantry are spotted approaching the city by an Arcadian Dragoons armoured reconnaissance platoon. The platoon is commanded by a single Armoured Officer, Capt Henrik Nørgaard. The Dragoons have strict rules of engagement and no move before orders to not engage UNMEPF forces unless they cross a perimeter extending two kilometres outward from Arcadia’s surrounding impact crater’s elevated rim. The UNMEPF column halts in response to Henrik’s order to the Dragoon’s lead tank to fire a single warning shot. The shell lands several hundred metres directly ahead of the column’s line of advance. Arda addresses UNMEPF’s Force Commander over the tactical radio’s common band. He advises that UNMEPF forces will be met with a measured response if they continue on their course, advance through the DMZ, and do not withdraw immediately outside the Republic of Arcadia Planitia’s demarcation. Brigadier General Dragov responds by identifying himself as the UNMEPF Force Commander. He assures Arda that, if the settlers’ forces surrender themselves immediately and disclose the location of their emergency shelter, they will be given quarter. Arda repeats the original directive and breaks radio contact. Having not anticipated the presence of the militia, Dragov liaises over satellite with MARSCOM’s Joint Chiefs of Staff at Peterson Air Force Base, North American Union, for further orders. He is advised that MARSCOM’s photographic reconnaissance satellite Bhadra I shows only a single platoon of Dragoons consisting of four armoured rovers retrofitted as tanks on the inside lip of the impact crater’s rim. Dragov orders a temporary tactical retreat of the brigade to withdraw eight–hundred meters rearward. He establishes a communications uplink with a UNMEPF Weapons Control Officer operating from Kali in orbit, relaying fire support commands to Phobos Thor Outpost. 41 Leo, 2 A.R. Dragov takes advantage of Thor Outpost’s two and a half hour launch window. The UNMEPF Weapons Control Officer requests forward observers to issue grid references for Henrik’s Dragoons. The orbital artillery battery is instructed to load smaller calibre precision tactical tungsten shells to minimize damage to adjacent UNSA assets in Arcadia. Dragov issues the order to fire releasing the salvo.

~ 82 ~ The 3rd People’s Own Arcadian Combat Support Engineers alert the Dragoons that an infrared signature in orbit has been detected. The engineers know through previous experience observing Thor Outpost that, though unlocalizable, the signature is characteristic of an orbital kinetic launch which has always preceded past bombardments. Henrik instructs the crews to load and fire smoke canisters containing an infrared reflective additive through their vehicles’ grenade–launchers. The canisters fire vertically allowing the temporary screening of movement from orbital surveillance. Henrik dismounts and leads the platoon to seek refuge within tunnels previously excavated for the occasion. The platoon rendezvous two–hundred metres below the surface with an anti–tank platoon of the 1st People’s Own Arcadian Mechanized Infantry. Henrik’s men monitor the time on their watches. Eleven minutes later the salvo completes its atmospheric entry, destroying the abandoned tanks with surgical precision. Falling rocks rolling down the slope of Arcadia’s impact crater and chunks of shredded airborne permafrost moving with high speed depressurize an evacuated habitat cluster within Arcadia’s Third Precinct. There are no casualties. Arda contacts Dragov over the tactical radio’s common band. In a tone of convincing distress he offers the commander Arcadia’s conditional surrender, contingent on quarter being granted to all of Arcadia – civilian and military personnel alike. Dragov is agreeable and advises a jubilant Joint Chiefs of Staff over satellite of their parley. In response to Dragov’s request for the emergency shelter’s location Arda provides a grid reference within the city. He recommends Dragov proceed via the most expeditious means. This would lead him into the city through its main entrance set within the surrounding impact crater’s rim. As darkness rapidly descends Dragov considers Arda suspect but reasons it would not be prudent to hold fast until dawn. However, he is weary of taking the brigade through Arcadia’s main entrance through the crater’s rim, suspecting it mined. He leads his brigade without contest from eight–hundred metres outside the two kilometre perimeter previously withdrawn to, forward to meet with the base of the slope of the impact crater’s ridge leading into the city. Dragov briefs his officers that this is necessary to feign committing themselves to the city’s main entrance. The column performs a ninety degree turn at the base of the slope, altering its course without warning at the mouth of the city to carry on clockwise along the base of the ridge rapidly for two kilometres where the apex of the base is the site of the recently destroyed dragoons. Dragov, having earlier studied Bhadra I’s photographic reconnaissance imagery, observed the site of the destroyed Dragoons on the impact crater’s ridge and calculated that the shells had cleared enough of the outer ridge away to allow armour and the rest of his formation to penetrate into the city with an element of surprise. The route would lead them along the inside of the ridge for about eight–hundred metres, then down the route the Arcadian Dragoons probably had taken to ascend where they were destroyed. He bases this on recent photographic reconnaissance depicting armoured rovers’ tank tracks leading from somewhere within the city. Having arrived at the base of the ridge that leads up to the destroyed Dragoons, UNMEPF forces rapidly negotiate the incline of the ridge. The first armoured squadron penetrates through the ridge with three battalions of mechanized infantry and combat support closing in the rear. By the time

~ 83 ~ the last of the brigade passes through the blasted rim, the fore of the column reaches the end of the path along the inner ridge as it prepares to descend down into the city. Moving with haste, the column fires illumination flares laterally over various unlit areas of the city as it circumscribes and descends the inner rim of the crater. There are no visible signs of settlers. The convoy makes visual contact with a small track–wheeled vehicle seen passing between civilian buildings at a distance of several hundred metres. It is successfully destroyed without warning. Aerial drone reconnaissance identifies it as merely an unmanned street cleaning drone. The convoy passes under an anti–tank hunter platoon of the 1st People’s Own Arcadian Mechanized Infantry concealed within thermal reflective blankets. The lead tank at the fore of the UNMEPF column is rendered immobile as it makes contact with a non–magnetic mine housed within composite plastic and bamboo. The tank unravels itself of its tracks. The next vehicle in the column panics and attempts to negotiate around but is hit from an anti–materiel rifle, breached, and rendered immobile. With only a single lane of movement the route becomes blocked. Simultaneously the rearmost combat support vehicle in the column is hit from an elevated firing position. The platoon hammer the target with several rounds from each section’s recoilless shoulder fired rifles. The lead tank attempts to return fire but its optical sight is knocked out. With the lead tank destroyed and the engine block blown out of the rear vehicle, the UNMEPF column becomes immobilized between the fore and aft with no room to negotiate out of the column laterally. The column’s mechanized infantry dismount their armoured personnel carriers. They attempt to secure cover at the path’s flanks behind the only available, the vehicles themselves, activating RAP trip flares in the process causing panic and temporarily blinding their night vision equipment. With the halted UNMEPF column now in enfilade, its longest axis exposed down the line of Arcadian infantry arcs of fire, the Arcadian platoon commander orders weapons’ free. Fireteams open fire engaging all well sighted UNMEPF targets of opportunity. UNMEPF issue contact reports throughout the column as their personnel and armour come under fire from multiple elevated firing positions without making visual contact. Several salvos of RGA1 anti–personnel cryonades are released down the ridge at the halted column, dispatching dismounted soldiers in number. The explosive ordnance, having a fragmentation range more than twice that on Earth, suffering minimal atmospheric attenuation, send an array of UNMEPF armour rolling down the incline – including Dragov’s staff rover. Many of those having sought protection behind vehicles are knocked down the ridge and pinned under. UNMEPF forces attempt to return fire but have difficulty sighting well dug in targets in the low Martian night light. Illumination flares and tactical thermal imaging equipment prove useless as the brigade becomes immersed in its own thermal gas clouds as pressure suits are systematically punctured, degas, and the occupants rapidly bleed out in the near vacuum of −72∘C. MARSCOM receives UNMEPF’s first contact report and responds rapidly with only satellite assisted target identification – the belligerents now too proximate for Phobos fire support. In the six minutes that have passed from the moment of issuance of the brigade’s first contact report and its reception

~ 84 ~ on Earth, a wounded Second in Command in the second to last vehicle in the column, Major General Nilhara, already has his updated and final situation report en route back to Earth. Nilhara informs the Joint Chiefs of Staff that Dragov is missing in action, presumed dead; that they have sustained heavy casualties; that, with the exception of isolated exchanges of small arms fire, hostilities have discontinued; that they are in the process of being relieved of their weapons; that some of their communications equipment may have been seized before all cryto codes could be zeroed; that personnel are being separated from one another; and what remains still in communication are already negotiating their unconditional surrender over the tactical common band. Having been monitoring the tactical common band since the onset of Arcadia’s orbital shelling, embedded journalists in the settlement’s emergency underground shelter are now authorized by an RAP liaison officer to broadcast the news to Earth over S–band microwave.

~ 85 ~ 6.7 Aftermath & Diaspora 42 Leo, 2 A.R. A disarmed and dismounted UNMEPF brigade is escorted on either flank by dual columns of Arcadian dragoons and infantry. All critically wounded hors de combat are triaged and transferred to an Arcadian hospital. The hospital staff are augmented with UNMEPF medical personnel, including former lawful combatants now under Arcadian custody. The dead temporarily remain behind frozen, exposed to the elements. The escorted prisoners of war are destined for Arcadia’s underground emergency shelter to be exchanged with the previous inhabitants, the city’s evacuees. A minimally functional Arcadia Hall with skeleton staff is repopulated and oversees the return of evacuees from the shelter back to their homes. The shelter, whose means of movement in and out are few in number, becomes a strategically ideal subterranean location to garrison UNMEPF prisoners of war. The latter’s vehicles and weapons are dispersed across various Arcadian units. Arda reassures Nilhara that although he is confident UN forces would not have abided by the Geneva Conventions, it is an opportunity for Arcadia to send a signal to Earth. Nilhara observes the need for their recognition as a sovereign civilized state as it tends to the sick and wounded of either side without reproach or prejudice for race, religion, creed, nationality, or external political or logistical support. 45 Leo, 2 A.R. Nilhara agrees to provide Arcadia Hall with access credentials to the Bhadra I/II satellites. Arcadia’s solnet connectivity with Earth is re–established. Arda contacts the Secretary–General to establish a back door diplomatic communication’s channel. From this sol and the eight that succeed it, the following terms are successfully negotiated over diplomatic cables. The concessions of the Security Council are as follows.

I. The General Assembly shall acknowledge the Republic of Arcadia Planitia as a legitimate and independent state and shall not infringe upon its sovereignty.

II. The Republic of Arcadia Planitia shall be represented in the General Assembly on Earth with a representative of its own choosing. Arda is reassured that he will be given amnesty whether he chooses to fulfil that office himself or not, though he declines.

III. The United Nations shall cease peacekeeping operations in the proximity of, and within, Arcadia. The term ‘hostilities’ is never used. The Secretary–General, on behalf of the Security Council, does not unambiguously reaffirm any commitment to the prohibition of the deployment of all forms of weapon systems and munitions of war, suborbital, orbital, or in outer space, and therefore, does not directly acknowledge Thor Outpost. Questions of its use, consequently, remain quietly unresolved.

~ 86 ~ The concessions of the Republic of Arcadia Planitia are as follows:

I. All UNMEPF prisoners of war are to be treated humanely in accordance with the Geneva Conventions.

II. All UNMEPF prisoners of war are to be repatriated to Earth as soon as logistically feasible.

III. The Republic of Arcadia Planitia shall become a signatory to the Vienna Convention on Diplomatic Relations, allowing the United Nations to be represented with a permanent diplomatic mission in Arcadia. This shall include a single embassy, but possibly one or more consulates as agreed upon in the future.

IV. A limited number of Terran corporations are permitted to resume commercial activity in Arcadia. With their registered offices on Earth, the status of corporate personhood within Arcadia remains unresolved.

Arcadia Hall prepares formal requests to various Terran nations for the opening of embassies in the North American Union, European Union, Venezuela, Cuba, and others. In turn, it receives a submission of Leonard’s credentials for entry into the UN’s diplomatic mission in Arcadia. Arcadia Hall rejects Leonard’s application as a persona non grata as permitted under Article 9 of the Vienna Convention. 55 Leo, 2 A.R. Arcadian forces transport UNMEPF personnel, including the dead, to the dropsite for Kali’s MADVs. Arcadian immigration officials offer all UNMEPF personnel, including former combatants, the opportunity for Arcadian citizenship. Some accept and will remain behind. Senka assists with the MADV’s refuelling and preflight checks. Arda returns Nilhara’s sidearm, accompanied with a bottle of Arcadian Manowar. The pair salute. The spacecraft departs with Nilhara. 60 Leo, 2 A.R. Henrik is promoted to the Office of the Secretary of State. For his courage in the defence of the city, he is awarded the Order of Arcadia, the republic’s highest civic and military honour – and the first of it. Unit citations are awarded for the first time to the 1st People’s Own Arcadian Mechanized Infantry, 2nd People’s Own Arcadian Dragoons, and the 3rd People’s Own Arcadian Combat Support Engineers. 40 Scorpius, 2 A.R. Kali’s crew return to Earth. Nilhara is immediately taken into custody and debriefed. He is court–martialed on charges of having violated Article 104 of the Uniform Code of Military Justice in providing an enemy combatant and hostile state actor with access credentials to the Bhadra satellites. He is found guilty and sentenced to life imprisonment without parole at the Midwest Joint Regional Correctional Facility, Forst Leavenworth, North American Union.

~ 87 ~ 6 Capricorn, 2 A.R. Arda holds a public forum at Arcadia Hall on the future of the republic. The forum ends with a public vote carrying a motion to begin an Arcadian diaspora across Mars. This would begin with the settling of the rest of Arcadia Planitia. The rationale being that a nation comprised of a sole city has little hope of security and independence in a world still easily dominated by powerful Terran interests. 9 Capricorn, 2 A.R. An inbound subsonic aircraft crashes in the desert of Arcadia Planitia 40 km south of Starport Arcadia at 0700 MST. Emergency responders arrive on scene to find the dismembered wreckage bearing red cross emblems. The pilot is found without vital signs, pronounced dead, and the first officer missing. An attached RAP police constable locates 3600 kg of cocaine dislodged from within false bottom coffins bearing UNMEPF emblems. The transportation secretary informs Arcadia Hall of the police investigators preliminary findings. The tail number was registered to an NAU-CIA contractor for UN diplomatic flights. Chemical analysis determines the origin of the narcotic payload to be of probable Martian origin, but of a more addictive and dangerous synthetic form. The International Committee for the Red Cross confirms it has no such aircraft in its inventory, nor chartered by any of its affiliated organizations, and that such usage of the distinctive red cross emblem violates international law. That evening Arcadia Hall liaises with the newly opened North American Union consulate and as a matter of first official business summons their ambassador.

~ 88 ~ 6.8 The User’s Predicament At this point it is useful to step back and examine where we have potentially left the user and what possibilities this gives for a game. Where the fictional timeline ended the user’s experience carries on. The of Arcadia Planitia become home to a number of city–states of which the user assumes the role of head of state. This birth and erection of an abundance of city–states, known as pallis,190 answered Arda’s public proclamation of the dire need for an Arcadian diaspora. Arda’s reasoning was the need for mutual protection from Terran influences that would not rest until all of Arcadia’s costly infrastructure; rich human and material resources; expertise, and cultural demographics; and independent governance were under its control – directly or indirectly. Each of these pallis share a common strategic, economic, and military alliance while simultaneously experiencing the full autonomy of independent sovereign states. Smaller outposts can exist, but normally they always fall within the governance of a given city–state. The only codified legal framework these pallis share in common is the Constitution of the Republic of Arcadia Planitia. Thus they are a federated republic of autonomous city–states, bound together by a common heritage, foundational legal framework, values, currency, and mutual strategic interests. Politically the palli is the state, but culturally the federated republic is a nation. Every palli maintains its own unicameral legislative assembly; an executive branch consisting of a head of state, a cabinet, and an independent judiciary. The palli is normally solely responsible for levying its own taxes. All public officials, judicial, executive, or legislative since confederation were required to be democratically elected. There is normally no electoral college and anyone may submit themselves directly for candidacy. Election results are tabulated individually and are not aggregated into voting blocks, such as by districts within a palli. Although Arcadia is considered the capital of the republic, this is largely ceremonial – notwithstanding a few exceptions. The first of which is in carrying out the function of judicial arbitration between pallis in dispute. Secondly its council is frequently sought in an advisory capacity for historical reasons. To understand the cultural fabric and mentality of the republic, one must understand the background of its citizenry. With each Tarikin personnel ferry having shuttled five–hundred new highly qualified immigrants twice every year pre–screened with the intent to augment the settlement’s capabilities, the first settlement of Arcadia was constantly being replenished with additional manpower. This influx of people of disparate backgrounds came from every corner of the Earth, serving to enrich the settlement’s cultural makeup. Since the Tarikin’s arrived at regular intervals, this unintentionally prevented any already present social or ethnic group sufficient time to identify and assert itself as the settlement’s natural cultural identity.

190 The Greek word polis is usually translated as city–state. It is probably derived from the older Sanskrit palli which means the same thing.

~ 89 ~ The immigrants were generally well educated intellectuals, dedicated to research in their given fields – hence UNSA’s need and approval of their application for a visa. They were a people of botanists, geologists, engineers, physicists, and the like, and later to count among themselves, playwrites, musicians, and artists. They were not a people to ever consider themselves empire builders or of a nationalistic persuasion. They did however convince themselves in the context of their shared history of the reasonable need to seek mutual protection from Earth.

~ 90 ~ 7 Game World

This chapter covers many different aspects of the Avaneya game world. Topics range from timekeeping, navigation, and whatever else one might want to know. This chapter provides fertile ground for gameplay ideas.

7.1 Attire & Personal Equipment Obviously the colonists cannot wear what their Terrancounterparts would wear when exposed to the Martian extremes. This section raises some of the considerations that must be taken into account when designing their attire and other personal equipment. These are valuable visual cues for artists.

Any fabrics or other personal items exposed to Martian dust would benefit from being a reddish–brown hue. This minimizes the need for frequent washing. The materials must also be easy to sterilize. Hemp has so many uses that no one should be surprised if it finds yet another one here.

Whenever one performs an EVA (extra–vehicular activity), they will need special equipment. Despite what is typically portrayed in films, you do not need a bulky pressurized suit to survive on Mars – nor even in the complete vacuum of space for that matter. Nevertheless it is an option. But for the world Avaneya takes place in we figured we would try something less explored and with other advantages – or at least for Arcadians, but not necessarily of UNSA military personnel which could don militarized armour plated pressure suits.

An Arcadian requires a pressurized helmet, but can get by with only a special unpressurized elasticized mesh around the rest of their body. This mesh is tight enough to contain the human body at the same average atmospheric pressure it evolved under on Earth at a mean sea level pressure of 1 atm. This is possible because our skin does not need to be protected from a vacuum since it is already gas–tight. It only needs to be mechanically compressed to retain its normal shape. As long as a minimum pressure of 29.6 kPa is maintained, the occupant will be fine. Although it would be very tight when first put on, as soon as the occupant left the airlock and went outside, the pressure differential with the outside environment would relieve the discomfort by pulling the mesh back out.

One of the advantages of an elasticized mesh suit is that it is very light and easily stowed away within a small space – possibly even within a helmet. This also means it is much easier to work in. It can even suffer a minor puncture without permanent damage to the occupant in an absolute vacuum, but the exposed tissue would still be painfully sucked out into a brutal environment which would result in at least bruising. Prolonged exposure, however, would probably require that the dead tissue be removed.

Temperature regulation is necessary to ensure the occupant does not freeze or overheat. The body’s natural sweat is used to keep the suit cool while an integrated electrical heating element is used to

~ 91 ~ prevent freezing. A radioisotope heating unit could be used for this latter function, but they are very expensive.

The respirator provides the operator with a supply of breathable oxygen. There are at least two approaches. Compressed oxygen is cheap and provides about a 12 hour supply. Cryogenic liquid oxygen, on the other hand, provides about 36 hours. Although the latter is more expensive and susceptible to slow losses through boil–off, it can be siphoned out of a vehicle’s propulsion system in an emergency.

For electrical power, there are at least two options. A combined methanol–oxygen (CH3OH / O2) fuel cell is one route. It is reliable, efficient, and requires the operator to carry only a modest amount of methanol if they already have a supply of cryogenic liquid oxygen available for their respirator. One drawback is that this kind of technology is quite expensive (today).

An alternative power supply could be provided with batteries instead. NASA currently has a model that could be used as a starting point, the H2/O2 Technology Space Suit Fuel Cell Unit system. It is efficient, cheap, and lighter than the aforementioned approach since molecular hydrogen is less massive than methanol. Unfortunately it can also be very dangerous. The boil–off of the unit’s hydrogen supply when combined with the boil–off of the cryogenic liquid oxygen vented from the respirator’s supply within a confined space for a prolonged period of time could be disastrous. The mixture could explode if ignited.

7.2 Avaneya Spacecraft The Avaneya spacecraft is used to transport the initial bootstrap crew to their destination of Mars. This was related in the fictional narrative found in section 6.1. We will discuss some of the features of the spacecraft in this section.

7.2.1 Avionics, Instrumentation, and Other Equipment Avaneya is equipped with a large variety of equipment. This is necessary to aid the crew in their journey, to allow for various scientific studies en route, as well as at their final destination.

A helium magnetometer can be used to measure the characteristics of the Martian magnetic field. An ionization chamber or Geiger counter can be used to measure the charged–particle intensity and distribution in the space between Earth and Mars, especially in the vicinity of the latter. A cosmic dust detector can be used to measure the momentum, distribution, density, and direction of any that it can find. A solar plasma probe can be used that is sensitive enough to measure very low–energy charged particle flux emanating from the Sun.

A set of high resolution cameras can be used to acquire detailed surface imagery captured while in orbit. These cameras are needed for last minute adjustments in the selection of a landing site on arrival and for monitoring the point of rest of any cargo jettisoned down to the surface.

~ 92 ~ Radiation is always a problem in space and so there are a number of different considerations for the safety of the crew. A radiation assessment detector (RAD) is needed for automatically triggering an alarm. It can detect high–energy atomic and subatomic particles emanating from the Sun, cosmic radiation from distant supernovas, or other sources. Further, all of Avaneya’s sensitive electronics must be protected from this radiation. This is done through hardening of these components to avoid radiation induced soft errors.

Freezing of delicate electronic systems is also a concern. To remedy this, Avaneya is furnished with multiple radioisotope heater units. These are similar to the Dynamic Isotope Power System (DIPS) found in figure ??, but used only for their thermal energy. They maintain all critical electronic systems within their optimal operating temperature range.

7.2.2 Construction & Form Factor Avaneya’s aeroshield is large and can be constructed in low Earth orbit at the Iterum Shipyard described in section 6.1. The aeroshield allows the spacecraft to aerobreak safely through the Martian atmosphere. Without it, the atmospheric friction or drag would rip an otherwise exposed Avaneya apart.

7.2.3 Crew Facilities In the event that the RAD triggers an alarm, human factor considerations dictate that all provisions, waste, water, and so on, are arranged in such a way that they are stored by surrounding a solar storm shelter. The crew can take refuge within the shelter with virtually no danger to themselves, but only with ample forewarning.

An observation post or solarium allows the crew to not only survey the surrounding space and planetary bodies, but also the spacecraft itself. This is important for assessing any damage that might have been caused by micrometeorites and determining what requires repair.

The importance of life support is a given. A steady supply of O2 is provided en route with the aid of a RWGS reactor. This device is described in section 4.16.

7.2.4 Payload We must describe what it is that the spacecraft carries, besides its crew, their provisions, and any electronics and instrumentation systems that may be required. This would at least include what the crew expect to take with them to the surface. This would include cold weather adapted construction vehicles, night lighting, and any other equipment for the excavation and erection of various structures.

Providing the initial supply of energy for all activity that takes place on the surface, the crew are equipped with a nuclear fission reactor and several portable dynamic isotope power systems. For higher peak energy uses, like for bulldozers and drilling rigs, the crew will use dimethyl ether (CH3)2O (DME). The latter can be manufactured in situ.

~ 93 ~ Hydrogen is really the only major material resource that must be imported from Earth, or at least initially. It is critical for initiating the Sabatier and RWGS reactors upon arrival on the surface, as described in section 4.16 and section 4.17 respectively. Without hydrogen, the bootstrap crew cannot maintain their own self–sufficiency.

Fortunately hydrogen is the lightest known element in the universe. Avaneya can transport a large amount of H2 in liquid form (sometimes called LH2). It can be kept within cryogenic storage tanks. A multilayer insulation on the tanks can be used to reduce in–flight boil–off. In addition, the tanks can also be gelled with small amounts of methane to reduce losses even further. This CH4 contamination is not a concern since the LH2 it is helping to preserve is used only for the in situ propellant production, not as a raw fuel for internal combustion engines where it might damage them. Even with these measures, the crew will still expect a modest 1% boil–off each month.

7.2.5 Propulsion Propulsion is required to accelerate the spacecraft. To get to Mars, a chemical propulsion system of H2/O2 is used. The spacecraft need not bear the return propellant required of the flight back to Earth, but instead rely on the indigenous resources of Mars to supply the return propellant of CH4/O2 once there. This requires the mission payload to include propellant for the outbound trans–Martian injection stage only and begin manufacturing the methane and liquid oxygen propellant on arrival.

For small attitude control corrections, the monopropellant of hydrazine (N2H4) can be used. It is chemically attractive because it allows for long term storability and simplicity of use. For larger impulses like the large deceleration necessary to enter Martian orbit safely retrorockets will be needed. This is because aerobraking alone is not sufficient for a spacecraft of great mass to reduce its kinetic energy. Hydrazine reserves can be used to power Avaneya’s auxiliary power units (APU) for short periods of time in the event of an emergency.

Attitude control is important not just for minor course corrections, but also for avoiding high velocity debris and micrometeorites. All spacecraft slowly wear down from this kind of “sandblasting”. By shielding as much of the spacecraft as possible in foil, the particles are vaporized into plasma with the energy dissipating over an equal area that is less likely to cause serious damage or breach the inner wall. Unfortunately not all components can be shielded in this manner because they require being exposed to the elements in order to function, such as solar panels, telescopes, star trackers, and other optical devices. This equipment will slowly wear down.

7.3 Aviation Aviation is as viable a means of transportation and exploration on Mars as it is on Earth. This section raises some of the considerations that must be taken into account in the design of any vehicle capable of sustaining flight on Mars.

~ 94 ~ 7.3.1 Aerostats Aerostats are a class of aerial vehicles, such as balloons and dirigibles, that are kept afloat through the buoyant force provided by the gas trapped within inflatable bags. They can lift the equivalent mass contained in the volume of fluid they displace. This is known as the Archimedes’ principle.

Since air is a fluid, the size of the bag indicates how much it can lift. The larger the bag, the larger the payload. Further, since the Martian atmosphere is less dense than on Earth, they need to be larger on Mars to lift the same mass. About 10 g of effective lift is available for every cubic metre of balloon. This is the same as on Earth, but up at an elevation of 30 km. So a bag of 30,000 m3 on Mars could lift a 300 kg mass. It would be about 40 m in diameter and have a mass of about 50 kg, if using the standard plastic film that is only 10 microns thick.

The following is a useful formula for modellers in formula 7.1. It determines how much mass an 3 aerostat can lift as a function of the bag’s diameter. You can use a value of 휌푎 = 16푔/푚 for the atmospheric density on Mars at its mean “sea level”. Bear in mind that the payload must not only account for the mass of the bag’s fabric, but also for the gondola or basket area for passengers and instruments. This must include cameras or communications equipment, depending on its purpose.

휌 휋푑3 푀(푑) = 푎 (7.1) 8

푀 = total mass that can be lifted 푘푔 푑 = preferred diameter of bag 푚 3 휌푎 = atmospheric density 푔/푚

A comprehensive evaluation of the different fabrics to select from in the design of the bag has been done by Keshavaraj et al. in their study,191 but you probably don’t need to know this. Biaxial nylon 6 appears to be a good choice. It is only a third the thickness of a plastic bag. Like all nylons it also ages well. It does not leak and has a high specific strength.192 It is abrasion resistant and has good energy–absorption properties in the event it comes in contact with something. This is important because the sometimes rocky surface of Mars will be a concern for bags because of the potential hazard for punctures.

As flight characteristics go, aerostats should be easier to fly on Mars than on Earth. This is because the molecular weight of the Martian atmosphere’s mostly CO2 is 44 amu, but Earth’s mostly nitrogen and oxygen mix is only 29 amu. The atmospheric circulation is also simpler and more consistent than on Earth. It has been very well mapped out for a century. You could even fly half way around the planet in less than a week. This turns on the possibility of aerial highways for trade routes between Arcadian cities. 191 Keshavaraj, Ramesh, Tock, Richard Wm. and Nusholtz, Guy S. (1996). A realistic comparison of biaxial performance of nylon 6,6 and nylon 6 fabrics used in passive restraints–airbags. Journal of Applied Polymer Science, 61(9), pp. 1541–1552. 192 A material’s specific strength is the force per unit of area at the time of failure divided by the material’s density. Sometimes this is called the strength–to–weight ratio.

~ 95 ~ But what to fill the bags with? There are several options. Using H2 is dangerous on Earth because it is explosive in the presence of our atmosphere’s oxygen but is perfectly safe on Mars. Unfortunately it could be expensive in terms of the energy required to produce it.

Another option is just and simple water vapour. This is possible because a water molecule is only 18 amu, whereas atmospheric CO2 is heavier at 44 amu. It is cheap to produce but must be heated to at least 5∘C or the pressure will be too low to fly. If the bag is coloured black the day’s solar flux would warm it up sufficiently – but only during the day. Remember that a gas’s temperature, pressure, and volume are all interrelated as described by the ideal gas law (formula 7.2), and therefore the amount it can lift as well.

푃푉 = 푛푅푇 (7.2)

푃 = pressure of gas 푉 = volume of gas 푛 = amount of gas 푚표푙푒푠 푅 = gas constant of 8.314 퐽퐾−1푚표푙−1 푇 = gas temperature 푘푒푙푣푖푛

Yet another option is even simpler, CO2. Although it may be the poor man’s gas with no shortage of it on Mars, it could still work. It would, however, require a bag larger than the previous options described and would also need to be solar heated.

7.3.2 Fixed Wing Fixed wing aircraft are possible on Mars, either unpowered in the case of gliders, or powered. The latter are possible in the Red Planet’s thin atmosphere for the same reason as aircraft at high altitude in Earth’s stratosphere are possible.

Subsonic aircraft travelling up to about 700 km/h could use long straight wings for a better lift–to–weight ratio. A rocket is not necessarily required and a simple propeller could do the job. If the aircraft’s form–factor incorporates a tilt–rotor, then vertical take off and landings would be possible (VTOL). They are also efficient for long range flights and even more efficient as ultralights.

Supersonic rocket–planes are also possibilities. Small delta wings would work better than the straight wings in the subsonic profile. Like the subsonic aircraft, VTOL would be possible if designed with ventral jets.

Another supersonic alternative is the combustion ramjet. One could use an engine that burns silane (SiH4) fuel directly in the atmosphere’s CO2. This is excellent because it means that we would not need to carry an oxidizer and therefore enjoy a very high specific impulse. See section 4.20 for more on this concept.

~ 96 ~ 7.3.3 Ascent & Descent Rockets Mars ascent vehicles (MAV) are capable of leaving the surface of Mars and entering low Martian orbit. Once landed they can refuel themselves automatically from the Martian atmosphere using Sabatier reactors. They are typically lighter and carry a much smaller payload than ERVs because they do not have to support the requirements of interplanetary travel. In Avaneya they eventually become superannuated with the adoption of the MADV technology.

Mars Ascent–Descent Vehicle (MADV) vehicles combine the features of the MAV and a lander into one. They are capable of leaving the surface of Mars to enter low Martian orbit and vice versa. This is useful for shuttling personnel and materials in either direction. Some interplanetary spacecraft are not designed for atmospheric entry and landing so they may transport one or more MADVs with them. Once landed they can begin refuelling themselves automatically from the Martian atmosphere using Sabatier reactors.

7.3.4 Trans–orbital Rockets

A rocket “hopper” is another type of rocket vehicle but with suborbital ballistics. It is useful for trans–global suborbital flights where the atmosphere is so thin, movement through it is nearly drag free. One could travel half way around the planet in less than an hour.

It has its disadvantages though. Unlike fixed–wing aircraft, any course corrections that need to be made require it to burn more fuel. It is not very manoeuvrable and for short and medium travel distances not particularly efficient either.

The hopper has several options as far as propellants go. Using a methane–oxygen (CH4 /O2) oxygen propellant is a good choice, but depending on how it is acquired it could be very expensive.

Using a nuclear–thermal rocket engine (NTR) is another possibility. It does not require a chemical propellant, but instead operates more like a “flying steam kettle”. A solid nuclear fission reactor heats up some kind of fluid, vaporizes it, and then pushes off of it by ejecting it out a nozzle to produce thrust. Any liquid will do, such as H2 which has an exhaust speed of 9 km/s. Depending on how it is acquired it too could be energy intensive to produce (e.g. electrolysis).

Cheap CO2 could be used instead, but its exhaust speed is at best only 2.3 km/s. If we did this we would have a nuclear rocket that uses indigenous Martian fuel (NIMF). Although the fuel is not very exotic, the advantage is that the rocket could refuel itself anywhere and it would not drain a base’s CH4 /O2 stocks. This gives surveyors complete mobility over the entire planet.

The reactor would require bomb–grade fissionable material, such as 93% enriched uranium–235 or its plutonium equivalent. However a containment breach would result in the dispersal of radioactive material all over the place. If a rocket were at a high enough altitude it could result in a very large dispersal area.

~ 97 ~ 7.4 Bootstrap Teams The initial fictional bootstrap crew carried by the Avaneya spacecraft is organized into teams. Some of the teams are temporary whereas others are intended to address recurring problems. Some team members may be members of more than one team, and some team leaders may be leaders of more than one team.

The construction team consists of specialists with training in a variety of disciplines. This includes cold weather construction experts and structural engineers. They are responsible for building erection in the early world described in the fictional timeline of chapter 6.

The experimental team consists of specialists that conduct experiments both en route and in situ. This includes a xenobiologist. Henrik Nørgaard is the team lead.

The greenhouse team is responsible for providing the population with a stable food supply. This includes biogeochemists, algaculturalists, and geologists. Some also function as medical assistants to Henrik. Nayana Rai is the team lead.

The mechanics team is responsible for ensuring that all machinery is properly functioning and carrying out any repairs that may be needed. It includes at least mechanical engineers and mechanics skilled at troubleshooting problems that may arise in the field. Senka Rukavina is the team lead.

The recovery team is a temporary team responsible for tracking and recovering all cargo jettisoned from Avaneya upon its arrival at Mars.

The survey team is responsible for assessing various locations on their merits of habitability, accessibility, mineralogy, and other available resources such as water ice. The team includes at least biogeochemical and geological specialists. Senka Rukavina is the team lead.

The systems team is responsible for all communications and other electronic equipment. They include specialists in artificial intelligence, knowledge engineers, cerebral mechanics, cyberneticists, and communications. Khalad Zafar is the team lead.

The terraformation team is responsible for surveying and reporting back to UNSA on the terraformation efforts. It includes at least astrogeophysicists and areobotanists. Nayana Rai is the team lead.

7.5 Buildings In this section we will discuss general considerations in the design of Martian buildings. This is very important in particular for artists. 7.5.1 Airlocks Airlocks require a rubber seal to prevent leaks. It may be useful that they are chemically treated to prevent them from sticking in cold weather. A jam could get someone killed if they need to get either inside of a pressurized building or escape from one in an emergency.

~ 98 ~ 7.5.2 Anchorage Since most buildings are pressurized, they need proper anchorage to prevent them from unexpectedly going airborne. One approach is to dig a narrow shallow circular trench and lay a skirt within it. The skirt needs to be staked down with long, deep, barbed stakes that have pipes within them. By piping hot water vapour through them the water mixes with the surrounding regolith. It freezes the two together into an extremely strong ring of permafrost which acts as an anchor. 7.5.3 Computer Control Systems Buildings will require an integrated computer control system for managing a number of things, including power, communications, heating, cooling, life support, and internal or external automated lighting.

Heating and cooling needs to be managed intelligently. If you lose power the building will freeze and possibly damage its contents or kill people.

Martian dust will inevitably get into everything, especially every time anything passes through an airlock. An air–dust filtration system is necessary to keep the air clean.

The atmospheric pressure for the habitat modules must be maintained at 34.0 kPa. We will discuss pressure ratings more in section 7.5.4. For now, we just need to know that the atmosphere needs to contain the following partial pressures of 20.0 kPa O2, 12.0 kPa of N2, and 0.05 kPa of CO2. The oxygen is a given for human life, but the nitrogen acts as an inert non–flammable buffer gas to provide enough partial pressure for the oxygen to pass freely through the lung’s alveolar membrane. We use the lowest possible amount since nitrogen gas is hard to find on Mars with only 4.3% of its atmosphere being a blend of that and argon. The CO2 is maintained at the level it is because any more than 1% and it becomes toxic.

Life support also provides waste recycling and water purification. Chemical–physical reactors are used for scrubbing CO2 out and the RWGS reactor is used for replenishing the O2 supply. Waste needs to be pyrolyzed. Experimentation has demonstrated that microbial–based biological recycling systems have not been particularly reliable. 7.5.4 Pressure Ratings The mean sea level (MSL) atmospheric pressure on Mars ranges from 30 Pa to 1135 Pa, which is about the same as one would expect at 36 km above the Earth’s surface. The MSL atmospheric pressure on Earth, by contrast, is 101,300 Pa (101.3 kPa). This means that it is only about 1% of Earth’s at MSL.

Pressure ratings have an impact on the way buildings can be designed for use on Mars. The main difference between inflatable buildings is in their pressure rating. A lower pressure rating means the fabric can be thinner, the building lighter, and therefore lower in cost to manufacture. It also determines whether you need to wear a full pressure suit, just a respirator, or nothing special at all. Take a look at table 7.1 for a list of all of the building pressure ratings in Avaneya.

~ 99 ~ Pressure Respirator EVA Suit Description

6.8 kPa Needed Needed Attractive because they are economical, very light to pack, and require fabric only 0.2 mm thick. For plants this is fine since they only need 5.0 kPa of pressure.

17.0 kPa Needed Unneeded These buildings cost a little bit more, but you can work in them without a pressure suit. You still need a respirator or you will pass out.

34.0 kPa Unneeded Unneeded These buildings cost a little bit more, but you can work in them without a pressure suit or respirator. Although the O₂ partial pressure levels still need to be enriched. The pressure can even be equalized with a habitat which makes movement easier. As a bonus bees pollinate better at this low pressure and gravity.

100.0 kPa Unneeded Unneeded These buildings cost the most but offer the same pressure at Earth MSL. Since everything must be three times heavier than actually required they are a costly waste of resources.

Table 7.1 Martian building pressure ratings.

7.5.5 Design There are many different designs available for buildings on Mars. The rigid aluminum tin–can shape seen in some government space program concept artwork is an option, but it tends to be expensive and is difficult to relocate.

Inflatable structures will probably be a very popular option. The fabric could be made out of polypropylene and reinforced with Kevlar, spectral, or nanecta webbing. It would need an anti uv–coating (e.g. acrylic tarp) to protect both the inhabitants from the effects of radiation as well as the fabric from premature deterioration.

These structures are cheap, light weight, can be packed in a box, and are ideal for greenhouses. The disadvantages are that they are weak and vulnerable to micrometeorite strikes, faulty electrical wiring melts, and potentially unreliable computers regulating their pressure. The latter can be a potentially grave safety concern if the pressure regulation software is non–free since it cannot be audited or repaired by anyone other than the vendor – and only even then if it is in their interest to do so.193

Tensile structures are yet another option. These buildings carry only tension forces and do not experience compression or bending. If they are pressurized and their fabric is stiffened with internal framework from aluminium or steel struts after its initial pressurization they could work very well. 193 Free Software Foundation. Free Software is More Reliable. gnu.org. 20 Sep. 2011.

~ 100 ~ Radiation is always a concern on Mars, even with shallow underground facilities. To protect facilities that are underground at a shallow depth they should be covered with bags of borated water ice or sandbags half a meter thick.

7.6 Communication 7.6.1 Satellite Uplink With Earth Communicating with Earth is unfortunately not without high latency. It takes between 4 to 20 minutes to communicate between the two planets, depending on the position of their orbits. When communication is brokered by satellite the connection will be lost when its orbit takes it to the far side of the planet. Therefore (transluminal) realtime communication between the two planets is not possible.

7.6.2 Mars Enhanced Telecommunications Orbiter Personal communication across the surface of Mars is best done by relaying through the Mars Enhanced Telecommunications Orbiter (METO), or perhaps another satellite. Provided line of sight with the satellite is available, high bandwidth realtime applications over UHF are possible.

7.6.3 Personal Citizen Band Radio When METO is not available, personal communication on the surface can be done with a 2 m antenna working in the 144 MHz band (VHF). Line–of–sight communication is required. Note that this becomes useless at ranges in excess of 40 km due to the planet’s curvature because Mars is smaller than Earth. 7.6.4 Shortwave DX Radio In the event that neither METO nor line–of–sight communication is possible, shortwave radio reflected off of the ionosphere (DX radio) is a cheap and viable backup. DX radio works by reflecting radio signals off of the ionosphere in the shortwave radio band (3 to 30 MHz).

The 9 and Viking Mission orbiters and landers provided us with a great deal of information on the Martian ionosphere so we are able to predict reasonably how well this kind of communications equipment would function on Mars. We know its ionosphere consists of about 90% O2 cations, so we this should be possible to do.

The effectiveness of DX radio is dependent on the electron density peak in the ionosphere. This determines the total usable frequencies. This is directly proportional to the square root of the electron density. On Earth this is as high as 20 MHz which provides a great deal of bandwidth. On Mars this will vary based on the time of day. During the day the peak electron density of 200,000 푒/푐푚3 at an altitude of 135 km. This provides 4 MHz of bandwidth. At night this density is reduced down to only 5,000 푒/푐푚3 at an altitude of 120 km, affording only 700 KHz of bandwidth. That is pretty low for video but sufficient for voice and any small engineering telemetry that compresses well.

~ 101 ~ One of the added benefits of DX radio on Mars is that, unlike on Earth, signals suffer very little attenuation. This is because there is less interference on a world where there are no distant thunderstorms and far fewer radio stations.

7.7 Earth & Lunar Moon At the time in which the game takes place in most of Earth falls within one of ten geopolitical entities or unions. These include the African Union, Asian Pacific Union, Asian Union, Caribbean Union, Central American Union, European Union, Gulf Union, Mediterranean Union, North American Union, and the South American Union.

Portions of their history and circumstance can be derived from reading the leading character biographies in chapter 5 as well as the fictional timeline in chapter 6.

As for Earth’s lunar moon, it does not play a significant role in our gameplay yet. The lunar moon does, however, contain lucrative helium–3 mines.

7.8 Economics & Commerce Economics and commerce are part of our gameplay mechanics. They also form a cornerstone of multiplayer interaction. Some other multiplayer games have attempted similar, sometimes with success and sometimes without. We need to pay attention especially to the ones that did not – and why. This section will discuss some design considerations.

7.8.1 Genuine Progress Indicator The GPI is a system of true cost accounting which is intended to replace the gross domestic product (GDP), sometimes referred to as the gross national product. The GPI works by taking into account all monetary costs of an activity to produce a net balance sheet. The GDP on the other hand only functions as an income sheet by tabulating the total amount of goods and services produced in a year.194

An example where a difference between the two is greatly illustrated is found in the tobacco industry. The GDP accounts for the value of all tobacco products sold, a dollar value greater than zero. The GPI, like the GDP, would also account for the total value of all tobacco products sold. Where it differs it would then go on to subtract the costs socialized to society in the form of health costs, fires, garbage collection, environmental toxicity, and the deaths of approximately 5,000,000195 people every year who are no longer productive.

194 Cobb, Clifford, Sue Goodman, Gary and Wackernagel, Mathis. Why Bigger Isn’t Better: The Genuine Progress Indicator – 1999 Update. Redefining Progress, San Francisco. Nov. 1999. 195 Oreskes, Naomi and Conway, Erik M.. Merchants of Doubt: How a Handful of Scientists Obscured the Truth on Issues from Tobacco Smoke to Global Warming. Bloomsbury Press. May. 2010.

~ 102 ~ Another example is in the cost of fast food. The upfront price the consumer pays for a hamburger may be only 99 cents, yet the actual true cost is roughly $200.196 This is not an abstract or speculative quantity, but has actually been measured.

If we look at the top twenty regional sectors in various industries across our planet, ranging from coal power generation in North America and Eastern Asia to rice farming in Southern Asia, none would be profitable if the true environmental costs were fully accounted for.197 Indeed they would all find themselves bankrupt in short order if all costs previously socialized were assumed.

In all cases the GDP determined a gain while the GPI was a more accurate indicator in revealing hidden deficits. The GPI is a powerful tool that is seeing more and more practical applications among sociologists and true cost economists around the world.198 When users know the true cost of things it can influence how they make decisions.

7.8.2 Commodities Commodities that can be bought and sold will vary, though they should all be as data driven as possible by using the game engine’s Lua interface. Data should include various parameters, appropriate artwork, and any scripted behaviour the commodity may require. All of the resources a city and its industries have available to them, supply, demand, and inter–city relations between industries are some factors in determining the complete list at any given time.

The user should be given as much information as possible when working with a given commodity. This information should include the required energy to produce and transport it. It is sometimes quite revealing to see that it might take 35 megajoules of energy to produce 500 mL of water. In other cases it takes but a fourth the energy to lift off from Mars than on Earth giving the former a major economic advantage over the latter.

A very short list of commodities would include materials useful for agricultural purposes such as smectite clays, nitrates, fertilizer, machinery, and more. Deuterium; gold; magware (magnesiumware); food and beverages, such as Arcadian Manowar; high–grade mineral ores; geochemically rare elements; communications and shallow radar equipment useful for surveyors; and many others items form just a small sample of the countless possibilities.

Generally the only way of acquiring any kind of high quantity mineral is from high–grade ore. High–grade ore only exists where complex hydrological and volcanic processes have occurred. In our solar system this has taken place only on Mars and Earth. This is why the Moon is barren. But unlike the Earth, Martian deposits of precious metal ore have never been exploited and thus present a commercial opportunity.

196 Patel, Raj. The Value of Nothing: How to Reshape Market Society and Redefine Democracy. Picador. Jan. 2010. p. 46. 197 Roberts, David. None of the world’s top industries would be profitable if they paid for the natural capital they use. 17 Apr. 2013a. 198 Costanzaa, Robert, Ericksona, Jon, Fliggerb, Karen, , Alan and Adams, Christian et al. (2004). Estimates of the Genuine Progress Indicator (GPI) for Vermont, Chittenden County and Burlington, from 1950 to 2000. Ecological Economics, 51, pp. 139–155.

~ 103 ~ Other commodities can contribute to underground black markets as well. An example would be NAU–CIA narco-trafficking. In that example they may be providing a supply from off–world imports or possibly manufacturing synthetic narcotics in situ, such as cocaine. If there is a demand for something on Mars, chances are there is someone willing to provide it for the better or the worse.

Commodities can move in various ways. These include through airports, starports, ground vehicles, railways, or even railguns for off–world exports to Earth.

7.8.3 Exchange Parties There are multiple parties that can engage in trade. These should include cities, outposts, including those other than the user’s, industry sectors within a city, and on Earth. All of these can be either human or non–playable characters (NPCs) – except Earth which is always AI driven.

7.8.4 Industries Industries are many in number. Construction is one example of a Martian industry because it can transform undeveloped locations into tillable or marketable properties. Prospecting for precious metals would be lucrative because they are much more abundant on Mars than on Earth. Supplying prospectors with replacement gear and supplies is another example. Well–drilling for water would be yet another.

7.8.5 Jenya Rhodium is an elemental chemical denoted with the symbol Rh on the periodic table and assigned atomic number 45. It is a member of the platinum family and considered to be the most precious metal of that family. It is one of the rarest precious metals and costs more than any other – including gold.

A fiat currency is a currency that has only the endorsement of an authority such as a government to assert its value. It is neither composed nor redeemable in any material perceived of as valuable held in reserve.

Article VII of Arcadia’s Rubicon Act superannuated the Terran bancor fiat currency with the jenya. It is the first currency to be backed by a predominantly rhodium standard with the remainder by other precious metals such as gold and silver. The jenya became the exclusive legal tender within Arcadia when the Act was passed. This required that all Terran interests acquire Arcadian goods and services

exclusively in jenyas from that time onwards. The currency symbol for the jenya is R .

The word jenya is Sanskrit. It means of noble origin, genuine, or true wealth. The idea being that since rhodium was considered precious by the colonists, even more so than gold, its distribution across society implied a distribution of monetary wealth. Anyone with any amount of jenyas would always have something thought to be valuable, irrespective of any central authority’s validation. Political volatility or institutional reforms could impose restrictions on using jenyas as legal tender, but never their perceived “intrinsic” value.

~ 104 ~

R

Figure 7.1 Currency symbol of the Arcadian jenya.

It may be tempting among people of certain political persuasions to conclude with certainty that all economic woes would vanish with a precious metal based currency. It is true that doing so may help to alleviate some problems, such as the problem of inflation. But economic problems can be deeper rooted than merely in the choice of unit of exchange.

Consider that gold is considered by many as having great intrinsic value. Yet its availability is actually the result of monumental waste. When one accounts for its true cost, it grossly exceeds its own monetary value. This is because for every one ounce of gold gained through conventional extraction and refinement processes there are seventy–nine tonnes of material waste produced as a byproduct.199 Sometimes this waste is so dangerous that even long after the mine has been abandoned a single mine can still contain enough arsenic to poison every human on our planet.200

7.8.6 Banks & Money Supply As already described, Arcadia normally functions on a rhodium standard. This could change depending on political circumstance.

Banks are generally hostile to the understanding that they are responsible for the creation of money. Nevertheless, they are.201, 202 In Avaneya money can function either as a medium of exchange (a utility), or it can function as a dangerous weapon that can enslave your city when its creation is born out of interest bearing debt.

How we model banks is important. We do not want to over–complicate things, but a certain degree of over–simplification may be necessary to convey only the most important ideas, such as the mechanics of fractional reserve lending. We should be able to do this without overwhelming the user. We can start, at least in part, by modelling a bank by using the basic accounting equation found in formula 7.3.

퐴푠푠푒푡푠 = 퐿푖푎푏푖푙푖푡푖푒푠 + 퐶푎푝푖푡푎푙 (7.3) 199 Earthworks and Oxfam America. Dirty Metals: Mining, Communities and the Environment. Earthworks and Oxfam America. 11 Feb. 2004. 200 CBC News. Giant mine time bomb. cbc.ca. 20 Jun. 2013a. 201 Standing Committee on Banking and Commerce. Minutes of Proceedings and Evidence Respecting the Bank of Canada. Printer to the King’s Most Excellent Majesty. 1939. 202 Griffin, G. Edward. The Creature from Jekyll Island: A Second Look at the Federal Reserve. American Media. 2010.

~ 105 ~ A bank’s assets include three types of things. These would be loans to clients, reserves, and securities. Loans do not actually exist as assets, but banks maintain that they would be if they got them back. Their value is in the collateral, such as someone’s home, business, or whatever the loan was used for.

Reserves represent the amount of money that a bank has in hand. This is the amount deposited within a central bank and the money made from customers. They do not collect interest on this.

Securities represent a wide range of investments. These include stocks, bonds, notes, limited partnership interests, and so forth.

A bank’s liabilities include two types of things, deposits and their shareholder’s capital. Deposits consist of two types. They can be other peoples’ money, which the bank pays interest on, or they can be money lent to the banks by the customers to fill their accounts. The bank considers these liabilities because they are liable to have to return them to the customer at the customer’s request.

The shareholder’s capital is the equity or amount they put forward to start up the bank.

In fractional reserve banking, banks create new money through bank loans. All money is created (borrowed) into existence at interest. This means there is only sufficient money in the money supply to at best repay the principle, but not the accrued compounding interest.

This is one reason why every developed nation around the world is in debt – even when the majority within them are employed. There are political debates on how governments ought best to spend their citizens money, but they seldom include discussions on how money is created in the first place.

When new money is created the existing supply of money is devalued because there is now more of it. This is especially troublesome since inflation punishes in particular those who tried to save by reducing the value of what they already have. This deprives everyone in a non–obvious way. Since all money began in a bank before making its way to citizens through wages, salaries, and dividends, it means that people are constantly being plundered instantaneously with every new bank loan. The bank effectively sends loanees out into the world to compete for someone else’s principle.

The graphical user interface can reveal a selected bank’s balance sheet and any fractional reserve information. This could include a user definable reserve requirement. 7.8.7 Inflation There are different definitions of inflation. We could define for our purposes inflation as the ratio of the total amount of money in citizens’ hands with respect to the total price of all available goods on the market. Contrary to popular belief and as described in section 7.8.6, inflation is not really a devaluing in the currency. That is certainly a consequence of it, but rather inflation is an increase in the supply of money. 7.8.8 Labour Without people providing services, producing things, and competing for finite resources, there would be no need for a monetary economy. On Mars perpetual labour shortages would be a problem.

~ 106 ~ This is dissimilar to Earth frequently experiencing a labour surplus. Even settled Martian areas would experience labour shortages because the skilled labourers would be out trying to stake a new existence on the frontier. As a result one would usually expect to see higher wages.

Traditional conflicts between the organized labour movement, its leadership, the owners of private firms, and the public sector could be modelled in a balanced and reasonable manner.

7.8.9 Taxation Taxes sometimes need to be raised in order to provide for public infrastructure. The user should be given a choice to experiment with different models of taxation, such as a flat or progressive model as applied to either individuals and businesses. Other programs could be experimented with, such as the theoretical and never attempted negative income tax.

7.8.10 Railguns By applying a magnetic field to a conductive mass mounted on a rail, it can be accelerated to a supersonic velocity. The drastic acceleration experienced by the mass, though high enough to crush the skull of a man, could be used for Martian material exports when brought to a speed exceeding the minimum Martian escape velocity.

Current Magnetic + field –

Projectile Rail B Force Rail F I

Figure 7.2 Schematic of a railgun. Original image courtesy of Bob .

Arcadians use railguns to export their staple exports of deuterium, geochemically rare elements, and other materials back to Earth. Although energy demanding, railguns are more economical to use on Mars. This is because only a fourth the energy is required on Mars to escape the gravitational field in contrast with Earth because the former is less massive.

7.9 Environmental We should discuss some of the relevant environmental characteristics of Mars. This is important for shader writers and visual designers in particular.

~ 107 ~ 7.9.1 Atmosphere

As already discussed the Martian atmosphere is 95% CO2. Its mean sea level (MSL) pressure ranges from 30 Pa to 1135 Pa. By contrast, Earth’s MSL is 101,325 Pa. To compare the two you would need to be 36 km above the Earth’s surface to experience the Martian MSL pressure. Plant life requires at least 5,000 Pa.

Because there is very little atmospheric buffering, the temperature will rise and fall in rapid synchronicity with its proximity to the Sun. This varies with its position in its orbit. The temperature ranges from a minimal −90∘C to a maximum of 35∘C and with an average of only −63∘C. But despite the extreme temperatures the greatest threat to an exposed human is actually the low atmospheric pressure.

The Armstrong Limit of 6,262 Pa is the lowest the human body can survive before the vapour pressure of all exposed liquids, such as tears, saliva, and the liquid wetting the lung’s alveolar membrane exceed that of its surrounding atmosphere. They will begin to boil away at this point, but not fluids like blood contained within the skin’s pressure barrier. On Earth the Armstrong Limit begins at about 19 km above the surface. On Mars it is already well exceeded at MSL.

It should be noted that locations where the altitude is much lower than MSL, the atmospheric pressure would be the greatest if it were increased through terraformation. Valles Marineris, as an example, is up to 7 km deep.

7.9.2 Desert Threats Deserts are dangerous on Earth and the vast ones of Mars are no exception. It is very easy for one to get lost for any number of reasons. The Mars Positioning System (MPS) could stop working due to a hardware failure, a solar flare affecting a relay satellite, a cosmic ray disrupting a receiver or even defects in proprietary software.

Compounding things it is virtually pitch black at night on Mars in the absence of artificial lighting. This is because Mars’ two moons Phobos and Deimos do not reflect much solar light. Vehicles and dismounted persons would need proper outdoor lighting.

But there are other threats. One can also freeze to death in the −90∘C weather if their suit loses power or the integrated heating elements fail for any reason. Or if they are out for long enough they will run out of oxygen.

One could also run out of water. The average person requires about 1 kg per day under normal circumstance. To extract the water from the soil, perhaps in an emergency, one could setup a greenhouse–tent to condense the water out of the regolith. The regolith contains anywhere from 3% to 60% water by weight. If a photovoltaic oven is available, it could be used to melt the water in the soil. Whatever the process of extraction used, water from the soil still needs to undergo distillation due to its high salinity.

~ 108 ~ 7.9.3 Regional Characteristics The planet’s north and south poles are different. The north is mostly water ice and contains about 821,000 km3 of it. It has a more moderate climate than the south and is wettest in the Spring. The south is mostly dry ice (CO2) and colder. Both locations have strength winds and thick permafrost mantles.

Climate varies throughout Mars like on Earth, and not just at its poles. The northern hemisphere is advantageous with less seasonal variation in temperature. This is because the planet is closer to the Sun in the northern winter and farthest during Summer. It was for this reason that our fictional UNSA sought a mid– location in Arcadia Planitia, roughly half way between the north pole and the equator.

The centre of Arcadia Planitia is mostly uniform in appearance with its centre at roughly 46.7∘N 192.0∘E. The name of the region was borrowed from its original in Ancient Greece, so named after the Greek legend of Arcas.

The Martian seasons are not only more predictable, but there is a great deal of water ice and sunlight for year round greenhouse use. Images of a fresh meteorite crater 12 metres across taken in 2008 revealed under the surface a massive blanket of water ice.203 It also turns out fortuitously that this ice is almost completely pure, with only about one percent of it being other matter.

Even though there is a great deal of ice on Mars, it is unstable in the thin Martian atmosphere and you rarely ever see it exposed anywhere other than in the polar regions. This is because the ice rapidly sublimates as soon as it is exposed. A solid material is said to sublimate when it skips melting to a liquid and turns directly into a vapour state.

The region has experienced recent lava flows. By recent, in a geological time scale, that means within the last few hundred–million years. Mars most likely is still volcanically active and must have a molten core. It does not however appear to spin around its core which is why there is no magnetic field. This is why magnetic compasses are useless on Mars as described in section 7.12.

Arcadia Planitia’s windswept landscape consists of a vast, mostly flat, pale tan coloured plain. It has sand dunes of modest height, never approaching anything higher than a few feet with small uniformly sized rocks littering the surface. As the prevailing theory goes these rocks are remnants of some of the underlying bedrock which is an older layer of solidified lava. Every time an asteroid impacts penetrating the younger upper layer the underlying bedrock ejecta is scattered everywhere.

Like all other explored regions it undergoes constant sterilization through intense ultraviolet radiation. This is why there is no known life on the surface of Mars.

Visual designers and shader writers are encouraged to draw on the resources provided by our Avaneya: Viking Lander Remastered DVD described in detail in chapter 10. No amount of writing really

203 CBC News. Ice on Mars revealed in fresh craters. cbc.ca. 24 Sep. 2009.

~ 109 ~ can account for the value of actual high resolution imagery captured at various times of day and across all seasons from this region.

7.9.4 Radiation Radiation is always a concern on Mars. Levels are 50 times those of Earth. It is usually measured in either rems or Sieverts (sv in SI). One rem is the equivalent of 1/100 sv. The amount or dosage received, combined with various weighting factors, determine how effective the radiation is likely to cause biological damage.

Exposure can be grouped into two categories, acute and extended. Acute or prompt exposure is shorter than the time of cellular regeneration. Anything less than 50 rems is typically sub–clinical and should not produce anything other than blood changes. 50 to 200 rems can cause illness but is rarely fatal. 200 to 1,000 rems will cause serious illness. Anything greater than 450 would probably kill half of all those exposed. Anything greater than 1,000 rems and it would almost certainly be fatal. An extended exposure is any exposure that took longer than the normal time of cellular regeneration. A low exposure will not make you sick, but a medium dose will increase your likelihood of cancer.

Sources of natural radiation on Mars are solar flares and cosmic rays. Solar flares are of no danger to people on Mars, but only to space travellers. This is because the planet’s thin atmosphere is still thick enough to protect those on the surface.

Even then, although mostly unpredictable, solar flares average only about one per terrestrial year. They tend to happen more frequently during the planet’s solar maximum and less frequently during the solar minimum. They can last for several hours at several thousand rems and consist mostly of protons of a few million volts. Shielding with 12 centimetres of water or comparable mass of 12푔/푐푚2 or greater is enough protection. For underground buildings at a non–shallow depth this is not issue.

Cosmic rays are another significant source of radiation and of concern both to Martians and space travellers. Unlike solar radiation these particles have energies in the billions of volts and no one is certain where they come from – although we are certain they do not come from the Sun. Interstellar crew would be exposed to about 30 rems per year. That is about 21 rems for an 8.5 month type–II Hohmann transfer.

Despite all of the emphasis NASA gives the dangers of cosmic radiation on Mars, there are several reasons to not be alarmed. Half of the sky is always blocked out to anyone anywhere on the surface. The remaining radiation is reduced by roughly a factor of half to only about 10 rems per year actually reaching the surface. Proper shielding of buildings, vehicles, and EVA suits therefore render this a moot point.

Consider for a moment that with all the concern raised about the dangers of radiation, we know now that the cancer we see every day is nearly always induced by diet.204 Even if nutrition was given more 204 Campbell, T. Colin. The China Study: The Most Comprehensive Study of Nutrition Ever Conducted and the Startling Implications for Diet, Weight Loss and Long-term Health. Benbella Books. 2006.

~ 110 ~ than a head nod, it should be noted that proper nutrition can even assist in the repair of cellular DNA damage caused by radiation.205

7.9.5 Sky Mars has a beautiful sky. At night time it may be possible to see auroras. During the day one can see CO2 and water clouds. Visual designers are encouraged to examine the images provided by our Avaneya: Viking Lander Remastered DVD described in detail in chapter 10 to get an idea of the sky’s appearance.

7.10 Food What people eat affects them in more ways than in satisfying their personal preferences. What we eat profoundly affects our quality of life, intelligence,206, 207 as well as our surrounding economic and political environments.208 The way we grow food is one of the principle ways we interact with our own planet. This section will discuss some of the considerations for a Martian diet and what is necessary for growing healthy food on the Red Planet.

7.10.1 Interplanetary Travel During the flight to Mars it is critical that the crew eat properly because sickness is a mission liability. This is more so in space than on Earth because the traditional allopathic approach to treatment of illness is even less effective in space209 than it already is on Earth.210

7.10.2 Politics Depending on the political circumstance and the most influential elements in policy making, some foods will be considered acceptable at others illegal at other times. Influential elements acting through UNSA may attempt to pass legislation that bans or controls any number of unpatentable herbs known to have useful pharmacological properties.

7.10.3 Dietary Considerations The raising of warm–blooded herbivores for food is pointless both in space and on Mars, but that may not stop it from happening anyways. There are reasons why one does not see poultry on the International Space Station. It is an extremely energy inefficient method of producing food. Most of the energy that goes in to warm–blooded herbivores is off or radiated into space long before it reaches the table. 205 Cavusoglu, Kultigin and Guler, Perihan (2009). Protective effect of kombucha mushroom (KM) tea on chromosomal aberrations induced by gamma radiation in human peripheral lymphocytes in-vitro. Journal of Environmental Biology, 31, pp. 851–856. 206 CBC News. How ’toxic’ is sugar?. cbc.ca. 4 Oct. 2013c. 207 Connett, Paul, Beck, James and Micklem, H. Spedding. The Case Against Fluoride: How Hazardous Waste Ended Up in Our Drinking Water and the Bad Science and Powerful Politics That Keep It There. Chelsea Green Publishing. Oct. 2010. 208 Kenner, Robert. Food Inc. Magnolia. 2008. 209 TE/HGH. Drugs not effective in space: Study. PressTV. 17 Apr. 2011. 210 Lazarou, Jason, Pomeranz, Bruce H. and Corey, Paul N. (1998). Incidence of Adverse Drug Reactions in Hospitalized Patients: A Meta-analysis of Prospective Studies. JAMA, 279, pp. 1200–1205.

~ 111 ~ Tillable land is also not free. Adapting the land for the large agricultural purposes necessary for the raising of warm–blooded herbivores is energy intensive on Mars. That and a long list of other reasons ensure it is simply too costly to responsibly prepare them for human consumption. Even if it could be done there is a great deal of research suggesting doing so is actually quite harmful to us anyways.211

There are other inherent advantages to a whole foods plant–based diet on Mars. The lower Martian gravity means plants require less energy to transport water and other nutrients up their stems than they would on Earth. The planting of orchards are useful not only for providing fruit but in doubling in providing a colony with a source of wood for furniture or other uses.

7.10.4 Gasses Gas pressure and its constituents in greenhouses are critical for supporting the growth of plant life. Thankfully plants only require a minimum of 5.0 kPa to grow. This is below the Armstrong Limit of 6.8 kPa so direct human exposure would require a respirator. This has a number of advantages in the design of Martian buildings as discussed already in section 7.5.

Assuming the greenhouse is rated to only 6.8 kPa, which is both economical and very light, the partial pressures should include N2 at 3.0 kPa, O2 at 2.5 kPa, H2O vapour at 1.2 kPa, and CO2 at 0.1 kPa. The CO2 levels in the greenhouse limit plant life since it is their primary nutrient.

By adding water to Martian regolith it should react with the peroxide in it to evolve O2. This could be useful as one way of obtaining on initial supply of oxygen on the frontier.

7.10.5 Hydroponics Hydroponics are probably not a good idea at first because they require a lot of water. Getting water takes a lot of work in the beginning of a new settlement. After infrastructure is built up it would then be a better option.

7.10.6 Lighting Plants require light for photosynthesis to function. Indoor artificial lighting is too energy inefficient for crops. Greenhouse domes are a better option because they are open to natural sunlight. Although the Martian solar flux is only 40% of what is received on Earth, this is still sufficient for plants.

7.10.7 Mushrooms Mushroom ranches have a very practical application on Mars. As with any crop not all of it is actually consumed. There is always some waste. If the plant waste is fed to mushrooms they can turn up to 70% of it into a high quality source of protein. They do not require any sunlight, but only a dark warm room with a little bit of oxygen.

211 Campbell, T. Colin. The China Study: The Most Comprehensive Study of Nutrition Ever Conducted and the Startling Implications for Diet, Weight Loss and Long-term Health. Benbella Books. 2006.

~ 112 ~ 7.10.8 Regolith Martian regolith is actually more nutrient rich than Earth’s. The only nutrient it is lacking is potassium which can easily be acquired from any dry shore or former water body. The regolith otherwise is loosely packed, porous, and mechanically supportive of plants.

The pH is about 8.3 which is too alkaline for most plants that prefer a pH between 6 to 7.5. Smectite clays are found to be naturally occurring in the regolith and can be useful for buffering and stabilizing the pH into a slightly acidic range. They double in being able to store exchangeable nutrient ions within them as well.

Nitrates are needed as a fertilizer. Unfortunately they are not in all Martian regolith. Raw molecular nitrogen could be extracted from the atmosphere of 3% if need be. This can be done by combining it with hydrogen as N2 + 3H2 →→→→→ 2NH3. If that is not a viable option an alternative is to look for existing natural nitrate beds which can provide truck loads of fertilizer.

There is a concern, however, that the top layer of regolith is too saturated with antioxidants (oxygen ions) from the intense ultraviolet radiation it receives from the Sun. These atoms will destroy organic molecules in plants which are the building blocks of life. More thought is required on this to find a constructive solution for the settlers. 7.10.9 Merits of Kelp Fertilizer It is important that soils are not nutritionally deficient. Deficient soils make for deficient plants. Deficient plants have deficient self–defence against pests. This gives agribusiness an excuse to provide disgruntled farmers with toxic pesticides, herbicides, fungicides, and larvicides.

These deficient plants make for deficient foods. Deficient foods make for deficient human health. Advocates for the consumption of animal products must remember that even if one supplements their died with the consumption of animals or animal products, deficient plants fed to deficient animals still make for deficient people since animals can’t create minerals on their own.212

Despite what the agricultural industry would have many believe, plants actually require far more than simply nitrogen, phosphorus, and potassium (N, P, and K). They need around fifty–two different minerals, depending on how they are counted. Three is just the bare minimum necessary to make fake food that looks real enough to sell. We are in need of a viable solution for healthy soils in a Martian environment when that is desired.

Various forms of algae have been considered many times as a food in off–world use, such as in the design of the first American Lunar military base.213 But phytoplanktons like kelp are just as valuable as a food for people as they are for plants as excellent fertilizers.

Kelp fertilizer is a powerful natural technology that is rich in every trace element that plants may need only a little of. It also contains the usual full spectrum of soil nutrients at 0.3% nitrogen, 0.1% 212 Colquhoun, James and Bosch, Laurentine. Food Matters. Passion River Films. 2008. 213 Army Ballistic Missile Agency. Project Horizon Report: Volume II, Technical Considerations & Plans. United States Army. Jun. 1959b. p. 50.

~ 113 ~ phosphorus, and 1.0% potassium, along with a full range of trace elements and amino acids. Further, it provides all of these things in ideal ratios.

Besides its contents, kelp fertilizer has many other benefits. Unlike plant composts it does not introduce the foreign seeds of weeds. It breaks down quickly because it contains very little cellulose. It also contains hormones which improve cellular development of plant leaves, flowers, and fruit. It has a higher photosynthetic efficiency than terrestrial plants which means that it produces more of its own biomass from the same amount of light. Its jelly like alginate helps to bind together loose soil. Seed germination is improved and the resulting plants develop more extensive root systems. This means they will have healthier foliage, flowers, fruit, and therefore food. Lastly they will have a greater natural resistance to nematodes, disease, and other pests.

Delivery is simple. Once the kelp is ready it is not necessary to rinse it before use in either soil or directly on the plants. The latter foliar dispersal method works by spraying the liquid fertilizer directly on to the plant’s leaves. This is up to 20 times more effective in supplying nutrients when the soil is of a poor quality or if the roots are stressed from transplant shock, extreme heat, or drought conditions.

7.10.10 Photobioreactors To produce kelp on Mars a photobioreactor can be used. It consists of a tank made of either glass, polyethylene, or some other suitable material. Various equipment to support the growth of the phytoplankton inside the tank is needed.

A computer is necessary to regulate and provide the temperature, lighting, pH, sterilized water, air, CO2, and all other nutrients at the correct rates. The nutrients primarily include nitrogen, phosphorus, and potassium, as well as silica, iron, and many other trace minerals which are not difficult to find on Mars.

Photosynthesis provides the organism with the energy it requires to sustain itself. This reaction is described in reaction 7.4.

CO2 + H2O + photons →→→→→ C6H12O6 + O2 + H2O (7.4)

~ 114 ~ At the bottom of the tank a dead coral bed provides detritus for the kelp roots to take hold of. This could be dehydrated coral plankton. Only a small seed piece is actually necessary to get it started which could be imported. For deeper ponds the bottom of the tank will need to be agitated either with bubbles or with a paddle wheel.

Fluorescent lighting could be used but only with the right bulbs. Direct sunlight however is too strong for kelp and most other algae. This is because these species evolved in an underwater environment where they could only expect one–tenth of what a typical plant exposed to direct sunlight would receive Figure 7.3 A photobioreactor. Image courtesy of on land. This is a useful property to take Ralf Reski of the Universität Freiburg. advantage of because Mars receives only 40% of the solar flux Earth receives anyways.

The lighting system could be embedded directly into the tank by using glow plates. During periods of little or no solar energy the computer can activate the fluorescent lighting elements embedded in the glow plates. When there is sufficient solar energy it can save electrical energy by routing the sunlight to the glow plates through fibre optics. This would make for a beautiful lighting effect for the photobioreactor farm’s model during the solar day and night cycles.

7.11 Interplanetary Travel This section discusses interplanetary travel between Earth and Mars. This includes both from the former to the latter and vice versa.

A minimum–energy launch window is the time when the least amount of energy is required to send an object from one orbit in the solar system to another. It can involve taking advantage of the orbital positions of both the start and destination or useful gravitational fields en route. In the case of a trajectory from Earth to Mars this occurs at intervals of approximately 2.135 years or every 780 days. Depending on the constraints one is trying to optimize for, such as energy, time, safety, whether the cargo is piloted or unpiloted, different manoeuvres are available.

For piloted cargo there are at least three options to consider. The first is the Hohmann type–I orbital manoeuvre. It has a transit time of only 6 months but requires a lot of propellant.

The second method is the Hohmann type–II orbital manoeuvre. It is slow but efficient. It has a small propulsion requirement and is therefore considered a minimum energy trajectory. It requires high thrust engines firing in two impulses. The trip time is approximately 8.5 months one way.

~ 115 ~ A third method takes advantage of the Sun and is called a close–to–minimum energy trajectory. Assume one departs Earth with an escape speed of 3.34 km/s. Since Earth is travelling at about 30 km/s already, plus the spacecraft’s propulsion speed of 3.34 km/s, the latter would have a great deal of kinetic energy that it needs to dump upon arrival in order to safely enter Martian orbit. It can do this by transferring some of its kinetic energy into gravitational potential energy en route by decelerating or ‘climbing out’ of the Sun’s very large gravity well. Since Mars is travelling at roughly 24 km/s in the same direction as the spacecraft’s trajectory, the spacecraft would only need to reduce 9 km/s worth of kinetic energy (33푘푚/푠 − 24푘푚/푠) to meet a safe level for orbital capture.

With this excess kinetic energy transferred to the Sun, the spacecraft now safely captured in Martian orbit must perform a deceleration manoeuvre. This is made possibly with the planet’s substantial gravity well and by aerobraking through its atmosphere.

This method takes only 6 months one way. To come back to Earth it would take 550 days. If for whatever reason the crew decide to abort prior to their arrival after they have already departed Earth they can continue on a free return trajectory ride back home that swings by Mars without stopping. If that happened the total trip would take about 2 years before it returned to Earth.

Unpiloted cargo would be best to take this third method of the 3.34 km/s departure which provides the free–return trajectory option. It offers a good compromise between energy, time, and safety constraints.

For returning back to Earth, like the journey to Mars, the same minimum–energy launch window intervals of approximately every 2.135 years or every 780 days still apply. If the cargo is piloted a departure velocity of 4 km/s would be necessary.

7.12 Navigation As we saw in section 7.9.2 it is not difficult to get lost on Mars with so many ways to choose from. It is important to know on how to navigate. This section will be especially valuable for those designing a single player mode.

1 A nautical mile is defined as one minute of arc, or 60 of a degree. On Earth this is 1,852 m. A convenience a smaller Mars offers over Earth is distances expressed in Martian nautical miles are almost equivalent to a kilometre (983 m).

There are several methods of navigation that can be used to determine one’s location. The first is simple dead reckoning. Dead reckoning works by figuring out where you are based on your relation to prominent landmarks, such as a ravine, mountain, or what have you.

Consider an example. Imagine you could see , the highest volcanic mountain on Mars that towers at about 22 km. You manage to figure out your distance to it based on some simple trigonometry that takes into account the angle the horizon makes with respect to the mountain’s peak, assuming you already know its elevation.

~ 116 ~ Now assuming you know which way is north, your bearing and distance with respect to Olympus Mons determines your position with reasonable precision on a map with just a ruler and pencil. No sophisticated electronic equipment is necessary to do this. This process as described has not changed for centuries.

Of course, dead reckoning assumes that there is always a landmark to take a bearing off of. Arcadia Planitia is a flat windswept desert whose prominent landmarks that stick out of the horizon number in the few. But even if you had them, there is still the problem of determining the direction of north.

Mars most likely is still volcanically active and still has a molten core. It does not, however, appear to spin around its core which is why there are only small localized magnetic fields and not at a global level. We know this because of Mariner 4’s flyby. This is why a magnetic compass is useless on Mars. But if you had a clock you could find the direction of north based on the position of Phobos, the Sun, or Deimos as references. On Earth you have only the Sun as a reference whereas on Mars you have three.

That is fine for identifying north during the day but obviously useless during the pitch black night where the Sun is on the other side of the planet. In this situation celestial navigation is of great use. Take a look at figure 7.4.

Figure 7.4 Positions of α Cephei circled in red and Deneb in fixed rotation about the Martian northern celestial pole on the left. Seven hours later on the right. Images courtesy of Stellarium.

Study the images carefully. You will note that both α Cephei and Deneb are ‘fixed’ in the sky with respect to the celestial pole, the axis the planet rotates on. Both stars are on opposite sides of the celestial pole and about equidistant from it. This means that celestial north is always found in almost exactly the half way point between these two stars.

~ 117 ~ Now that you have a bearing on celestial north, you need to know your latitude and longitude. The latitude can be determined by using a sextant which is used to measure the distance between the celestial pole and the horizon. Sextants have been used for centuries by Terran sailors.

The next step is to determine your longitude by once again comparing a clock with Phobos, the Sun, or Deimos as references. Once you have done that, you have both your latitude and longitude.

But this is all as a last resort, as it can be rather crude in an electronic age. Most of the time one should have access to a Mars Positioning System (MPS) receiver whenever dismounted or in a vehicle.

Transponders would be of additional benefit too because the circuitry necessary to interrogate their signal is very simple and does not require the use of a satellite. They can be used to create unmarked roads and airways by installing or air dropping them on the ground at minimal expense. On–board vehicle artificial intelligence can then use them to self–navigate.

7.13 Power There are several different options for generating electrical energy on Mars. Some are ideal for vehicles while others are best suited for non–mobile applications. Some are more practical than others. We will explore these options in this section.

7.13.1 Methanol / Oxygen Fuel Cells

Methanol (CH3OH) / oxygen fuel cells are ideally suited for use in ground vehicles or even as the integrated power supply in an EVA suit. They have a long engine life due in part to their low temperature. Methanol is also safe to handle.

A bonus is that the reaction produces water as a byproduct. About 45% of what goes into the fuel cells comes out as water. That is, for every 2 kg of methanol reacted with 3 kg of oxygen, you will produce 2 kg of drinkable water which is enough for two days. In a survival situation you could add another three days on top of the initial two because it takes three more to die of dehydration.

7.13.2 Microwave Power Microwave power works by having a nuclear fission reactor on the ground somewhere generating electricity. This energy would be transmitted by microwave from the surface to a satellite in areostationary orbit at an altitude of 16,600 km. The satellite would then transmit this energy back to a receiving station on the surface for local redistribution.

It may sound appealing, but it has its issues. Every time the microwave energy is transmitted, it loses half of its total available energy. Since it goes up and then comes down before reaching its destination it is reduced twice. This means it has only 25% efficiency at best.

But even if it had 100% efficiency, if the satellite ever veered slightly out of alignment due to any orbital or attitude corrections that it makes, the resulting inaccuracy could be catastrophic because

~ 118 ~ microwave radiation can kill. Considering the distance is some 16,600 km away it would take only a very modest adjustment to veer as much as several kilometres off course.

7.13.3 Dynamic Isotope Power System A dynamic isotope power system (DIPS), sometimes called a radioisotope thermoelectric generator, works by converting the thermal radiation of a piece of nuclear material into electrical energy via a process known as the Seebeck effect. This process requires a temperature differential in order to work.

Many existing spacecrafts, such as the Viking landers and orbiters, carried these generators to supply themselves with modest amounts of long–term, reliable, electrical power. They require no moving parts, but their power output will degrade as a function of time.

This is a useful device, but it does not provide much energy. Sometimes an accompanying deep–cycle battery can be used to buffer more energy to handle peak loads like during a transmission. This was how the problem was managed with both Viking landers.

The choice of radioactive materials used have both longevity and economic considerations. Plutonium–238 (238Pu) has a half–life of 88 years, but is very expensive. Strontium–90 (90Sr) or caesium–135 (135Cs) are cheaper alternatives that have half–lives of 30 years. These latter two can be acquired from nuclear waste.

7.13.4 Hydrazine Emergency Power Hydrazine reserves can be used to supply a spacecraft, aircraft, or ground vehicle with emergency power for short periods of time. A spacecraft could have several of these hydrazine based auxiliary power units (APUs). See section 7.14.11 for more on this type of resource.

7.13.5 Hydroelectric Power Hydroelectric power is, for obvious reasons, not presently an option on Mars. With efforts at terraformation that could change. Mars once had a vast network of oceans and rivers. What happened to all of the water is still a mystery, but we do know that large quantities of it are still locked up underground and at the poles.

7.13.6 Nuclear Fission Nuclear fission reactors are common on Earth. They have unlimited mileage and are very efficient for large scale power use. They could be useful for the first settlers backed with substantial government funding. An initial 4,000 kg reactor might produce 100 kWe of electrical energy and 2 mW of thermal process heat. This thermal energy could be used to drive other endothermic reactions used to synthesize materials on Mars, heat buildings, or for other purposes.

The drawbacks are of course well known. They can be politically unpopular, are very expensive, and can be catastrophic in the event of a meltdown or other disaster.

~ 119 ~ 7.13.7 Geothermal Power Geothermal energy works by tapping into hot artesian aquifers and extracting heat from them or possibly even converting it into electricity by having it drive a turbine. Besides energy, geothermal wells could also supply a colony with liquid water. It would still need to undergo desalination.

We know that Mars is still volcanically active and therefore still has a molten core. We know that Mars contains enormous stores of water. We also know that some liquid saline actually makes it to the surface from time to time. The has even identified signs of flowing water that appear to be recent in the Cerberus region near the equator of Mars. Even if this happened 10 million years ago this is still considered “recent” in geological time. Hot thermal wells are almost guaranteed to exist on the planet. This makes geothermal energy an attractive possibility.

Consider that on Earth our cities were erected first. Knowledge of geothermal came after and sometimes even by thousands of years. On Mars we have the advantage and convenience of the inverse. We can build settlements where we already know there to be hot thermal wells.

There is a relation between well depth, power output, and consequently the cost of installation. Locations with viable aquifers will vary in cost depending on how far down the drilling rig needs to bore. Even then it is still easier to drill deep on Mars than on Earth because the lower gravity reduces the amount of energy required to lift regolith out of the ground, in addition to having compressed it less.

Geothermal typically has a very low cost per kW hour to operate. A comparison done in 1996 determined that the cost of geothermal electricity was between 3–10¢, fossil fuels at 4–6¢, hydroelectric at about 3¢, burning of biomass at about 5¢, nuclear fission at about 5¢, tidal at least 8¢, solar thermal at about 9¢, photovoltaic between 25–35¢, and wind between 6–15¢.214

For more on the relationship between well depth and temperature on Mars see Zubrin’s work.215 For more on the research that has gone into considering geothermal energy on Mars see Fogg’s work.216 See DiPippo’s for the underlying theory of how geothermal power generation works.217

7.13.8 Solar The process of converting solar energy into electricity through photovoltaic panels has an excellent reputation on Earth. Unfortunately these panels are not as useful on Mars. This is because Earth receives about two and a half times the solar flux Mars does.

But even if it received the same, dust storms reduce what reaches the surface of the panel to only a tenth of its total potential for weeks – or even months at a time. These dust storms usually occur around the time of the planet’s perihelion – when it would otherwise be getting the most sunlight. 214 J. Fogg, Martyn (1996). The Utility of Geothermal Energy on Mars. Journal of the British Interplanetary Society, 49, pp. 403–422. 215 Zubrin, Robert. The Case for Mars: The Plan to Settle the Red Planet and Why We Must. Free Press. 1997. p. 211. 216 Fogg, op cit., p. 404. 217 DiPippo, Ronald. Geothermal Power Plants: Principles, Applications, Case Studies and Environmental Impact. Butterworth-Heinemann. May. 2012.

~ 120 ~ This is the position in its orbit when it is closest to the Sun. The planet receives 45% more solar flux at its perihelion than when at its furthest, the aphelion.

Even if dust storms did not occur, regular Martian winds would reduce the panels’ effectiveness through the gradual deposition of very fine iron oxide dust. The panels would need to be brushed off regularly if they are to be of any use, even on a clear and bright afternoon.

At night time photovoltaic panels are useless for obvious reasons. A settlement would need another supply of power during the night.

The panels are expensive both to build as well as to replace. Even the best panels available on the market today still do not produce very much power. Nevertheless, they are useful for low power applications, mounted on vehicles, or in emergencies.

7.14 Resources There are many types of resources in Avaneya. As described in section 7.8.2, they should all be as data driven as possible by using the engine’s Lua interface. The data should include various parameters, artwork, and any scripted behaviour the resource may require. This section will describe a small subset of all the possibilities of the many types of resources. It exists to encourage more ideas.

Some of these resources can be used as fuels. Fuels are necessary for moving anything from rockets and rovers to motorbikes. Different types are available, but each one described below has some unique considerations. These include carbon monoxide, dimethyl ether, hydrazine, and methane / oxygen as some examples.

7.14.1 Aluminum

Aluminum is plentiful on Mars in the form of the tough oxide alumina (Al2O3). This makes up about 4% of the surface material. To extract just the aluminum from the alumina is energy intensive and requires about 20 kWh per kg (e.g. very endothermic). If a base had a 100 kW nuclear reactor it could only provide enough energy to produce about 123 kg of aluminum per day.

Aluminum is the second most important metal on Earth. It is useful for wiring and flight system components, being that it is a good electrical conductor. On the other hand steel could be used instead since it is easier to make on Mars and weighs about the same as aluminum would back on Earth.

7.14.2 Bricks Baked bricks are easy to make from fine dust or regolith. You start by wetting it, mould under mild compression, then bake the result at a minimum of 300∘C. The baking could be done very efficiently by using cheap solar reflectors. By adding shredded parachute fibre the brick’s strength can be increased.

~ 121 ~ Frozen bricks are also simple to make. The process is similar to baked bricks but we skip the baking and just freeze the wet regolith in a mould into hard permafrost blocks. The bricks can be sealed together using water as though it were a mortar or cement. This process works fine, but only if the building does not have to be heated – lest it turn to mud. This could be useful for storage sheds for instance.

A word of caution on bricks. They have minimal tension strength. You can only compress them safely. Buildings that are built out of them need to be reinforced on their outside with two and a half metres of regolith. Otherwise the building’s internal atmospheric pressure will blow itself apart.

7.14.3 Carbon Dioxide

Most of the Martian atmosphere is CO2 at 95%. It has plenty of uses. It can be used as a solvent to extract useful materials from rocks. These include magnesium, hydrogen rocket fuel, breathable oxygen, and water. It can also be used in a number of different chemical reactions for producing a variety of new resources.

7.14.4 Carbon Monoxide Fuel Carbon monoxide (CO) is a poor but usable fuel. It is poisonous but useful in emergencies.

7.14.5 Ceramics Clay minerals are all over the planet. When processed into ceramics they have many uses, such as in pottery. They are easy to make and do not require much work for the first settlers.

7.14.6 Copper Copper’s presence on Mars is about the same as on Earth at about 50 ppm in the regolith. It is more efficient if extracted from high grade ore concentrate. This takes the form of copper sulphide (Cu2S or CuS). You can find this ore at the base of any of the many lava flows found on Mars. The copper can then be extracted from the ore in the same way as on Earth through smelting or leaching.

7.14.7 Deuterium All chemical elements have one or more variants of themselves that occur less frequently in nature, even though only their most common form is denoted on the periodic table. When elements share the same atomic number but vary only in the number of neutrons they contain, they are called isotopes.

Hydrogen is denoted as H and is known to occur naturally as either of two isotopes. The more common form has one proton, one electron, and no neutrons. This form is called protium and is sometimes denoted 1H when distinguishing from another type of hydrogen isotope. Usually when someone is talking about hydrogen, they are talking about protium. The number one located in the notation means that it has an atomic mass of one. It is one because electrons have nearly zero mass and neutrons and protons a mass of one. This means that different isotopes of the same element will still vary in mass.

~ 122 ~ The only other known isotope of hydrogen is deuterium. It is denoted 2H. It has a single neutron that protium does not, hence the atomic mass of two in its notation. When two deuterium atoms are 2 combined with an oxygen atom, the resultant is deuterium oxide H2O, or simply heavy water. The name derives from it appearing exactly the same as normal water, only heavier.

On Earth deuterium is very rare and accounts for only 0.0156% of all the hydrogen that naturally occurs in our planet’s oceans. On Mars it is more plentiful by a factor of five. About 166 in every million hydrogen atoms are deuterium on Earth, but on Mars that number is about 833.

The reverse–water–gas–shift (RWGS) reactor described in section 4.16 is heavily relied upon by Arcadians. It produces water from the Martian atmosphere, but inadvertently produces deuterium as a byproduct. If the water emerging from the reactor is split through electrolysis, hydrogen fuel and oxygen will result. For every 6,000 kg of H2O the reactor produces, 1 kg of that will contain deuterium. Since heavy water takes slightly longer to split with electrolysis than regular water, if you keep cycling the water that has not yet been split back through electrolysis, eventually the concentration of heavy water increases until it is almost totally pure. This works because the normal water gasses off faster.

By the late 20th century deuterium was valued on Earth at about 70% that of gold per kilogram. It has wide ranging applications from nuclear fusion and fission reactors, nuclear weapons, medical, biochemical, environmental, and more. If contained as heavy water, it can be used in non–uranium enriched fission reactors that poor Terran countries could benefit from.

Since Mars is only a third the mass of Earth, only a fourth the energy is needed to exceed the escape velocity to get things off the planet. This makes deuterium railgun exports from Mars back to Earth feasible where it is a highly valued commodity. Since all water, oxygen, and many other Arcadian industrial processes relying on the RWGS reactor produce deuterium as a byproduct, the settlement theoretically would always have something valuable that is sought after in Terran markets as a staple export.

7.14.8 Dimethyl Ether Fuel

For higher peak energy uses like for bulldozers and drilling rigs, dimethyl ether (CH3)2O (DME) is a good fuel. It can be manufactured in situ. It is a clean burning fuel that burns in diesel engines, but actually performs better than diesel. It will not freeze at Martian temperatures. It is relatively non–toxic, but highly flammable.

7.14.9 Electricity See section 7.13 for more on the different ways electrical energy can be generated on Mars. Like other resources electricity too can have a commercial use.

7.14.10 Glass Glass is useful for many applications from tableware and windows to fibre glass. Silicon dioxide (SiO2), or silica, is the main ingredients. We know from the Spirit rover that large deposits of silica in the form of bright white soil are all over Mars and present at about 40% of the regolith.

~ 123 ~ The problem is that to make clear glass you need to be free of contaminants. Because iron oxide (Fe2O3) makes up about 17% of the regolith the glass would have a reddish tint. There are two options for dealing with this problem, assuming you want colourless glass. One approach is to use quartz which we do not at present know where to locate on Mars. Another approach is to rely on the hot carbon monoxide (CO) waste gas that the RWGS reactor produces. This waste gas when applied to tainted silica would produce iron, CO2 gas, and SiO2. The gas is not a problem. The iron can easily be pulled out with just a magnet and saved for other things like making steel.

Even then the tinted iron–red glass is not always a problem. One might want glass that colour for whatever reason, say, for decorative purposes in habitat zones or in civic buildings. Alternatively you could use it to produce fibre glass for some other purposes.

7.14.11 Hydrazine Fuel

Hydrazine (N2H4) is a popular monopropellant that sees use frequently in the small thrusters responsible for maintaining attitude control on spacecrafts. It is chemically attractive because it allows for long term storability and simplicity of use since all that it needs for combustion can be contained within a single storage vessel. That is, it does not require separate tanks for both a fuel and oxidizer. This is why it is called a monopropellant.

Hydrazine reserves can be used to supply a spacecraft, aircraft, or ground vehicle with emergency power for short periods of time.

Hydrazine can be dangerous if mishandled because its combustion is extremely exothermic, meaning it releases a very large amount of energy in a very short time.

More work needs to be done to determine how it could be synthesized in situ, but it should be possible.

7.14.12 Iron

If it was not for all of the iron oxide or hematite (Fe2O3) dust all over the planet, Mars would not have the reddish hue that it does. Because it is so common, so is commercial grade iron ore.

There are two methods for extracting the iron out of the hematite. You could remove the O3 by using the same method used in section 7.14.10 for glass by running hot CO gas through it to break it down into iron and CO2. Another approach is to react it with hydrogen gas to produce iron and water. By using a condenser to capture the waste water it can be electrolysed and cycled back into the reaction. Both methods are almost energy neutral, so you just need enough energy to get the reactions started and very little after that to keep them going.

7.14.13 Magnesium Magnesium has many uses and is an excellent lightweight alternative to aluminum for many applications on Earth. This includes at least in engine blocks, as an electrical conductor, a rocket fuel, in signal flares, as fire starter, a structural metal, and in aerospace construction. It can also be

~ 124 ~ used for many everyday household items, such as tables, sinks, cups, faucets, and more. A Martian society might call these commodities magware.

Magnesium is highly flammable when exposed to oxygen. This is why pure magnesium products are never used in Earth’s oxygenated atmosphere. On Mars it needs to be alloyed with another material to prevent autoignition if used indoors. Otherwise, as long as it remains outside, this would not happen because there is too little free molecular oxygen in the atmosphere.

Magnesium is likely found in the Martian regolith and could be extracted with a solvent like CO2.

7.14.14 Methane

Methane (CH4) has many uses on Mars from manufacturing to rocket fuel. It can be manufactured in situ by using the Sabatier reactor described in section 4.17.

7.14.15 Methane / Oxygen Fuel

Methane (CH4) as a fuel and oxygen as the oxidizer make excellent propellants for use in rockets, reconnaissance drones, and even in internal combustion engines. When used in internal combustion engines it needs to be diluted with atmospheric CO2 or it will burn too hot. The exhaust is just more CO2 with some water in it. The water could be captured with a condenser to recover up to 90% of it for other uses.

The saved water could be used to feed a Sabatier reactor like the one described in section 4.17, to produce additional methane fuel. The oxygen needed could be produced by using the RWGS reactor described in section 4.16. 7.14.16 Methanol

Methanol (CH3OH) is necessary for methanol / oxygen fuel cells found in ground vehicles and EVA suits to produce electrical energy. A chemical reaction describing one approach to its synthesis is described in reaction 7.5.

CO + 2H2 →→→→→ CH3OH (7.5)

If you fill a reactor with copper–on–zinc oxide pellets, heat it to 250∘C, and provide it with carbon monoxide and hydrogen gas at about 2,000 kPa, you will produce methanol. A full reaction does not happen in a single pass so you have to recycle the unreacted gas back into the reactor until it has all been consumed. 7.14.17 Oxygen Oxygen is both plentiful and not on Mars, depending on how you look at it. There is no breathable molecular oxygen (O2) in the atmosphere, but there is plenty in the form of carbon dioxide (CO2) at 95% of the atmosphere. This oxygen can be extracted from the atmosphere by using the RWGS reactor described in section 4.16. Another approach is to wet unprocessed regolith containing peroxide so that it evolves O2.

~ 125 ~ 7.14.18 Plastics Plastics have all the same uses on Mars as they do on Earth. These range from textiles, housewares, equipment, storage containers, and more.

To produce we react methanol with itself in a 400∘C reactor filled with cheap gamma–alumina pellets at 100 kPa. This will produce dimethyl ether or DME, (CH3)2O, which is a useful intermediate or precursor to other organic compounds. As described in section 7.14.8, DME is also useful as a fuel.

The DME is then fed into a second reactor which contains a common zeolites catalyst (ZSM–5) at a temperature of 400∘C–450∘C at a pressure between 100–200 kPa. The DME will turn into either ethylene (C2H4) at low pressure or propylene (C3H6) at higher pressure. This ethylene could be used as a welding fuel at this point. If one continues to heat either at a still higher pressure they will polymerize into polyethylene or polypropylene respectively.

For simpler uses we can use polyethylene plastic. For applications requiring a higher quality plastic we can expend more energy and use polypropylene.

7.14.19 Portland Cement

Gypsum (CaSO4·2H2O) is plentiful on Mars. It is the mineralogical variant of calcium sulphate. To create lime all you have to do is bake the gypsum. The lime can then be mixed with finely grounded regolith. You are left with a high quality Portland cement that can be used in building construction, roads, or what have you.

7.14.20 Precious Metals As mentioned in section 7.8, generally the only way of acquiring any kind of high quantity mineral is from high–grade ore. High–grade ore only exists wherever complex hydrological and volcanic processes have occurred. In our solar system this has taken place only on Mars and Earth. This is why the Moon is barren and the Earth is not. But unlike the Earth, Martian deposits of precious metal ore have never been exploited.

These deposits may be near the surface and exist in large quantities. These might include, but are not limited to, cerium (Ce), europium (Eu), gadolinium (Gd), gallium (Ga), germanium (Ge), gold (Au), hafnium (Hf), lanthanum (La), rhenium (Re), rubidium (Rb), samarium (Sm), silver (Ag), and the platinoids, such as palladium (Pd), iridium (Ir), platinum (Pt), and rhodium (Rh). Rhodium is used to back Arcadia’s indigenous currency as described in section 7.8.5.

7.14.21 Silane

Silane (SiH4) burns in CO2 so it makes for an excellent fuel for rocket propulsion or supersonic combustion ramjet engine on Mars as described in section 7.3. But more work needs to be done to determine how best to synthesize it in situ.

~ 126 ~ 7.14.22 Silicon Silicon is the third most important metal after steel. Aluminum being the second. It is needed in the manufacture of all electronics, photovoltaic panels for collecting solar energy, and many other uses. Fortunately silica (SiO2) is present at 40% of the regolith.

To extract just the silicon out of the silica, take the silica and mix with carbon. The carbon can be made just through the pyrolysis of a Sabatier reactor’s methane. Heat this mixture together in an electric furnace for a carbothermal reduction reaction. The resulting byproducts leave us with metallic silicon and carbon monoxide gas. This process is described in reaction 7.6.

SiO2 + 2C →→→→→ Si + 2CO (7.6)

This works well but it is a very energy intensive process (endothermic). Nevertheless it is still less than aluminum and, where you desire pure metallic silicon, you usually do not need very much of it anyways.

If the resulting silicon is to be used in microchips and solar panels this cannot be done without further refinement because it still contains hematite impurities. By bathing it in hot H2 gas it will turn into silane (SiH4). This is a gas at room temperature. You start by piping the silane through a reactor to decompose it under high temperature so as to reduce it to pure Si and H2 gas.

The resulting silicon can be doped with phosphorus or some other impurity. Doping is done to change an extremely pure semiconductor’s electrical properties into whatever kind of semiconductor needed. Alternatively one could have liquefied the silane and stored it for use as either a rocket or ramjet combustion engine fuel if preferred.

7.14.23 Steel Steel is the most important metal on Earth. It is the main material we can use for high strength structures on Mars.

As you saw in section 7.14.12, iron is the most accessible industrial metal present on the planet. When it is alloyed with some other element, usually carbon, you have steel. The type of material the iron is alloyed with and the ratios used determine the type of steel. The four most common types of materials to alloy with are all common on Mars. These are carbon, manganese, phosphorus, and silicon.

7.14.24 Water Without water there would be no human life. Water is a vital resource but it will take more work to get than on Earth. The best source is found in underground artesian wells. The next best is water ice which is almost pure. The next best source is in the underground permafrost. For extraction by means of artesian aquifer, see section 7.13.7.

~ 127 ~ Extraction from the permafrost is not very difficult. You could use a transparent, lightweight, tensile fabric structure. This greenhouse–tent will warm the first few centimetres of regolith above zero which is all that is needed to make the water degas. This could be very useful in survival situations.

Another approach to the permafrost is to use a photovoltaic oven if available. This requires a lot of energy. The water that melts out of it still needs to undergo distillation because of its salinity.

7.14.25 Wood It may come as a surprise to many, but wood is still very useful on another planet like Mars. Bamboo for instance could be grown in a greenhouse. It can be cut into sheets and planks, used in laminating floors, paper, landscaping, and many other uses. It can grow up to 100 cm or more per day. Orchards from a colony’s greenhouse could provide wood for furniture in addition to producing fruit.

The cellulose waste has other uses too. This material could be used in the production of ethylene plastics. This greatly increases the number of different types of plastics that can be produced.

7.15 Time Time keeping in the game is different from what you are used to on Earth. This is useful to understand at least the story’s chronology and the user interface. Although fictional Terrans encountered in the game would likely use their native system, for the sake of consistency and to minimize confusion to the user all fictional future dates are represented in the Arcadian format described below.

7.15.1 Prime Meridians & Timezones A prime meridian is an imaginary longitudinal line of reference on a planet that is used as the basis for offsetting its timezones. On Earth this is the Coordinated Universal Time (UTC) overlying Greenwich, London. On Mars the crater –0 has been used as its prime meridian since 1969 A.D.. This latter convention was established based on early photographs from the Mariner 6 and 7 missions.

After asserting their independence, Arcadians moved the prime meridian they were using of Airy–0 to their native city of Arcadia. This meant a shift from an uninhabited landmark roughly on the other side of the planet to one of greater cultural significance. Even with the change there still remained 24 timezones as before. The difference was that the zones would now have to be offset relative to Arcadia. Arcadian clocks are therefore set to Coordinated Mars Time (MTC) since Arcadian independence.

7.15.2 Seconds, Minutes, Hours, Days, and Years A Martian second, minute, and hour are still the same as their Terran counterparts. That is, a Martian hour is still the same as 3600 Terran seconds.

A sol is a solar day. This is the Martian analogue to a Terran day, but slightly longer by 2.7%. This conversion means that there are 1.027491 Terran days for every Martial sol. Arcadian clocks ‘time

~ 128 ~ slip’ at midnight for 39 minutes, 40 seconds to makeup for the difference. This allows its residents to use the 24–hour clock they were accustomed to for centuries prior on Earth.

A Martian year abbreviated MYr and pronounced ‘m–year’ contains 668.6 sols, or 689 days by a terrestrial metric. That means there are 88,775.245 seconds in a Martian year with 1.8876712 Martian years for every Terran year (1 year, 320 days, and 18.2 hours). These years are enumerated relative to the temporal datum of their choice. Naturally, Arcadia’s declaration of independence (chapter 6).

7.15.3 Solstice and Equinox A solstice happens twice a year when the Sun’s apparent position in the sky over Mars, like Earth, reaches its northernmost or southernmost extremes. The equinox also happens twice a year when the tilt of its axis is inclined neither away from nor towards the Sun, but laying directly within the plane of the planet’s equator.

7.15.4 Calendar The colonists use a different calendar than on Earth for both cultural and practical reasons. The cultural reasons are two fold. The original Arcadians were predominantly secular and the Gregorian calendar’s year zero has a theological significance to many. The other reason being that they desired a calendar which was meaningful in the context of their own history.

The practical reason is simple. The Gregorian calendar is useless in a world where the orbital period, seasons, and length of a solar day are different than those of Earth. The calendar’s months are not meaningful in the absence of the natural cycles of the Earth’s Moon. They needed a calendar that was meaningful to the physical idiosyncrasies of their own world.

Had an attempt to use the equipartitioned Terranmonths been made on Mars, one would realize they do not work because the Martian orbit has a high degree of orbital eccentricity. In orbital mechanics this is the amount an orbital path deviates from a perfect circle to form an ellipse. ’s second law states that the line adjoining a planet with the Sun will sweep through equal areas in equal time. This means its seasons cannot be of equal length because the planet speeds up as it gets closer to the Sun and then slows down again as it becomes distant.

The Arcadian solution to the problem of the Martian calendar was inspired by 20th century aerospace engineer, Dr. Robert Zubrin.218 He noted that since the Martian seasons, and therefore months, are not of equal length, to be useful the calendar must be divided into equal segments that correspond to equal angles about the Sun. This enables Arcadians to not only predict the seasons but to also keep the familiar concept of twelve months. Each one still remains as a 30∘ arc (360∘/12 = 30∘).

Where they departed from their Terran counterparts was in the frame of reference used. In ancient times Terrans of a geocentric world–view named the months after whatever zodiac constellation the Sun, as seen from Earth, appeared to be in. The Arcadians now having to reconcile the fact that 218 See section 4.13 for more on Zubrin’s research.

~ 129 ~ Earth was no longer the only place in the solar system that supports human activity instead relied upon a more universal heliocentric perspective. They used the location of Mars in the zodiac as seen from the Sun, as opposed to the Sun as seen from the Earth. This is reasonable because the zodiac is physically meaningful to any planet within our solar system since all of the planets it contains lie in the same orbital plane.

The traditional geocentric zodiac could still provide the Arcadian calendar with the names of its months. The results of these calculations are contained in table 7.2. Note that Ls denotes the angle Mars sweeps through with respect to the Sun as seen from the latter.

Month Ls First Total Characterists Sol Sols

Gemini [0∘, 30∘) 1 61 Beginning of the year begins with the equinox on Gemini 1, the beginning of Spring.

Cancer [30∘, 60∘) 62 65

Leo [60∘, 90∘) 127 66 Aphelion on Leo 24 or when Mars is farthest from the Sun.

Virgo [90∘, 120∘) 193 65 Northern hemisphere’s summer solstice on Virgo 1. Sun is at its northernmost.

Libra [120∘, 150∘) 258 60

Scorpius [150∘, 180∘) 318 54

Sagittarius [180∘, 210∘) 372 50 Autumnal equinox on Sagittarius 1. Sun is over the equator.

Capricorn [210∘, 240∘) 422 47 Dust storm season starts.

Aquarius [240∘, 270∘) 469 46 Perihelion on Aquarius 16. Mars is nearest to the Sun.

Pisces [270∘, 300∘) 515 48 Northern hemisphere’s winter solstice on Pisces 1. Sun is at its southernmost.

Aries [300∘, 330∘) 563 51 Dust storm season ends.

Taurus [330∘, 360∘) 614 56 End of year on Taurus 56.

Table 7.2 The Martian calendar of twelve months.

~ 130 ~ As an example a date expressed by an Arcadian might be 7 Virgo, 32 A.R.. This is the seventh day of the fourth month in the Arcadian calendar in the thirty–second year following Arcadia’s declaration of independence. The A.R. suffix following the year stands for after the republic (chapter 6).

7.15.5 Conversion Between Martian & Terran Years Whenever we make note of a length of time in years we must be careful whenever it is not clear from the context the type of year that we are using. This is important since the length of a year is the time taken by a given planet to complete an orbit around our Sun.

To convert Martian years (MYrs) to Terran years use the simple equation in formula 7.7.

푌푡 = 푌푚 × 1.8876712 (7.7)

푌푡 = Terran years 푌푚 = Martian years

To go the other way around and express Terran years in Martian years (MYrs) use formula 7.8.

푌 푌 = 푡 (7.8) 푚 1.8876712

7.16 Weapons & Related As you probably already noticed a variety of weaponry surfaced at a number of times during the fictional timeline. It is neither our desire to romanticize the prospects for a militarized Red Planet, nor to have it occupy the game play as a dominant theme. Nevertheless Avaneya does not depict an ideal world. Had we done that it might have made for a less entertaining game.

This section will discuss some of the considerations to take into account in the general design of weapon systems and similar equipment suited for use on Mars.

7.16.1 Explosives & Pyrotechnics Explosives and pyrotechnics have many uses on Mars. Excavation during construction, excavation of ice deposits, communications, mining, and military applications name a few.

Explosives are not difficult to manufacture on Mars since we already know how to produce in situ both fuels, or what actually burns, and oxidizers, or what supplies the exothermic reaction with electrons. As an example, nano–thermite has already seen creative military applications on Earth219 and requires a material which is already plentiful on the Red Planet, haematite. 219 H. Harrit, Niels, Farrer, Jeffrey, E. Jones, Steven, R. Ryan, Kevin and M. Legge, Frank et al. (2009). Active Thermitic Material Discovered in Dust from the 9/11 World Trade Center Catastrophe. The Open Chemical Physics Journal, pp. 7–31.

~ 131 ~ We should consider the properties of explosives on Mars and how they are different from those on Earth. We would expect them to be much more dangerous on the former body because fragmentation and shrapnel will be airborne for a longer period due to the weaker gravitational field acting on them. This means their effective range would be about 2.66 times greater than on Earth. That means you would require fewer explosives on Mars than on Earth to accomplish the same task.

This also has implications for many different types of weapons, including portable infantry anti–armour weapons that fire explosive . This class of weapon generally requires direct line of site to be established with a target, but is frequently limited by its maximum effective range.

Whereas projectiles on Earth would need a propellant to reach a target past certain distances, this would be non–essential on Mars where targets are within a much greater range. As an example, the Projector, Infantry, Anti Tank (PIAT) weapon successfully used by Allied forces in occupied Italy during the Second World War against German armour220 was spring loaded with a maximum range of 320 metres. Under Martian gravity its range would be extended to 850 metres. This is nearly a kilometre using only a rudimentary compressed spring’s potential energy and still operating under the assumption of Earth’s more energy dampening atmosphere that is one–hundred times as dense as Mars’.

But things are even more impressive when we consider the advantage of the thin Martian

atmosphere. Penetration capability is related to the amount of kinetic energy (퐸푘) the has as it moves through space. This is expressed in the simple formula 7.9. The greater the kinetic energy, the greater its penetrating power.

1 퐸 = 푚|푉|⃗⃗⃗⃗⃗⃗ 2 (7.9) 푘 2

퐸푘 = kinetic energy 푗 푚 = mass 푘푔 |푉|⃗⃗⃗⃗⃗⃗ = speed 푚/푠

You will have observed that kinetic energy varies with the square of the magnitude of the velocity. This means that the speed an object travels is a much greater contributor to its kinetic energy than its mass. Since there is less atmospheric attenuation than on Earth, there being only a one–hundredth the atmospheric density, a fragment would maintain its speed and therefore kinetic energy for longer.221

In terms of the actual method of delivery there are many possibilities but we will discuss the more likely ones. On Mars methane (CH4) is easily manufactured with the aid of the Sabatier reactor described in section 4.17. Methane is also useful in explosives. It can be combined with molecular oxygen (O2) when both are in either gaseous or liquid states. When both reactants are combined 220 H. Roy, R.. The Seaforth Highlanders of Canada. 1919–1965. Evergreen Press, Vancouver. Jun. 1969. p. 351. 221 Army Ballistic Missile Agency. Project Horizon Report: Volume II, Technical Considerations & Plans. United States Army. Jun. 1959b. Vid. p. 18 to see how this was considered in a Lunar environment.

~ 132 ~ in gaseous states a powerful explosive is created just out of a simple pressurized container with a detonator. A 35,000 kPa bottle could pack 23,000 kPa of O2 and 12,000 kPa of CH4 as an example.

When the reactants are combined in their liquid states, CH4 / LOx, even greater quantities can be packed into the same volume by a factor of three. This is possible because fluid densities are much greater than gasses. This gives an explosive yield roughly twice that of TNT, C6H2(NO2)3CH3. One drawback is that liquid states require the reactants to be stored at cryogenic temperatures to reduce boil–off.

One application of the liquid form is in explosive devices for anti–personnel (soft) or anti–vehicle (hard) targets where operational conditions require that munitions be small. The Arcadian RGA1 anti–personnel cryonade launcher described in section 6.5 is one such for at least soft targets. Other uses are in claymores and mines for either type of target. When used against soft targets they need not be directly fatal but only have sufficient capability to puncture a pressurized suit at short range for the atmospheric conditions to finish the task.

Whether one uses liquid or gaseous forms it is important that the reactants be stored in distinct chambers until they are allowed to mix when the device is armed. Both the liquid and gaseous combination methods just described are highly volatile. This approach provides an additional degree of safety for the operator. Arming a cryonade in this manner would be akin to pulling the pin on a traditional fragmentation grenade but could be done in the breach of the weapon system or during flight.

For pyrotechnic applications magnesium is plentiful on Mars and can be used for signal and illumination flares. Since there is virtually no free molecular oxygen in the atmosphere for it to react with it is much safer to handle outdoors on Mars than on Earth. 7.16.2 Firearms We consulted with the professional weapons designers of Fabrique Nationale d’Herstal who were generous with both their time as well as in their enthusiasm for Avaneya. They provided us with a great deal of advice in the design of the Arcadian R1A1 service rifle first mentioned in section 6.5. It is a fictional adaptation of the FN FAL. They were also kind enough to provide us with a set of useful general considerations to take into account in the design of any firearm suited for use in Martian theatre.

A weapon’s design and the application of good metallurgical science will ensure that it is able to withstand the harsh Martian operating temperatures. This means a temperature range of a minimal −90∘C to a maximum of 35∘C, averaging only −63∘C. Even the worst high altitude and arctic conditions Earth has to offer generally do not come anywhere near this lower figure.

Frosting would be a recurring problem on Mars for the reason just described. Special chemical lubricants would have to be engineered. These are necessary not only for keeping all load bearing and moving surfaces well lubricated, but also for reducing frosting. Again, good metallurgical science will aid in reducing the likelihood of frost induced misfires and fouling. If possible battery powered

~ 133 ~ heating elements could be integrated into the weapon’s receiver so that it could maintain a minimal operating temperature in the field.

Since gravity is only 38% on Mars what it is on Earth, heavier materials are more acceptable. It should be noted however that while the Martian gravitational field is weaker, mass is still mass and a weapon that is massive still requires a greater expenditure of human energy to accelerate than a weapon less massive. An example would be repeatedly adopting and recovering from a prone firing position.

A weapon’s action must be tolerant of fine iron oxide dust if it is to have any chance of being reliable. This dust is only 1.5 m on average. One approach is to consider strategies for preventing dust from entering the action before it might cause a problem inside. This could be done with the aid of ejection port covers.

Since visibility at night is very difficult on Mars (section 7.9.2), night vision or thermal imaging optics are useful. When using only iron sights the reliable glow of tritium engraved front and rear posts would be helpful in low light conditions similar to those found on certain real service rifles.

In terms of ballistics, projectiles would accelerate much faster on Mars than on Earth because they have only a one–hundredth the atmospheric resistance attenuating their kinetic energy from the moment they start moving down the barrel. This means that point blank ranges would be greatly increased. Bullets would also exhibit much flatter trajectories. Further, the near vacuum atmospheric conditions should not affect the weapon in any other way. On the down side, dust storms would severely degrade a weapon’s accuracy.

7.16.3 Orbital Kinetic Bombardment As related in section 6.6, UNSA has a manned facility on the Martian moon Phobos. Thor Battery contains a garrison of a single platoon of thirty soldiers. The installation is powered by three nuclear reactors and is embedded within the moon’s porous rock.

Thor Battery is an orbital weapon’s delivery platform. That is it drops tungsten shells from Phobos on targets on the surface of Mars. Although its shells do not contain an explosive payload, and they are not particularly massive, they reach speeds of at least 9 km/s before hitting their terminal velocity. As already illustrated in formula 7.9, they are capable of delivering enough kinetic energy to a target on the surface in the order of a small tactical or even strategic nuclear warhead.

The battery is clearly a formidable weapon and does not provide its opponents on the surface with much redress. Launches are difficult to detect because its shells have very small radar cross signatures. With the right equipment, however, an infra–red launch signature could be detected. Unfortunately it is still difficult to localize. This means a defender might know only that the battery has fired but not the actual intended target until the strike.

One other tactic a defender on the surface could employ is to take advantage of the fact that the plasma sheath surrounding a shell during its atmospheric entry will render its guidance sensors blind.

~ 134 ~ Any attitude correction the shell attempts to apply if tracking a mobile target would be impossible for most of its downward journey of several minutes.

Lastly, the battery’s launch window is limited to line of sight with the target. Since the battery is located on a moon that is not always visible to all points on the surface of Mars, this means a Martian defender will always know when it is vulnerable as a potential target of opportunity based on the time of day.

~ 135 ~ 8 Game Mechanics

Having familiarized yourself with the game world, leading characters, and the fictional timeline, reader may still be wondering how the player fits into all of this. This chapter will attempt to provide as complete a picture as possible of the interactive aspects of the game. Bear in mind that this is highly susceptible to change, given that we will surely come up with new ideas and revise old ones as we progress through the game’s implementation.

8.1 Sectors Depending on whether the user is playing single player or multiplayer, the game can take place in any one of a number of different sectors. Sectors are physical geographical subdivisions of Mars that constrain most of the player’s activities. Grouping the planet this way is useful for a number of different practical reasons.

For one, it allows us to highlight through isolation the different physical characteristics of the planet. Contrast a sector within Valles Marineris with one set in Arcadia Planitia. We would expect them to have very different appearances, geography, climate, lighting, and maybe even some resources not found in the other. This allows experts to apply their knowledge of specific regions of familiarity in their design.

A more practical reason is in the server architecture. Sectors allow a logical grouping of machine resources based on a virtual region on Mars. A server cluster could manage a single sector while a cluster of clusters the entire Red Planet with minimal disruption to the entire system if any one node goes down.

Server administrators would also have a useful virtual metric for scaling costly resources that make a large online multiplayer experience possible. When a sector within Arcadia Planitia approaches the maximum user activity it can host in the virtual space it encompasses or with the physical computing resources available it is time to add additional resources to keep the service running. This incremental approach allows us to gently scale the backend to meet user demand as necessary with more CPU cores, disk, RAM and cryptographic hardware accelerators.

~ 136 ~ 8.2 Single Player We can start with an overview of the different modalities of play. These can be either single or multiplayer. Single player, as the name suggest, the player plays alone. Well actually with the computer and the challenges it presents. This includes tutorial, campaign, and custom modes. The player can also restore from a saved game in all three modes if they wish.

8.2.1 Tutorial In tutorial mode the player is guided through interaction with the elements of the game and the user interface by Khalid Zafar, one of the leading characters described in chapter 5. The aim is to train the player to the point where they are comfortable in taking on the campaign or multiplayer modes.

A tutorial which covers all of the game’s aspects would be quite time consuming for the player. A balance needs to be sought between showing the player all the elements of the game and only what they need to begin having fun without continually hitting walls and becoming discouraged.

Taking into account that the tutorial is separate from the campaign, it does not need to contain very much of the storyline elements. More advanced skills can be taught through the campaign mode. Note that tutorial elements in the campaign need to be minimal since there is nothing worse than wanting to start a new game and going through all of the learning elements all over again.

Each tutorial can cover specific types of information. One tutorial could cover elements of zoning and the infrastructure that develops on it.

8.2.2 Campaign In campaign mode the player assumes the role of Arda Baştürk or any of the other leading characters as they journey through the campaign. We could either have the campaign begin from Manu’s first landing on Mars or later during the Arcadian Diaspora described in section 6.7.

The advantage of starting from Manu’s first landing is it allows the player to interact as though they were a part of the fictional timeline they may already be familiar with. The disadvantage is that this timeline is already fairly deterministic by comparison with a post–diaspora Mars.

8.2.3 Custom The custom mode allows players to select specific scenarios they would like to play without thought of commitment to a full campaign. This is useful for those who would like to explore nonlinear gameplay to focus on specific issues, such as reducing crime or optimizing public transportation. We will discuss scenarios further in section 8.4.

~ 137 ~ 8.3 Multiplayer The multiplayer mode is provided by Solnet. Solnet is the online service that allows players to collaborate potentially in the thousands. It is Avaneya’s feature attraction. Players having purchased a reasonable monthly subscription gain access to the official Solnet service.

You can see section 9.9 if you are curious about the technology that makes multiplayer possible. Now we will turn our discussion to what it is that players actually do, either by themselves or with others.

~ 138 ~ 8.4 Scenarios Scenarios are at the heart of Avaneya. The player can select specific ones through the single player’s custom mode or incorporated in creative ways in the single player’s campaign mode – which is itself just a series of well scripted scenarios.

These scenarios seek not only to entertain but also to inform by drawing upon issues in the environmental, social, political, economic, agricultural, and other realms.

The user may not be the only source of influence over what happens, despite being a mayor. There are many other influences that will attempt to reshape the world. These might be transplanetary corporations or even the citizens themselves.

Scenarios can incorporate any number of goals from zero to multiple. These goals play a role in conditionally determining whether the player has successfully completed a scenario or not. In the case of the single player’s campaign mode a scenario must be completed before the player can advance to the next.

Let’s look at some of the general types of scenarios. This is only a subset of all the possibilities since new ones can and will be written. You will note that the Genuine Progress Indicator (GPI) described section 7.8.1 is a recurring theme in several of them.

8.4.1 No Goal A scenario may be goalless. This was the most popular mode in a classic city builder simulation of the 1990s. In this scenario the player erected their city and was responsible for its management without thought of any end state. As with any other scenarios the player can still focus on whatever they like, such as maximizing their GPI, reducing crime, or responding to natural disasters.

8.4.2 Achieve Minimal GPI The player must achieve a minimal GPI. This may or may not involve time or other constraints. Although the GPI is a recurring theme in Avaneya, scenarios that require this goal focus on it more than others.

8.4.3 Combat Globalization In previous empires, whether they were Persian, Greek, Roman, or Macedonian, it was always clear to all that regardless of the rationale given for their projection, they knew they were doing it. There was no existential question of whether an empire was being created. Anyone could physically point to the Roman legion garrisoned in Germania or on some distant frontier of Britannia.

There is a process that is not particularly complex, seldom known to the general public, and yet incredibly effective in the creation of modern empires. This is done through clandestine means of manipulating the nations subject to its control. It is at least as effective as the cavalry and bayonet approach exercised in previous centuries. It works through a series of escalating measures that

~ 139 ~ involve combinations of usury, bribery, political manipulation, assassination, and as a last resort, not always predictable military force.

This process is sometimes referred to euphemistically as globalization. Through globalization it is not always necessary that this creation and expansion of empire be conspicuous. Nor is it even necessary that its benefactors, such as the people of the world’s most influential nations, are even made aware that their way of life is sustained through the fruits of an empire socializing the true costs of what it reaps in the form of slavery and exploitation abroad. 8.4.3.1 Step One: The Economic Hit Men There are three steps at work in the formula. First economic hit men start by identifying a nation with the desired resources. They attempt to corrupt the nation’s government officials into accepting very large loans by any means necessary. If successful, arrangements are made for the transfer by working through large international financial organizations such as the World Bank or International Monetary Fund.

The money is not actually intended for public infrastructure but is instead destined for large private corporations with close relations to the economic hit men. It is true that the loans are sometimes used for useful things such as power plants, water treatment, and industrial facilities. But in such a way so as to be principally beneficial to the corporations. Secondarily to a handful of people within the target nation. The public is then left with the responsibility of debt repayment. Unfortunately the debt is so large that it can never be repaid. This was by design.

Eventually the economic hit men are sent in again to remind the government of its debt obligations. Since the debt is so large now that it cannot be repaid, the debt is used as leverage to control them since they are now beholden to the money lenders. Under the guise of quid pro quo,222 various remedial measures are recommended to address the debt. These measures go by any number of euphemisms, such as ‘conditionalities’, ‘structural adjustments’, or ‘good governance policies’. Large public assets may have to be sold off. These may include water, utility companies, oil, education, penal and insurance systems, social services, or what have you. It may involve new policies, such as supporting a specific UN resolution, permitting the presence of foreign military bases, or possibly even deploying their own forces abroad in support of the lender’s. 8.4.3.2 Step Two: Jackals If the government is still non–compliant the next step is to send in the jackals. The jackals are tasked with either assassinating or overthrowing a (usually) democratically elected head of state through whatever means necessary. This may involve staging populist uprisings, giving them the appearance of grass–roots activism. This can draw on the exploitation of well meaning individuals with the best of intentions by misleading them. The staging of popular uprisings was well illustrated in the ‘Green Revolution’ during the 2009 Iranian presidential election.223, 224

222 From the Latin, a favour for a favour. 223 M. Hersh, Seymour. Preparing the Battlefield. The New Yorker. 7 Jul. 2008. 224 , Brian and Esposito, Richard. Bush Authorizes New Covert Action Against Iran. ABC News. 24 May. 2007.

~ 140 ~ 8.4.3.3 Step Three: Foreign Military Intervention In some cases both measures fail. When this happens the third and last resort is in the use of military force. This was the case in Iraq in 1991 when Saddam refused to accept large loans and all attempts at assassination repeatedly failed. This was probably due at least in part to the proficiency he gained in conducting similar affairs while having previously worked for the CIA to assassinate the Iraqi president who preceded him.

This formula has been well documented by those directly involved in its use.225 It was used successfully in Guatemala (1954), Ecuador (1981), Panama (1981), Venezuala (1981), Iraq (2002), and elsewhere.226 8.4.3.4 Rationale For Private Consultants Private consultants are usually used as the economic hit men instead of directly employing intelligence agency personnel. This was realized as the future model in Washington after the successful overthrow in 1953 of Iran’s democratically elected Prime Minister Mohammad Mossadegh by British and American intelligence. Mossadegh had attempted to remove the British monopoly of the nation’s oil assets. Instrumental in the affair was a personal relative of Teddy Roosevelt who was also a CIA field agent. Had he been exposed while he was in Iran it would have been disastrous. Had a private consultant been exposed it would have been easier to contain the political fallout. 8.4.3.5 Game Adaptations One such game scenario could involve Arcadian water. Water is even more precious on Mars than on Earth since a greater expenditure of resources is necessary to acquire potable water. A corporation such as Bechtel–Biwater could attempt to privatize the artesian aquifers or water ice sites your city depends on. Without water one cannot survive. If one can control what everyone needs to survive they can influence the destiny of all those dependent on it. The opportunity for abuse is actually much greater on Mars than on Earth.

The player will have to use their head and be creative as they exercise their attempts at water reclamation. Some options might involve reliance on a judicial system or possibly even the use of force if the former proves corrupt.

Although readers may balk at the prospects for such a scenario, this actually played out in Bolivia in 1999. Economic hit men were so successful in corrupting the government, they actually made it illegal for citizens to collect rain water for drinking as they had for centuries. This led to a successful popular uprising, expulsion of the economic hit men, and ultimately the reclamation of their water.227

8.4.4 Improve Energy Supply Your city needs energy and it may not have enough. The player must adjust factors in their city that will improve the supply to the grid. This may mean building a nuclear plant, digging a geothermal 225 Perkins, John. Confessions of an Economic Hit Man. Plume. Dec. 2005. 226 Joseph, Peter. Zeitgeist: Addendum. GMP LLC. 2008. 227 Achbar, Mark and Abbott, Jennifer. The Corporation. Zeitgeist Films. 2004.

~ 141 ~ well, or erecting more photovoltaic panels. Alternatively the player may look for ways to increase efficiency of existing infrastructure. This might mean examining how much energy is required to produce the different types of things that people eat and exploring alternatives.

8.4.5 Improve Public Health Many factors effect public health, among the most important are what the public consumes. But other factors contribute as well. Education, annual take home income, available free time, and many others are factors. Scenarios that depend on this goal require the player to improve the public’s health. A scenario incorporating this goal may begin with the player’s city with an over extended presence of the Clown Food franchise.

8.4.6 Improve Transportation Network As a city grows efficiency of movement becomes a problem. This goal requires the player to increase in efficiency their city’s transportation network.

8.4.7 Natural Disasters The player must rebuild their city in response to damage sustained from solar flares, micro meteorite strikes, land slides, , or other natural disasters. Yes, Mars experiences all of these. But some ‘natural’ disasters can be caused through human interaction with its surrounding natural environment. If an entire city block is swallowed whole into the ground, chances are the aquifer it was sitting on was depleted. As in reality, we are given a chance to avert a disaster entirely when we pay attention.

8.4.8 Prevent Staged Terror Staged terrorism is as common on Mars as it is on Earth. Foreign intelligence agencies will work tirelessly to stage acts of terrorism to advance whatever the agenda of the day may happen to be. They may blame their actions on arbitrary groups, including on fronts of their own creation. The player will use whatever means necessary to prevent acts of staged terrorism. If they fail to do this the NAU could claim sabotage of a mineral extraction site leased from your city as justification for military intervention to install a despot.

8.4.9 Protect Another City The player must come to the assistance of another Arcadian city in distress. This could happen when a neighbouring city comes under siege at the hands of an armed foreign aggressor, such as North American Union troops, United Nations peacekeepers, foreign intelligence backed contras, or private security contractors. Constraints may vary. Preventing the city from exceeding a certain threshold of material loss or the protection of its inhabitants are examples.

8.4.10 Protect From Junk Science & Media Democracies are only so useful as the people are informed. An uninformed people will be less capable of self determination than an informed one. We make decisions that are influenced by what we

~ 142 ~ know and other environmental influences. If our information sources have conflicts of interest we can become encumbered.

The player may need to reduce the influence corporations, nefarious foreign states, and special interest groups wield in socially engineering public opinion. Their influence may be overt, such as through advertising. Alternatively it may be more subvert, such as through funding junk science, corrupting universities, or otherwise reputable scientific bodies.228, 229, 230

8.4.11 Protect Human Rights Articles XI — XXVI of the Rubicon Act, as described in section 6.4, enumerate the fundamental freedoms and human rights Arcadians enjoy with respect to their new republic. The player is responsible for ensuring that these are upheld.

8.4.12 Recover From GMO Terminator Gene People that have nothing to eat will eventually die. If the city’s greenhouses produce nothing after having adopted new genetically modified seed stock, chances are the greenhouse did what farmers had been doing for centuries. They stored seed and planted it, only to find they had been genetically programmed by the manufacturer to become sterile. This way the player’s city’s food supply is held hostage since it will have to buy new seeds annually, even though there are still plenty held in stock. Buying new stock may be a condition of having existing public debt rolled out.

Scenarios that depend on this goal require the player to restore their annual agricultural yield to a variable minimum and to ensure that the food is safe to eat.

8.4.13 Reduce Crime The player must reduce crime by addressing factors like education, affordable living, economic disparity, pollution,231 health, and other fundamental factors that give rise to crime.

228 Corbett, James. Emergency Warning For Office Workers NIST WTC7. youtube.com. 27 Aug. 2008. 229 Oreskes, Naomi and Conway, Erik M.. Merchants of Doubt: How a Handful of Scientists Obscured the Truth on Issues from Tobacco Smoke to Global Warming. Bloomsbury Press. May. 2010. 230 Campbell, T. Colin. The China Study: The Most Comprehensive Study of Nutrition Ever Conducted and the Startling Implications for Diet, Weight Loss and Long-term Health. Benbella Books. 2006. 231 Drum, Kevin. America’s Real Criminal Element: Lead. 16 Feb. 2013.

~ 143 ~ 8.5 Sources, Mutators, Resources, & Sinks This section illustrates how resources can be transformed through the game’s underlying abstract resource processing pipeline model. A very simple relationship between a source, its resources, mutators, and sinks is shown in figure 8.1.

Source Resource A Resource A Resource B Mutator Resource D Sink Resource C Resource C

Figure 8.1 A simple resource processing pipeline. A source could be any logical group of resources, such as the atmosphere, the ground, imports from another city, or even off world. It acts as the initial supplier of one or more types of resources that feed a resource processing pipeline. Except in the case of imports, a source’s resources are usually in some unrefined state. We denote sources on our diagrams as tables, with the resources they are capable of supplying listed within them.

A resource is anything that can be used to provide or produce some other resource. It is usually, though not necessarily, useful to someone living on Mars. It could be a kind of energy like thermal, chemical potential, electrical, or even organic waste. Resources are denoted on our design diagrams as octagons.

A mutator is an abstract entity that transforms a resource into some other. They are denoted on our diagrams as three dimensional boxes. Mutators could be physical buildings like a plastic factory but do not have to be. Note how the mutator in figure 8.1 combines several resources to produce a new one.

A sink is the terminal end of a resource’s journey through the pipeline, though it may make another one. We denote them on our diagrams as inverted triangles. Sinks are defined in the game as abstract objects with a set of behaviours to carry out on an input resource having met certain condition. They usually map to some physical entity in the world, like the atmosphere or the ground.

Sources and sinks may be related. Depending on the resource and sink any number of things could happen when the former enters the latter. Consider Earth’s atmosphere as a sink. The sink is capable of absorbing certain resources, such as anthropogenic CO2 to a certain extent. But one of the many adverse side effects is that this will trigger an increase in carbonic acid (H2CO3) uptake in the oceans. The oceans are a source because they furnish many resources that are critical to supporting life on Earth. But more carbonic acid in the oceans will reduce their ability to support life.232

Consider again the Martian atmosphere as a source. We can do this because it contains resources which are useful to us on Mars, such as CO2. This atmospheric CO2 can be fed into the RWGS reactor 232 Neoclassical economists refer euphemistically to this phenomenon as an “externality”.

~ 144 ~ described in section 4.16 to produce new resources. These resources are carbon monoxide (CO) and molecular hydrogen and oxygen. The carbon monoxide could in turn undergo further refinement when combined with other resources and mutators to produce yet additional resources like methanol or plastics. In that case the hydrogen was cycled back into the reactor as a reagent and the oxygen used for life support. This latter oxygen then passes through human respiration, a resource mutator, producing in turn food resources (ATP) and CO2 from the O2. The CO2 could be vented back out into the atmospheric sink.

Whenever a resource enters a sink and efficiently replenishes all of a source’s resources that went into its creation we call this recycling. Whenever this is not the case and a resource is non–renewable we know that the source’s supply of the resource will eventually become depleted. This is one of the many reasons why the models adopted by neoclassical economists are not accurate, because they presuppose the indefinite viability of a linear model drawing upon finite resources.

With these basic building blocks it is possible to have resource processing pipelines as complex or over simplified as a designer likes. Since all of Avaneya’s sources, resources, mutators, and sinks are data driven, to add more one simply defines new ones through the Lua interface (see section 9.11). Although there is no theoretical limit to their complexity or the diversity of resources, it is convenient to examine some of a “core set”.

An over simplified model is illustrated in figure 8.2. Note that not all resources require processing to be useful. For instance, although the Martian atmosphere is mostly CO2, that gas is already a resource in and of itself because it has many applications – even though it could still undergo further refinement.

~ 145 ~ Magnesium

Glass

Silicon Dioxide

Silicon

Steel

Copper

Silver

Ore Platinum

Jenyas

Clay Ceramics Rhodium

Bricks Gold

Gypsum Portland Cement

Solar Flux Regolith Mine Iron Photons Heat

Photons

Atmosphere Carbon Dioxide Carbon Dioxide Nitrogen Water Vapour Dimethyl ether Hydrogen Sabatier Reactor Methane

Ground Plastics Factory Plastics Artesian Aquifer Oxygen Methanol Dry Ice Ore Bamboo Regolith Water Ice RWGS Reactor Carbon Monoxide Biophotoreactor Plant Kelp Fertilizer Water Ice

Greenhouse

Aqua Methanol Reactor Heavy Water Imports Food Dynamic Isotope Power System Plant Waste Mushroom Ranch Hydrogen Artesian Aquifer Deuterium Isolator Deuterium Nuclear Fission Reactor

Wood

Photovoltaic Farm

Electricity Nuclear Fission Reactor

Heat

Geothermal Station

Dynamic Isotope Power System

Figure 8.2 The resource pipeline of all the core sources, resources, mutators, and sinks. For the purpose of clarity we added the same resource sometimes twice, once in its source and again as a separate node on the diagram. The reason for this is because sometimes there may be more than one way of getting a resource, such as through an off–world import or out of the ground.

If you look carefully at figure 8.2 you will notice that there are no sinks. We avoided putting these on the diagram because it would make it harder to read in linking every resource to all possible sinks to cover every conceivable situation. Instead consider figure 8.3 to illustrate some of the possibilities with a reduced resource set.

Replenish Deplete Aquifer Aquifer Some Aqua Ground Sink Artesian Aquifer Geothermal Electricity Station

Heat

Figure 8.3 Resources and sinks. Here again the ground is a source of resources, including an artesian aquifer. When tapped with a geothermal station it provides aqua or liquid water, electricity, and thermal energy. The electricity and heat can be used for any number of things, but we must be careful with what we do with the water. If the underground well is not replenished it will eventually become depleted. If that happens the dangerous likelihood of the surface collapsing into a sinkhole increases.

8.5.1 Resource and Mutator Lifecycle As already mentioned resources can be used in their raw form or changed through mutators (single or multiple) to form a variety of commodities, wastes, and new resources. Depending on inputs and processes these will have certain effects. Some will be instant while others will have a latency before the effect becomes apparent. Many of the resources in any of their initial, mutated, or sink states can be produced, stored, used, exported, imported, and moved.

Storage of resources can exist at a variety of locations. Initially this may be on a geological, biological, or similar level in a “natural” state. Storage can also take place after initial mining or harvesting at this location, or it may require permanent or specialized forms of storage like that needed for cryogenic liquid oxygen. Resources then go through a lifecycle of consumption depending on many factors. They may sit on construction sites, supermarket shelves, vent into the atmosphere, or end up at a farmers’ market at your city’s bazaar.

8.5.2 Implementation The previous examples provided a number of simple descriptions on the interaction of sources, mutators, resources, and sinks. The challenge will be to implement appropriate algorithms that

~ 146 ~ can handle a much more complex interaction of all of these in an efficient manner. The GPU will undoubtedly play a role in solving this problem.

At some point we will probably have to build a custom tool with an accessible graphical user interface for designers to prepare such data. A user interface similar to Blender’s compositor with nodes and edges joining them would be a good start. The tool could check the design for errors before attempting to “bake” the data into some kind of optimized intermediate format for the player’s GPU at runtime. It could also maintain a database of all available sources, mutators, resources, and sinks to assist designers.

~ 147 ~ 9 Selected Technologies

It is generally a bad engineering practise to try to re–invent the wheel whenever there are appropriate resources already available to help solve a problem. We will list by category in this chapter some of the technologies we intend to use. We will explain each in the words of their maintainers or sometimes in our own.

We always try to stick to using software libre whenever possible. The only time we might use a non–free tool is in using it as a model to design a suitable libre replacement. Another situation would be as a last resort when it was not practical to write a replacement.

Note that not all of these technologies are components within the AresEngine. Some of them might be used in preparing ‘offline’ game assets for the engine, but not used in the engine itself.

9.1 Audio

▷ libav / libasound_module_pcm_a52 The libasound_module_pcm_a52 library is a plugin for ALSA and therefore only available on supported platforms – usually GNU/Linux systems. The plugin is a wrapper for the lower level encoder provided through libav. The latter provides a way to encode a digital surround sound stream in A52 format to a pass–through device (e.g. S/PDIF). The user’s home theatre receiver then decodes and amplifies the stream to the user’s surround sound system.

We need to be careful for legal reasons. See section ?? for more information on why.

▷ OpenAL OpenAL is used for 3D spatial audio rendering. Actual decoding of audio data is done through other APIs, such as SDL_audio. Audio programming under GNU/Linux is unfortunately still a mess,233 but APIs like this help make it sane for game developers.

▷ SDL_audio This SDL module is used to provide audio decoding. It provides a standardized interface to various decoder backends, such as Ogg Vorbis and others.

9.2 Collaboration

▷ Git We will use Git for all revision control management. Our development model favours the cathedral approach, rather than the bazaar. For a project like this, we felt it more appropriate due to the amount of coordination necessary to produce a high quality commercial–grade game. 233 TuxRadar. How it works: Linux audio explained. tuxradar.com. 8 Apr. 2010.

~ 148 ~ ▷ Internet Relay Chat (IRC) We use IRC for some kinds of realtime communication over the internet when working with distributed parties. For more information, see section ??.

9.3 Developer Tools

▷ Apport Apport intercepts program crashes. It collects debugging information about the crash, obtains anonymous information about the user’s platform, and uploads to us in a standardized format by integrating directly into Launchpad. It is available on supported GNU operating systems.

▷ CppUnit The CppUnit library is a unit testing framework module for the C++ programming language. It is used to perform self diagnostics of various components of the game engine and tools. They are executed at build time.

▷ GNU Autotools The GNU Autotools are industry standard and akin to the ‘construction scaffolding’ surrounding a new building under development. They can be used to reconcile and harmonize the many idiosyncrasies of different platforms to make portability easier.

▷ GNU Compiler Collection The GNU Compiler Collection is used for the engine’s dependency calculation, compilation, and linking. GCC is not a compiler, but actually a collection of compilers for different platforms. Ports of them are available for virtually every platform under the Sun, including every single one we are targeting.

▷ GNU MPFR The GNU MPFR Library allows us to control how floating point computations are done in C++. The goal is to make programs give reliable and reproducible results. This is important because differences in machine generated code, numeric handling libraries, dedicated hardware floating point processors and optimizations can yield results that are inconsistent across different environments.

A libre game is likely to be ported to a variety of hardware platforms. Players interacting over Solnet could be using very different platforms where operations on the same values produce different results. The MPFR library will ensure that calculations are performed consistently across disparate hardware. This way all players will play by the same rules.

9.4 Documentation

~ 149 ~ ▷ bibTEX As you probably noticed, this book has hundreds of references. bibTEX is a well proven tool to solve that problem. It has been used for many years in various academic fields ranging from the humanities to the natural sciences. It maintains a database of references and provides a standardized interface for typesetting software like ConTEXt.

▷ ConTEXt We use ConTEXt for typesetting important documents, such as this one. This document was compiled on May 31, 2017, typeset using ConTEXt 2016.05.17 19:20, and rendered with LuaTeX 0.95.0.

One of the many beauties of using a programmable typesetting language like ConTEXt is that documents written in them are diff and patch friendly. This makes collaboration easier.

▷ Doxygen As software increases in complexity, so does the need to document how it works internally. Doxygen is a tool that can generate engineering documentation on the fly. The documentation is derived from metadata hints at the source code level. It can even produce graphs that show the relationship between classes. This latter feature is actually implemented internally using another set of tools we depend on, Graphviz.

▷ Graphviz Graphviz is a powerful set of tools for drawing graphs specified in the DOT language. Among the suite it provides, dot was used for several of our figures like figure 8.2.

▷ Umbrello Umbrello is a powerful diagramming tool. We used it to create our AresEngine’s architectural design (UML models) as seen in section 11.3.

The two projects compliment each other and have had a friendly relationship in the past. Our design put a heavy demand on Umbrello. This was useful to Umbrello’s developers in providing something to stress test and identify problems that might have otherwise been difficult to find. We’ve helped them isolate many bugs.

9.5 freedesktop.org The freedesktop.org community is committed to providing specifications and applications for a consistent user experience across various desktop environments. This frees developers to focus on having to do things only one way, the standards compliant way, as opposed to many ways or having to make bad assumptions about the user’s preferred desktop environment.

~ 150 ~ ▷ D–Bus Specification The D–Bus (Desktop Bus) API is a simple inter–process communication (IPC) system for software applications to communicate with one another. Avaneya can use it for things like determining the state of the user’s network connection. We currently use it heavily in the Avaneya: Viking Lander Remastered DVD.

▷ Desktop Application Autostart Specification The autostart specification allows applications to safely self launch when an appropriate medium is inserted. It could be traditional optical media or a USB stick as examples. This can be useful where user’s are accustomed to a graphical user interface appearing on legacy systems after inserting an optical media for their favourite game.

▷ Desktop Entry Specification Several freedesktop.org compliant desktop environments have adopted this convention. This allows applications to provide ‘desktop entries’ describing where an application is, how it is to be launched, where it should appear in the user’s menu, and localization strings.

▷ Media Player Remote Interfacing Specification MPRIS is a standardized interface for compliant media players. We could provide an option in Avaneya that stops the user’s media player if it is currently playing music and then instruct it to resume playback on exit.

▷ Startup Notification Specification This specification defines a method that allows any compliant desktop environment to monitor Avaneya as it initializes and provide the user with feedback.

9.6 Graphics

▷ Avaneya: Viking Lander Remastered DVD This tool helps provide graphic artists and shader designers with reference imagery from the original Viking mission to Mars. The historic lost Viking mission archive is available on DVD format from us and can be ordered through our website.

NASA’s Viking mission was the first ever to photograph the surface of the Red Planet. In particular, a region of interest to us has never since revisited. See chapter 10 for more information on how and why we went to the trouble of authoring this technology.

▷ Blender As much of our modelling as possible will be done with Blender, but modellers are free to use whatever libre modelling application they like. It needs to at least supports common free

~ 151 ~ formats. One popular alternative is Wings 3D. Ultimately all models must be importable into Blender since we are dependent on Ogre3D’s Exporter plugin to provide usable data for the Ogre3D rendering engine.

▷ Crazy ’s Graphical User Interface Crazy Eddie’s Graphical User Interface (CEGUI) library allows portable complex graphical user interfaces to be used with the Ogre3D rendering engine. This is necessary for the in game graphical user interface. CEGUI user interfaces are defined through Lua scripts that drive a Lua interface to control all dynamic and static graphical elements. The actual graphical elements themselves need to be provided by an artist, such as images for buttons and scrollbars.

▷ Hydrax Hydrax is a fluid dynamics plugin for the Ogre3D rendering engine. It may be useful for providing fluid effects on Mars, such as a tailings pond or an indoor swimming pool.

▷ Ogre3D The Ogre3D rendering engine is a powerful cross–platform API generally aimed at game developers. It has a rich and simple to use API with a multitude of plugins available for it. It is strictly a rendering engine and does not provide facilities for input, audio, physics, or any other subsystem typically found in a modern game engine.

▷ OpenGL The OpenGL API provides our preferred rendering backend for the Ogre3D rendering engine. Although the latter supports other backends it is very difficult to write and maintain shaders for all of them. OpenGL is ubiquitous these days, can do virtually anything its proprietary counterparts on other systems can, and does not hold you hostage to any particular platform.

▷ SDL The SDL library is used to provide support for font loading, input, force feedback, and audio decoding via the SDL_ttf, core SDL, SDL_haptic, and SDL_audio APIs respectively.

9.7 i18n & L10n

The acronyms i18n and L10n are old cryptic industry terms for ‘internationalization’ and ‘localization’ respectively. Internationalization is the process of adapting software so that it can accommodate different localities. This is implemented by engineers.

Localities, or sometimes just called locales, specify data specific to a given locality, region, or culture of the world. This usually includes the user’s preferred language, writing direction, currency, and numeral system. This is provided by people with locale specific knowledge.

~ 152 ~ ▷ GNU gettext GNU gettext is used to implement i18n by providing C functions for string substitution or translation into any available human language. Strings in code are marked and substituted appropriately at runtime based on the user’s preferred locale.

▷ lua–gettext The lua–gettext API is a Lua package that acts as a Lua wrapper for gettext bindings.

9.8 Input

▷ SDL_haptic The SDL_haptic API will be used to provide force feedback where supported. A note about the alternatives to SDL_haptic. At this time the Ogre3D plugins for OgreHaptics and OgreHAPI were both considered but did not appear to be actively maintained.

▷ OIS OIS is an object–oriented API for Ogre3D which is used to provide input handling. Input starts at this low level API and is used to message pump CEGUI or anything else that needs to know what the user is doing.

9.9 Networking

▷ ENet ENet provides the low level API which Avaneya’s multiplayer protocol is built on. Its purpose is to provide a relatively thin, simple, and robust network communication layer on top of UDP (User Datagram Protocol). It is very useful in providing optional reliable in–order delivery of packets.

It omits certain higher level networking features such as authentication, lobbying, server discovery, encryption (which can be provided with OpenSSL), or other similar tasks that are particularly application specific. This is done deliberately so that the library remains flexible, portable, and easily embeddable.

▷ OpenSSL The OpenSSL Library is a libre implementation of the SSL and TLS protocols. It is used to provide encryption at the application level to make it more difficult for an uninvited third party to be a nuisance.

~ 153 ~ 9.10 Physics

▷ OgreBullet OgreBullet is an Ogre3D plugin that provides powerful physics capabilities. It is an interface to the underlying libre Bullet physics engine which features 3D collision detection, soft body dynamics, and rigid body dynamics. It is used in many libre and non–free games. It has even been used to aid in visual effects in some motion pictures.

The underlying physics engine can take advantage of available hardware acceleration whenever OpenCL (Open Computing Language) functionality is present. This allows the offloading of resource demanding physics calculations to specialized hardware like GPUs, DSPs, or FPGAs. Most modern off the shelf graphics cards currently support this.

9.11 Scripting

▷ libtolua++ The libtolua++ library is used to integrate C++ engine code with Lua. It is an updated replacement of the older toLua tool. It allows engine code to invoke Lua code, as well as the inverse.

▷ Lua Lua is used to provide scripting support to the AresEngine. You might say that the technology that drives the game is in the AresEngine, but the actual game behaviour is implemented in Lua scripts that drive the engine.

~ 154 ~ 10 Viking Lander Remastered

10.1 The Martian Landscape

Getting the Avaneya game experience right has always been important to us. That means we need to replicate the visual environmental conditions of the Martian landscape as closely as possible. We can do much better than simply making it red, and users appreciate this because it makes their experience feel more genuine.

Since artists, shader writers, and others are more interested in what things look like to do their job than the peroxide concentration in Martian regolith, it is more important that they have access to high resolution images depicting what Martian rocks, a sunrise, and the Winter season would look like as if actually standing there. Large sets of reference material is essential. But Mars, like Earth, is a very large place of greatly varied terrain and climate so we must be more specific.

Arda and his settlers erected their first settlement in the Arcadia Planitia region. It is named after the Arcadia region of Ancient Greece, so in turn named after the Greek legend of Arcas. This location was selected because there is plenty of water ice, a stable climate, and year round Figure 10.1 A dust storm captured by sunlight. Viking Lander I in the early morning on . The grid on the panel is The centre of Arcadia Planitia is mostly uniform in used to track the movement of Martian appearance. The centre is roughly at 46.7∘N 192.0∘E. This dust. is mid–latitude in the Northern hemisphere.

Images of a fresh meteorite crater 12 metres across taken in 2008 revealed a massive blanket of water ice under the surface.234 Luckily it also turns out that this ice is almost completely pure with only about one percent of it being non–water.

Even though there is a great deal of water and dry ice on Mars, it is unstable in the thin Martian atmosphere. You rarely ever see it anywhere other than in the polar regions. This is because the ice rapidly sublimates235 as soon as it is exposed.

234 CBC News. Ice on Mars revealed in fresh craters. cbc.ca. 24 Sep. 2009. 235 When a solid material sublimates it means it skips melting to a liquid and turns directly into vapour.

~ 155 ~ The region has also experienced recent lava flows. By recent in a geological time scale we mean within the last few hundred–million years. This suggests Mars most likely is still volcanically active and with a molten core. Note that it does not appear to spin around its core which is why there are only small localized magnetic fields, but not at a global level. We know this because of Mariner 4’s flyby. This is why a magnetic compass would be useless on Mars.

Figure 10.2 ’s rocky surface captured by Viking Lander II. Arcadia Planitia’s windswept landscape consists of a vast, mostly flat, pale tan coloured plain. It has sand dunes of modest height, never approaching anything higher than a few feet with small uniformly sized rocks littering the surface. As the prevailing theory goes these rocks are remnants of some of the underlying bedrock which is an older layer of solidified lava. Every time an asteroid impacts penetrating the younger upper layer, the underlying bedrock ejecta becomes scattered everywhere.

Like all other explored regions it undergoes constant sterilization through intense ultraviolet radiation. This means that there is probably no known life on the surface of Mars.

~ 156 ~ 10.2 Viking Mission In 1976 NASA successfully placed two spacecraft into Martian orbit after many years of failed American and Russian attempts. These initial failures became unofficially known as the Mars Curse owing to their high number.236 The Viking orbiters both carried their own landers which they successfully landed without incident.

The landers were capable of capturing high resolution photographs and other data from the surface of the planet, buffering temporarily onto internal magnetic tapes, and then relaying the data back to Earth through one of the orbiters when in position or sometimes directly through a UHF uplink. The landers provided us with large amounts of data without any issue for four years before finally succumbing to a battery failure on one and a software update bug which shutdown the communication antenna on the other. Some have described this returned data as the first time Mars became less abstract and became a “navigable space” to the general public.237

At present no lander has as of yet explored Arda’s area of settlement, Arcadia Planitia. This would have been a problem for us except that the neighbouring plain of Utopia Planitia is very similar in appearance. We have a multitude of images captured by Viking Lander II of this region. The lander started doing this on 3 September 1976 from its location of 47.7∘N 225.9∘W.

Figure 10.3 Chryse Planitia as captured by Viking Lander I, later salvaged from a rotting magnetic tape.

236 Burk, James and Green, Dustin. All Missions to Mars. MarsNews.com. 22 Jul. 2011. 237 Wythoff, Grant. Projecting Photography. Medium Cool. 9 May. 2014.

~ 157 ~ 10.3 Problem: Rotting Tapes, Dead Technology While researching the aesthetics of the Martian surface we found it incredulous that in all the decades passed since the Viking landers returned their images back to Earth, there did not appear to be so much as a single, complete, user friendly, archive of all the images captured. So you can forget downloading a convenient archive of PNGs from NASA’s website intended for a layman.238

We do, however, have access to the original source data239 from the Viking mission that NASA made available to the general public. Some of it is official NASA Planetary Data Systems (PDS) archival data and some of it is from the Science Digital Data Preservation Task (SDDPT) of the Jet Propulsion Laboratory which preceded it. The PDS is a branch of NASA entrusted with mission data archival. It was established due to concerns data from previous missions, like the Viking mission, were in danger of being lost or rendered unreadable because of failures in preserving adequate documentation.

The SDDPT archive was prepared by recovering what data NASA could by copying directly off of old decaying magnetic tapes onto more stable optical media in the 1990s when CDs first became available. That data was “working data,” analogous to notes scattered in an office. The images it contains may or may not be useful, but they were expensive to acquire and may contain images not found in the official PDS archive and vice versa. They did not otherwise alter them. They represent EDR (Experimental Data Record) level data which is a processing level at NASA to denote the raw working data that was returned to Earth as captured by each landers’ onboard instrumentation.

Although both sources’ raw data are now available to everyone as public domain, the entire latter SDDPT archive was encoded in an archaic format that is not very Figure 10.4 A 9–track 6250 BPI magnetic practical to the contemporary user but appropriate during tape, like those used with the Viking the Viking mission between 20 July 1976 to 5 November mission. 1982. As you might expect, few remain today at NASA still able to recall the necessary arcane technical details.

The Avaneya: Viking Lander Remastered DVD was an effort to remedy this problem constructively while simultaneously providing our artists and shader writers with what they needed. It also provides the general public with an invaluable educational resource. The software we authored successfully recovers a remastered archive as well organized lossless PNG images organized by location and season. We chose the latter format because everyone already has software that can access PNGs.

We used three source data sets as the basis for our new archive as depicted in figure 10.5.

238 Grayzeck, Ed. Frequently Asked Questions: Planetary. National Space Science Data Center, NASA. 7 Oct. 2008. 239 Jet Propulsion Laboratory. Viking Online Data Volumes. pds-imaging.jpl..gov. 10 Apr. 2012.

~ 158 ~ Planetary Data Systems Imaging Archive Experiment Data Records

Cleanup SDDPT High Resolution Mosaics, Avaneya: Stereo Images and Range Data Sets Viking Lander Remastered

VikingExtractor SDDPT Processed Images

Figure 10.5 A diagram of the Avaneya: Viking Lander Remastered DVD image processing pipeline.

The PDS EDR archive was the first. The format they are encoded in was straightforward to transcode since it is well documented and standardized. The data was cleaned up and re–organized for easier access. For example, if you wanted to know what Utopia Planitia looks like in the middle of the Winter, all of the images are organized by Martian month. See section 7.15.4 for more information on the Martian calendar.

The SDDPT’s Viking Lander High Resolution Mosaics, Stereo Images and Range Data Sets volumes marked VL_0001 and VL_0002 contained raw data recovered from several thousand magnetic tapes in various stages of decay. This was the second archive used. It was the result of NASA stitching together multiple images to form mosaics. Some of them may be rather Frankensteinian in appearance, but understand that they were intended for use in a hectic operational environment at the time.

Fortunately we did not have to do any significant work on this set. We simply made the logical directory layout, file names, and documentation more intuitive to the layman. We also got rid of many things that most people either would have found confusing or would not have had much use for.

The SDDPT’s Viking Lander Processed Images was the third source. These were taken from the volumes marked VL_2101 through VL_2124. This dataset amounted to roughly 14–gigabytes of raw mission data. The photographs in this set after restoration can be looked at individually as opposed to parts of mosaics. The SDDPT is the bulk of the archive’s disk size and required a great deal of digital forensic archaeology to recover.

But why? NASA was not concerned at the time of the mission with a long term data archival strategy. This may be hard to believe for some, but even NASA makes mistakes.240

The problem of not having a long term archival strategy is actually surprisingly commonplace in other industries. Consider that nearly half of all films produced before 1950 are entirely lost for exactly this reason.241 240 . NASA audit finds hundreds of space samples missing. cbc.ca. 9 Dec. 2011. 241 Society, The Royal Ocean Film. The Unsung Heroes of Cinema. vimeo.com. 2017.

~ 159 ~ One must be cognoscente of the great difficult mission planners faced in venturing to another planet with a long and distinguished history of catastrophic mission failures. At last one finally culminated in success with the flow of the first real images ever captured from the surface of the Red Planet.

With no long term data archival strategy in place, eventually the archaic mission data magnetic tapes began to rot. Magnetic tapes can experience ‘bit rot’ as the bits of information they contain lose their magnetic orientation. When stored where it is warm and humid the tapes quite literally rot. This went on for years before someone noticed. As surprising as this may be to some, it is actually still a major problem at NASA.242

Figure 10.6 Viking Lander II Even if the data had been safe on magnetic tapes, the VICAR (Video captures a beautiful early morningImage Communication and Retrieval) format they were encoded sunrise, Utopia Planitia. in is an ancient format with origins nearly half a century ago. Moreover, the few remaining functional VICAR image loaders the team managed to access are for much newer file format versions than those used during the Viking era.243

The VICAR image processing software specification used at the time unfortunately underwent many revisions over the decades with little, if any, formal documentation of the format used during the Viking mission. The most recent documentation available is from 1994, and even that is still decades too recent to be useful.244

One of our NASA liaisons advised us that they were in possession of the only known allegedly working image loader. However, we were not permitted access to even just the binary to test. Its distribution is severely restricted. NASA’s Jet Propulsion Laboratory informed us on 2 June 2011 that they could “only provide a royalty–free license to universities (signed by a department head) or a government subcontractor, where the requested software is required to support the effort. At the end of the contract, it must be deleted. [They] cannot provide software to individuals or for research and development purposes.”

Even if we had been granted access or purchased some kind of commercial license, there is still no guarantee that their software would have actually worked with Viking era data. But even if it could, probably not with the flexibility and automation that we required for a massive 14–gigabyte data set. In all likelihood after having examined the data in detail and following many repeated inquiries, with confidence we began to doubt NASA’s claim of having working software. There was good reason to suspect that no one, not even NASA, had any usable software to recover the data. Although they indicated the opposite in good faith, this was probably because no one had bothered to verify in decades. 242 The Economist. Digital data: Bit rot. economist.com. 28 Apr. 2012. 243 Xloadimage 4.1 and ImageMagick 6.7.0 are some examples that can decode newer VICAR data, but not from the Viking era. 244 Duxbury, Elizabeth and Jensen, Danika. VICAR User’s Guide. www-mipl.jpl.nasa.gov. 14 Oct. 1994.

~ 160 ~ 10.4 Solution: Viking Lander Remastered DVD In keeping with the spirit of software libre, we did not wait on proprietary software vendors to hold data access hostage. We authored viking-extractor. The latter underlying software supplies the actual heavy lifting of the Avaneya: Viking Lander Remastered DVD – a layman’s point–and–click graphical user interface for the former. This was done through a combination of a great deal of reverse engineering of surviving mission data and helpful wisdom from various scientists at NASA. In particular one particular individual at the Geosciences Node of NASA’s Planetary Data System who wished to remain anonymous.

We needed the images. But we also believed that no one should have to perform digital archaeology to see what Mars looks like when photos were already captured, paid for with a billion dollars of public money, and stored for decades – albeit up in the attic, within a chest, covered in cobwebs, and guarded with a rusted out proprietary lock. A lock nobody seemed to have a key for at best, selectively rents or refuses to share at worst.

10.5 Viking Lander Hardware Both Viking landers were equipped with multipurpose photosensor arrays (PSAs). These early digital cameras contained an array of twelve photosensor diodes. They were intended for capturing different portions of the electromagnetic spectrum for different purposes. Table 10.1 lists all of them.

A great deal of the original mission data was corrupt (e.g. tape rot) or suffered from formatting inconsistencies. This made it difficult to author a reliable forensic recovery tool. The general rule of thumb when deciphering the SDDPT’s data set was that there probably wasn’t one. You have a very large heterogeneous mixture of files encoded in ad hoc formats, each containing pieces of a larger puzzle and invented on the fly for a stressed operational environment that was very much living in the moment.

With the aid of some heuristics and image analysis, the software is reasonably robust and can tolerate a fair amount of noise. It recovers what it can and picks itself up and carries on where it cannot.

~ 161 ~ Band Type Qty Spectrum Resolution Description

Broad band 4 Broad High Used for different focal distances.

Colour 3 Narrow Low One each for red, green, and blue.

Infrared 3 Narrow Low Infrared colour imaging.245

Survey 1 Broad Low Monochrome for panoramic images.

Sun 1 Narrow Low For looking at the Sun through a red filter.

Table 10.1 Viking lander photosensor types. The tool recovers whatever it can while transcoding from the VICAR formatted data into lossless PNGs. Here is an example of its use. You should use the –help switch or consult with the manual for more information on the software’s usage.

The following sample usage of viking-extractor catalogues over ten thousand files, organizes them, locates all scattered pieces of the same image, performs optical character recognition, orients them right side up as necessary, compares duplicates for quality, builds a matching set plan, and executes all plans by reassembling whatever it can. It identifies potentially recoverable images based on, among many other things, their photosensor diode band type. For example RED/T meant that the band data that followed in the file was possibly the red component of a disassembled colour triplet set.

$ viking-extractor \ –directorize-band-class \ –directorize-month \ –directorize-location \ –ignore-bad-files \ –interlace \ –recursive \ –generate-metadata \ –summarize-only \ "Input Directory" \ "Output Directory"

Using a quad core 2 GHz amd64 hardware running GNU, this fully automated process took about forty minutes. On a low power mips64el machine running GNU this took about six hours. The results are presented below.

~ 162 ~ $ find "Output Directory/" ... Output Directory/Chryse Planitia Output Directory/Chryse Planitia/Leo/Colour/11J070.png Output Directory/Chryse Planitia/Leo/Survey/11J071.png Output Directory/Chryse Planitia/Capricorn/Colour/12C200.txt ... Output Directory/Utopia Planitia/Aquarius/Colour/22D220.png ... Output Directory/Utopia Planitia/Scorpius/Colour/22H220.png ...

Some of the metadata needed to make unattended decisions is located within EBCDIC encoded file headers. Extended Binary Coded Decimal Interchange Code (EBCDIC) was an ASCII alternative 8–bit character encoding scheme used mostly on IBM mainframe computers back in the 1950s and 1960s. These headers are made up of ‘label records’ which are meaningful only in the context of these old mainframe machines equipped with magnetic tape drives. Some of the metadata the on–board instrumentation provided can be preserved for the curious.

As an example there was a flag indicating whether the camera lens was cleared of dust with compressed gas prior to shooting. It is only available in the PDS data set, but other metadata like camera azimuth and elevation almost always were. This metadata is generally not very useful for most, but the viking-extractor can preserve whatever it can if the user wishes.

When relying on the image archive, make sure you are looking at the right place. If you want to know what Arcadia Planitia looks like, look at its very similar neighbour that was explored by Viking Lander II, Utopia Planitia. The other lander touched down on the other side of the planet on Chryse Planitia (‘Plains of Gold’). They may look very similar at first to the untrained eye, but they have many subtle differences.

The source code to the entire software package was released under the terms of the GPLv3. Anyone is free to use, study, redistribute, or modify it.

10.6 Epilogue The Committee on Data for Science and Technology (CODATA) at the Data at Risk Task Group (DARTG), supported in part by the University of North Carolina is an organization that manages the Data–at–Risk Inventory. The DARI is a project to produce a catalogue of valuable scientific data at risk of being lost.246 This includes deteriorating formats such as magnetic tapes.247 Our technology was admitted into the DARI inventory in 2012.248

~ 163 ~ Figure 10.7 Writing the software to recover images from the Viking landers.

Eventually when our technology was up and running we resumed correspondence again with NASA to share what we had authored. In reflecting on the predicament we had faced respecting the previous inaccessibility of the archive to the general public, a section manager wishing to remain anonymous with the Jet Propulsion Laboratory shared the following reflection. “You’re right that the Viking Lander archive has been largely inaccessible to the general public. Fortunately, we were successful in salvaging the data thru the migration from magnetic tape to CD so that someone, someday could write software to read and use the data. It sounds like you’ve done that – I do indeed understand how difficult a job that was”. This was followed with the publishing of the source code on the Jet Propulsion Laboratory’s website.249

As a final reflection some readers may be interested to know that some of the SDDPT data was not necessarily corrupt, but unavailable in other ways. We identified at least six magnetic tapes. Four of these tapes were missing altogether. These included tapes VL-0002, VL-0003, VL-0027, and VL-0325. In addition two more tapes were available, but the images themselves were missing. This included tapes VL-2176 and VL-2177. We submitted Freedom of Information requests to obtain additional information, but the results suggested the tapes were intentionally destroyed. The FOIA officer was as baffled as we were.

246 Murillo, Angela P., A. Thompson, Cheryl, Carver, Nico, Davenport Robertson, W. and Greenberg, Jane et al. (2012). The data–at–risk initiative: Analyzing the current state of endangered scientific data. Proceedings of the American Society for Information Science and Technology, 49, pp. 1–3. 247 Committee on Data for Science & Technology. Documenting Scientific Data–at–Risk and Data Rescue. Data at Risk Task Group. 27 Apr. 2013. 248 Cartesian Theatre. Avaneya: Viking Lander Remastered. Data-at-Risk & Rescue Inventory. 28 Apr. 2013. 249 Jet Propulsion Laboratory. PDS Software Page. pds-imaging.jpl.nasa.gov. 3 Dec. 2013.

~ 164 ~ Figure 10.8 Image stubs in one of the many missing images.

~ 165 ~ 11 Engineer Contributors

This chapter covers general information for our engineers. If you are not an engineer or simply not interested in the things they will have to deal with, you need not tax yourself. On the other hand, if you would like to better understand some of the problems they will need to solve or simply curious, please do read on.

11.1 Algorithms, Optimizations, & Tips In this section we will share some of the different algorithms, optimizations, and tips that are useful in tackling the many different problems we must address. Consider the following advice tentative and hardly sacrosanct. This is because no one knows with certainty what the future holds. We may find down the road that any of the following approaches are problematic, encouraging a need to explore alternatives. This is why re–search is called what it is.

With every bit of eye candy or bell Figure 11.1 Good code comes from a healthy environment. and whistle we add there comes the problem of an increased burden on player’s hardware. We need to take advantage of optimizations whenever possible.

As a general rule, asymptotic complexity (how an algorithm scales) is much more important than constant time optimizations. But assessing an algorithm’s complexity can be complicated. Fortunately you do not need a degree from a computer science department to understand the idea.250 It is a very practical tool that is there to help you and need not be an esoteric black art.

Still, sometimes having improved an algorithm from quadratic to linear logarithmic performance, a useful constant time optimization is all that remains if you want to go further. Most libraries the AresEngine (section 11.3) links against like SDL and Ogre3D are already heavily optimized. But of course not necessarily everything a game engine consists of, as well as the scripts that drive it, are found in 3rd party libraries. If that were the case we would not have to write anything.

11.1.1 Fallback Shaders Those who work in the non–free software industry sometimes over inflate their target user’s hardware requirements. The corporations they work for are unconcerned with leveraging the most 250 Walker, Julienne. Asymptotic Notation. Eternally Confuzzled. Apr. 2012a.

~ 166 ~ out of what users already have. They profit, at least in part, when users are perpetually convinced their hardware is inadequate, coercing them into undue, mindless, and wasteful consumption that only adds to the volume of the mountains of garbage we already have.251

As an example the US government is one of the largest producers of electronic garbage in the world. It throws out over 10,000 computers every week.252 That is not to say that users should never upgrade, but only so long as it is actually rational to do so and not merely for the sake of some special interest group trying to sell us a new video card.

We rely on visual effects like any game to make it interesting. Consider some creative examples. The scanline effect of a fictional terminal’s interface; gas sublimation of exposed Martian ice and the ensuing dust devils; a solar lens flare; atmospheric CO2 clouds visible in the day sky, or glowing meteorites and auroras at night; a construction site’s flood lights and the welder’s sparks; the Fresnel effect to model the amount of reflection and refraction at a fluid body’s material boundary,253 of chromatic aberation of ice,254 or a jet’s exhaust; are all some of the many examples we can implement. All of these are typically written in a high performance shader language like GLSL that executes directly on the player’s video card.

Truth be told most people on this planet have never even Figure 11.2 Our early fluid dynamics used a telephone, let alone a top of the line, liquid cooled, simulator generated entirely on the $500 graphics card that has the muscle for any of the GPU. aforementioned. As William Gibson once remarked, “The future is already here, it’s just not evenly distributed yet.” But even if everyone had powerful graphics hardware, there is still no guarantee that two users with two different vendor’s top of the line cards would both have the same feature set – or even implement the ones they do share in ways that produce the same results.

For these reasons we need to provide fallback shaders whenever reasonable. This is for those with less capable hardware or whenever we can expect hiccups on hardware that ought to be capable enough but may have driver issues. This way users who already know their hardware is weak and do not expect it to do what more powerful hardware can do can still get the most out of Avaneya. Meanwhile those who do have powerful hardware can be satisfied knowing that they are getting the most out of their expensive hardware.

But in aiming for flexibility, we must draw the line somewhere. We still require graphics hardware that at least supports a programmable shader interface. Investing time in appeasing a dead fixed function pipeline is not a useful expenditure of resources in an era where even the cheapest and most 251 Caroll, Chris. High-Tech Trash. National Geographic. Jan. 2008. 252 Urbina, Ian. Unwanted Electronic Gear Rising in Toxic Piles. New York Times. 18 Mar. 2013. 253 Rost, Randi J. and Licea-Kane, Bill. OpenGL Shading Language. Addison-Wesley Professional. Jul. 2009., p. 404. 254 Ibid, p. 409.

~ 167 ~ primitive graphics hardware typically supports at least some minimal of a programmable shader interface.

11.1.2 Instrumentation & Performance Analysis A good engineering principle is to make something work first, then to make it work better. There will come a time when the engine is mature enough that introspection will be necessary to identify performance bottlenecks that were difficult to anticipate during the architectural design. One approach is to use instrumentation software like GNU’s gprof to examine call graphs.

On Intel architectures we should monitor the machine’s performance counters255 for the frequency of cache misses. This is especially important on consoles, should we port Avaneya later.256

11.1.3 Lighting Models For lighting we will experiment with the capabilities of Ogre3D, our rendering engine. Still, there are some algorithms to consider earmarking for the time being. For static objects like buildings and terrain, we may be able to take advantage of spherical harmonics for real–time lighting.257 We can also consider using deferred shading for volume shadows.258 For global or ambient illumination we could use a hemispherical lighting model. Experimentation will be critical.

11.1.4 Memoization Memoization, not to be confused with memorization, is a technique in algorithm design that preserves the results of costly calculations whenever it is possible to re–use them without having to perform the same calculation again. When scripting we can take use Lua’s built–in memoization(f) function whenever possible.259 The function works by creating a new function that returns the same result as f on a given input, but by memoizing the result. As long as f does not have any side effects, we can use the memoized variant with constant time performance.

11.1.5 Path Finding A path finding algorithm is necessary for vehicles and pedestrians. Sometimes units need to autonomously self–navigate from one location to another. Sometimes their movement could involve a non–trivial solution. By non–trivial, we mean the optimal path could involve balancing a number of different constraints like minimizing fuel expenditure, time, distance, and severity of the terrain.

255 Intel. Intel 64 and IA–32 Architectures Optimization Reference Manual. Intel. Nov. 2009., p. A–13 256 Gregory, Jason. Game Engine Architecture. A K Peters. 2009., p. 568. 257 Rost, Randi J. and Licea-Kane, Bill. OpenGL Shading Language. Addison-Wesley Professional. Jul. 2009., p. 365. 258 Ibid, p. 392. 259 Figueiredo, Luiz Henrique De., Celes, Waldemar and Ierusalimschy, Roberto. Lua Programming Gems. Lua.org. 2008., p. 26.

~ 168 ~ Figure 11.3 Our A* pathfinder algorithm with a simple test case. For this problem we have selected the tried and true A* search strategy algorithm.260 Our implementation is described in section 11.3.2.

Figure 11.4 Our A* pathfinder algorithm with a more complex test case.

260 Poole, David L., Mackworth, Alan K. and Goebel, Randy. Computational Intelligence: A Logical Approach. New York: Oxford UP. 1998.

~ 169 ~ 11.1.6 Procedural Terrain Terrain problems are common to any game that requires the rendering of three–dimensional landscapes. Consider some other approaches.

What about height maps? Not if we need overhangs. If you have an underground vacuum tunnel carrying a train you cannot use them.

What about high resolution detail that we could provide manually. Perhaps pre–modelled in something like Blender with the help of some Perlin noise? Could that work for any reasonable level of magnification? That would probably be fine for offline rendering, but not if we wanted to maintain an interactive frame rate which is non–negotiable for a game. But users would probably be better satisfied with a virtual landscape that was influenced by the real thing if it were possible.

What about using real topographical data of Mars? Possible, but there is a problem. The best source of topographical data at the time of writing is the Mars Orbiter Laser Altimeter (MOLA) data set.261 MOLA was one of the instruments carried by the Mars Global Surveyor orbital spacecraft between the years of 1999 to 2001. Unfortunately the spatial resolution is inadequate for our purposes. For every degree of longitude at the planet’s equator, there are 128 pixels of sampling available from the cylindrical projection data set. That might seem like a lot, but this is really only about half a kilometre per pixel. Consider for a moment just how much detail a player’s booming Martian metropolis might pack in less than half a square kilometre.

If the user zoomed out to see an entire city, that might be fine, but what about if they zoomed in really close to the landscape to interact with various objects? Even if the data’s spatial resolution was fine enough to provide for elevation details at distances as small as a metre, we are now left with a problem we already encountered had we gone with the Blender route – too much geometry for the machine to realistically handle at an interactive frame rate. Whatever was viewable at a micro–level, even if we hide all of the landscape that is not visible, all of the details present in what is still present in the camera’s viewport will bog the machine down. But perhaps there is another approach to consider.

Ryan Geiss is well known for his Geiss visualizer for the Winamp media player. This non–free plugin is considered a classic. Ryan was a pioneer in the field of sound activated graphics (visualization) at the time, but he has also made contributions few have heard about in other fields like procedural terrain generation. His article on Generating Complex Procedural Terrains Using the GPU262 provides a solution worth considering.

The method allows overhangs. It also generates rich and highly detailed geometry at infinite spatial resolutions while maintaining an interactive frame rate by generating the geometry entirely on the fly. This is accomplished by offloading the entire computation to the GPU where he relies on fractals and several octaves of noise to produce the vertex data. Consider taking a look at one of his demonstrations.263 261 PDS Geosciences Node. Mars Global Surveyor: MOLA. pds-geosciences.wustl.edu. 21 Feb. 2012. 262 Geiss, Ryan. Generating Complex Procedural Terrains Using the GPU. Upper Saddle River, NJ: Addison-Wesley. 2008.

~ 170 ~ We are still left to solve other problems like terrain deformation and the community’s desire to see real topographical data incorporated if possible. In the latter case it may be theoretically possible to influence Ryan’s algorithm at a macro–level by “seeding it” with an initial brute–force approach using what is topographically known now while dynamically “filling in” the details algorithmically on the fly at runtime. We will have to experiment and adapt his algorithm as necessary. It may be possible to adapt protein–structure modelling and reconstruction algorithms from the realms of structural biology and bioinformatics for this purpose.

We will probably see a performance improvement in the terrain shaders when relying on hardware based GLSL implementations of the noise*() functions to provide fast high performance pseudo–random number generators. At the time of writing unfortunately no known hardware vendor implements these functions.264 This may be due to patent trolls. Instead these function stubs return 0.0. We will have to check at runtime whether available and if unavailable rely on another method like noise textures.265

11.1.7 Random Number Generators Random numbers are vital to games. These numbers usually do not need to be as high quality as required in statistical and scientific computing, but at least better than what is implemented in most standard language APIs, such as C++. Case in point, few serious game developers actually rely on their C++ compiler’s std::rand() function.

The game can query the random number generator many thousands of times per second in some cases, with each number potentially contributing in a significant way to a sequence or causal chain of events. One number might determine the severity of a seasonal dust storm. A seasonal dust storm that in turn leads to a reduction of inbound starport flights. In turn this leads to a reduction in immigration.

We selected Makoto Matsumoto’s algorithm,266 a popular high quality pseudo–random number generator. The algorithm offers an excellent balance between performance and quality of output within a very large period.

As one of its many novel uses we could parametrically define some characteristics of a building where it does not need to respond directly to the state of the underlying simulation. Some aspects of its appearance and behaviour could rely on some element of randomness. Two identical pressurized habitat building units could incorporate random parameters to make the foliage in their courtyards different from one another by seeding a foliage generation subroutine with different values. But we need not stop at just geometry. We could use random parameters to generate a colour palette too. The possibilities are limited only by our creativity.

263 Geiss, Ryan. MVI_7867.avi. 20 Mar. 2009. 264 Mesa 8.0, a popular software based OpenGL renderer, notes in its src/glsl/lower_noise.cpp that "no hardware has a noise instruction". 265 Wolff, David A. (2011). Using Noise in Shaders Birmingham England: Packt Pub., pp. 264–269. 266 Walker, Julienne. Mersenne Twister. 1 Apr. 2012b.

~ 171 ~ 11.1.8 Square Roots Square roots are common in game programming and nearly always pop up whenever vectors, trigonometry, linear algebra and the like are involved. We avoid them whenever possible. We use the squared magnitude instead. The former is slow and the latter faster – albeit at the cost of accuracy.

11.1.9 Vectorization Take advantage of the vectorization a given architecture’s accelerated instruction set comes with. This is sometimes called single instruction, multiple data (SIMD). These days virtually every major architecture offers some variant of this concept under a name of its own. It works by taking a group of inputs and batch processes them simultaneously instead of serially. Calculating an otherwise costly normalization of a list of half a dozen double precision floating point vectors can be done this way with a single SIMD instruction.

Since we are using the GNU Compiler Collection we can use an already existing implementation of Intel’s specification whenever working with amd64 or i686 architectures.267 This is useful for linear algebra and other math–related routines found in games. Better yet, we might instead rely on an architecturally agnostic approach by using GCC’s built–in vector extensions.268

11.2 Coding Standards Try to abide by the project’s coding standards. It is easier to adapt to a new coding standard when applied uniformly than for everyone to apply their own. Source code is easier to read when it appears as though only one person wrote it no matter how many actually did.

Use the following conventions whenever working in C++ or in whatever carries over to shaders, scripts, and other languages we depend. These are guidelines and not written in stone, so use your common sense and break them whenever you need to.

11.2.1 Declarations and Definitions

▷ All classes should be defined in their own header file. The only exception is for small trivial classes which are meaningful only in the context of a parent class through aggregation or composition design patterns.

▷ Class method declarations in the class header should be listed in alphabetical order relative to its siblings of the same access rights. So sort protected, public, and private methods within themselves, but not globally. In the case of constructors and deconstructors, place these at the beginning and ends respectively.

267 See the xmmintrin.h header which ships with the GNU Compiler Collection. 268 Free Software Foundation. Using Vector Instructions through Built-in Functions. Free Software Foundation.

~ 172 ~ ▷ Class method definitions should be provided in the implementation file (*.cpp) listed in alphabetical order with exceptions made for constructors and deconstructors. These should be defined first and last respectively.

▷ Whenever you want a C++ class’s declaration to contain some inline code, leave the class’s declaration as usual in its own header, SomeClass.h, but move the actual inline definitions into a separate header, SomeClass.inl. You can then include the latter into the former after its declaration with the use of an #include . This way you get the benefits of inline methods whenever you need them but without confusing clients of the class in having them do something unusual. They only have to #include as they normally would with any other class. This can make identifying compile time errors easier with some compilers.

11.2.2 Legal Headers (*.h), implementations (*.cpp), and other code, as defined in chapter 12, should have prefixed the following legal notice for engine related code. Adapt the syntax for comments as necessary for the given environment (e.g. shaders, makefiles, etc.).

~ 173 ~ /* AresEngine, a 3D game engine. Copyright (C) 2010-2017 Cartesian Theatre™ .

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see . */

11.2.3 Mathematical

▷ All angles should be calculated in degrees whenever possible. Avoid radians. They are a less “natural” way for a human to think.

▷ All floating point calculations should be done in single precision whenever possible. Single precision is faster, can take up less space, and we usually do not need the extra precision in a game anyways.

11.2.4 Formatting

▷ English should be used for everything non–localized. Source code and other text files should be saved in UTF-8 for maximum portability.

▷ Line breaks should end with a new line control character only. Do not use both a carriage return and a new line as done on some other platforms.

~ 174 ~ ▷ Use spaces and not tabs for indentation. You can use the latter while editing if you like, but please ensure your editor converts them to spaces when saving.

▷ Each level of nesting should be indented by four spaces. The exception to this is when a prefix operator precedes an identifier in which case it should be indented with the identifier beginning at a four space interval.

Good:

float SomeFunction() { int i = 0; ++i; return 1.0f; }

Bad:

float SomeFunction() { int i = 0; ++i; return 1.0f; }

▷ You do not need to indent to accommodate a namespace when an entire source file is enclosed within one. If only part of the source is enclosed in a namespace, then only those parts affected should be indented.

▷ An opening brace appears on the next line as preceding code.

Good:

~ 175 ~ float SomeFunction() { for(int x = 0; x < 100; ++x) { ... } }

Bad:

float SomeFunction() { for(int x = 0; x < 100; ++x) { ... } }

▷ Put spaces around binary operands.

Good:

A = X + Y; if(X == Y) ...

Bad:

A = X+Y; if(X==Y) ...

▷ There is no space between unary operators and the affected variable’s identifier.

~ 176 ~ ▷ When accessing an array, there is no space between the array name and the opening left bracket.

Good:

int n[100]; y = n[3];

Bad:

int n [100]; y = n [3];

▷ The if, for, and while keywords are not followed by a space separating them and the left parenthesis.

Good:

if(x == 4) return;

Bad:

if (x == 4) return;

▷ When declaring variables, align the variable names on the same column evenly divisible by four. The exception is where there is only a single declaration.

Good:

~ 177 ~ const int Count; bool Complete; Thing MainThing;

Bad:

const int Count; bool Complete; Thing MainThing;

▷ When calling a function, definitions and function declarations should have no space between the function name and the following left parenthesis.

Good:

int Add(int a, int b) { ... }

int i = Add(4, 5);

Bad:

int Add (int a, int b) { ... }

int i = Add (4, 5);

▷ When calling a function or making a function declaration, no space appears after the left parenthesis or before the right parenthesis.

~ 178 ~ Good:

foo(x, y); bar(z); baz();

Bad:

foo( x, y ); bar( z ); baz( );

▷ A brace preceding an else keyword appears on a separate line as the else. A statement following an else keyword appears on the following line.

Good:

if(x == 4) { ... } else ++y;

if(x == 4) { ... } else { ... }

Bad:

~ 179 ~ if(x == 4) { ... } else ++y;

if(x == 4) { ... } else ++y;

if(x == 4) { ... } else { ... }

▷ A brace preceding a catch keyword appears on a separate line as the catch.

Good:

try { ... }

catch(Error SomeError) { ... }

▷ A value in a return statement is parenthesized where it contains more than one term.

Good:

~ 180 ~ { return x; } ... { return (a + b); }

Bad:

{ return (x); } ... { return a + b; }

▷ If the body of an if, for, while or similar statement consists of a single statement, the statement does not need to be surrounded by braces.

Good:

if(x == 3) ++x;

11.2.5 Naming

▷ Do not use Hungarian notation. Prefix objects to denote scope only. For example, a member of a global namespace:

g_Wheels

~ 181 ~ Member of a structure or class:

m_Wheels

Static member of a structure or class:

ms_Wheels

▷ Class, structure, and object names should be intuitive. Try to avoid abbreviations. Each word should begin with a capital letter. Brevity of characters for the sake of file size or laziness are not good reasons. Readability is much more important.

Good:

// Class for abstracting a camera interface... class Camera { ... };

// Create a camera... Camera LogitechCamera;

Bad:

class cam { ... };

cam log;

11.2.6 Structure

~ 182 ~ ▷ Source lines should be up to 80 characters long. You may be able to configure your editor to display a margin at this location. If you need to have it longer, do so.

▷ Functions or methods should be broken down into other functions or methods if they get too long.

▷ Use assert() to check your assumptions for things that ought to always be true at runtime. Do not abuse it for situations where it is reasonable a condition could be false, such as a socket connection failure or some file that could not be opened.

▷ Follow the GNU Coding Standards as much as reasonably possible – save the code formatting points made in this handbook. There is a great deal of wisdom in it.

▷ A comment which indicates a task which still needs to be done can look like this:

// TODO: Check portability here...

11.2.7 Comments

▷ All comments should be written in English. This is not because we are Anglophiles, but because most programmers can read English. If you cannot do that, write them as best you can and have someone help you translate.

▷ Comments should begin with a single space followed by a capital letter and then end with a trailing ellipse.

Good:

// Load the image... GrayImage = cvLoadImage(Path.mb_str(), CV_LOAD_IMAGE_GRAYSCALE);

Bad:

GrayImage = cvLoadImage(Path.mb_str(), CV_LOAD_IMAGE_GRAYSCALE);//load image

~ 183 ~ ▷ The farther left the comment, the higher the level of abstraction describing what it is that you are trying to accomplish. The farther right, the more detailed the explanation of how it is that you intend to accomplish something. It should be possible in many cases to strip away all the code, except the comments, and still understand what it is that you were trying to do.

Before:

// Analyze single image... void AnalysisThread::AnalyzeImage(wxString Path) { // Variables... IplImage *GrayImage = NULL; wxString TempString;

// Reset the tracker, if not already... Frame.Tracker.Reset(0);

// Load the image... GrayImage = cvLoadImage(Path.mb_str(), CV_LOAD_IMAGE_GRAYSCALE);

// Failed to load media... if(!GrayImage) { // Alert... wxLogError(wxT("Unable to load image."));

// Abort... return; }

// Feed into tracker... Frame.Tracker.Advance(pGrayImage);

// Cleanup gray image... cvReleaseImage(&GrayImage); }

Stripped:

~ 184 ~ // Analyze single image...

// Variables...

// Reset the tracker, if not already...

// Load the image...

// Failed to load media...

// Alert...

// Abort...

// Feed into tracker...

// Cleanup gray image...

▷ A single blank line should appear between each pair of functions or methods and again at the end of the file.

▷ Do not use a blank line after an opening brace or before a closing brace.

▷ Do not use duplicate blank lines.

11.2.8 Integrated Development Environments (IDEs) You are welcome to use whatever plain text editor or IDE you are comfortable with, provided it does not require non–standard IDE–specific project files to pollute the repository’s source tree or mangle existing files. If you want to use such an IDE, do not commit the project files into the repository or alter the build environment in any way.

11.3 AresEngine’s Architecture

A game engine is the “operating system” of a game. Our game engine is the AresEngine. Although designed with this project in mind, it is kept architecturally general enough whenever possible to be reusable. For an excellent and comprehensive coverage of the field of game engines, see Jason Gregory’s book.269

269 Gregory, Jason. Game Engine Architecture. A K Peters. 2009.

~ 185 ~ Our engine is divided up into many subsystems as is common of game engines. Each one is responsible for a given logical task. These include audio, input, graphical user interface, physics, resource management, simulation, and others. Umbrello was used to design many of these systems.

The following diagrams were pulled from the AresEngine’s Umbrello project file automatically at the time this handbook was typeset on May 31, 2017 from Bzr revision 5 7 2. The version used was Umbrello UML Modeller 2.25.70-3cea5cc.

Figure 11.5 Some early architectural sketches with the help of Jason’s book.

11.3.1 Engine This diagram captures the engine at the highest level of abstraction and provides a general overview of all its constituent subsystems.

~ 186 ~ Ares::PhysicsManager

#m_PhysicsManager

Ares::ConfigurationManager

#m_ConfigurationManager

Ares::ResourceGroupManager

#m_ResourceGroupManager

SubsystemType 0..1 Ares::SubsystemManagerBase # m_FriendlyName : const std::wstring Ares::Engine #m_GooeyManagerAres::GooeyManager # m_ArgumentCount : const int # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» # m_Arguments : const char ** + GetFriendlyName() : const std::wstring & # m_AudioManager : Ares::AudioManager * = NULL + Initialize() # m_ConfigurationManager : Ares::ConfigurationManager * = NULL + IsInitialized() : bool 1 0..1 + Shutdown() # m_ConsoleManager : Ares::ConsoleManager * = NULL Ares::PackageManager # ~SubsystemManagerBase() «virtual» # m_DebugDrawManager : Ares::DebugDrawManager * = NULL #m_PackageManager # m_EventManager : Ares::EventManager * = NULL # m_GooeyManager : Ares::GooeyManager * = NULL # m_HumanInterfaceManager : Ares::HumanInterfaceManager * = NULL # m_Initialized : bool = false Ares::DebugDrawManager # m_LogManager : Ares::LogManager * = NULL #m_DebugDrawManager # m_OgreRoot : Ogre::Root * = NULL # m_PackageManager : Ares::PackageManager * = NULL See Ogre::PlatformInformation for # m_PhysicsManager : Ares::PhysicsManager * = NULL implementing # m_ResourceGroupManager : Ares::ResourceGroupManager * = NULL # m_ScriptManager : Ares::ScriptManager * = NULL #m_HumanInterfaceManagerAres::HumanInterfaceManager # m_SubsystemStack : std::stack + Engine(ArgumentCount : const int, Arguments : const char **) «constructor» # CheckPlatformAssumptions() SingletonType + Execute(MainScript : undef) Ares::ExplicitSingleton + GetArgumentCount() : int - ms_Instance : SingletonType * = NULL + GetArguments() : const char ** # ExplicitSingleton() «constructor» + GetAudioManager() - ExplicitSingleton(OtherSingleton : const Ares::ExplicitSingleton &) «constr + GetConfigurationManager() Ares::ScriptManager + CreateSingleton() + GetEventManager() #m_ScriptManager + DestroySingleton() + GetGooeyManager() + GetSingleton() + GetHumanInterfaceManager() + GetSingletonPointer() : SingletonType * + GetLogManager() + IsInstantiated() : bool + GetPhysicsManager() - operator=(RightSide : const Ares::ExplicitSingleton &) + GetResourceGroupManager() # ~ExplicitSingleton() «deconstructor» + GetRoot() : Ogre::Root * # InitializeSubsystem(Manager : Ares::SubsystemManagerBase &) + IsInitialized() : bool # PrintBanner() # SignalHandler(Signal : const int) «signal_handler» #m_EventManagerAres::EventManager + ~Engine() «deconstructor»

#m_AudioManager

Ares::AudioManager

SingletonType

Ogre::Singleton 0..1 #m_LogManager

Ares::LogManager

Figure 11.6 AresEngine high level overview. 11.3.2 Artificial Intelligence This diagram shows the artificial intelligence classes, though not enough to warrant its own subsystem (yet). It contains an implementation of the A* search strategy algorithm. The solution here is modelled as a pattern for an abstract base class called AStarBase. The h(x) heuristic function is implemented via an override on a context specific superclass. This later abstract base class is deliberately kept general so as to not be limited to searching for a solution in a spatial sense, but in any representable solution space. That might be time, language, or something else we need later.

~ 187 ~ Ares::FiniteStateMachine # m_States : std::vector «datatype» # m_CurrentState : Ares::FiniteState * = NULL «datatype» typename std::set::iterator # m_NameMap : std::map typename std::set::iterator + FiniteStateMachine() «constructor» + AddState(Name : const std::wstring &) + ChangeState(Name : const std::wstring &) «typedef» «typedef» + IsState(Name : const std::wstring &) : bool Ares::AStarBase::ClosedListIterator Ares::AStarBase::SolutionStateIterator + Update() + ~FiniteStateMachine() «deconstructor» 1

Agent_t State_t «typedef» Cost_t Ares::AStarBase::OpenListIterator Ares::AStarBase Extends a - m_SolutionStateList : std::vector machine state to + AStarBase() «constructor» be Lua driven - CostToGoalHeuristic(Agent : undef, From : undef, Goal : undef) «virtual» whereby Begin(), - CostToNeighbour(Agent : undef, From : undef, Neighbour : undef) «virtual» End(), and - GetNeighbours(State : undef, out Total : undef) «virtual» - Reset() + Search(Agent : undef, Start : undef, Goal : undef) : bool + Solution() + ~AStarBase() «virtual» #m_CurrentState 0..1 *#m_States An implementation of the A* search Ares::FiniteState strategy algorithm. See Computational # m_Name : std::wstring Intelligence: A Logical Approach (Poole et + FiniteState() «constructor» Ares::AStarBase::Node al., 1998) for an explanation on the + Begin() «virtual» Ares::ScriptedFiniteState - m_State : undef = State algorithm. The problem here is represented + End() «virtual» - m_CostFromStart : undef = 0 as a pattern for an abstract base class + GetName() : const std::wstring & + Begin() - m_CostToGoal : undef = 0 called AStarBase. The h(x) heuristic + operator<(OtherState : const Ares::FiniteState &) : bool + End() - m_pParentNode : const Ares::AStarBase::Node * = NULL function is implemented via an override a + Update() «virtual» + Update() + Node(State : undef) «constructor» context specific superclass. The abstract + ~FiniteState() «virtual» + GetCostFromStart() 2 base class is deliberately kept general so + GetState() : undef as to not be limited to searching for a + operator<(RightSide : undef) : bool + operator=(RightSide : undef) { ordered, TotalCost_i < TotalCost_(i+1) } + GetTotalCost() + GetParent() : const Ares::AStarBase::Node * + SetCostFromStart(NewCostFromStart : undef) + SetCostToGoal(NewCostToGoal : undef) + SetParent(pParent : const Ares::AStarBase::Node *) Begin() invoked when machine transitions to state, End() invoked when 1 transitioning away, and Update() «functor» Ares::AStarBase::NodeLessThanComparable + operator(First : undef, Second : undef) : bool Figure 11.7 Engine’s artificial intelligence facilities. 11.3.3 Audio The AudioManager subsystem is responsible for managing audio related tasks. Audio playback is divided into streaming and static audio sources.

Streaming sources need to be continuously updated by loading new data from disk, decompressing, and then playing them. This is usually music, a narrative, or anything longer than a few seconds.

Static sources are smaller and only need to be played once before being freed. These are short sound effects played repetitively and lasting no longer than a few seconds.

Decompression is done through an appropriate subclass of an Ares::AudioDecoderBase abstract class, instantiated via the Ares::AudioDecoderFactory class. Most decoding is done through a subclass of the aforementioned via SDL_audio. Playback is done through OpenAL for three–dimensional spatialized audio whenever available.

Currently there are only two ways of getting surround sound from a computer to any kind of home theatre setup. One way is the analog method with a wire for every speaker connected to the user’s sound card. This makes a mess, but works for many. The programmer does not really have to do much work to get this working because the drivers do the signal routing.

A better way is the digital method. This works by passing a compressed digital stream unmodified from the source medium out to specialized dedicated hardware, usually in the form of a digital home theatre receiver (e.g. Logitech Z–5500). The receiver decodes a superior signal compared to the analog method. It then amplifies the signal before sending it out on its way to the user’s speakers.

But there is a problem to take advantage of this latter digital method with Avaneya. At present nearly every digital home theatre receiver supports two very common digital surround sound compressed formats. One of these is Dolby Digital, sometimes called AC–3 or A52, and the other is the Digital Theatre System or DTS. Both are patent encumbered. We need to be careful how we encode to these bitstreams.

The libasound_module_pcm_a52.so library is a plugin for ALSA and therefore only available on supported platforms (usually GNU/Linux). It is a frontend for for an encoder in libav. The latter provides a way to encode a digital surround sound stream in A52 format to a pass–through device (e.g S/PDIF). The user’s home theatre receiver then takes over from there. The difficult is in this libasound_module_pcm_a52.so library sometimes not being available in most distributions that provide pre–compiled packages of ALSA. This may be due to the aforementioned licensing issue.

What we need to do is several things in order to make A52 output work. First we need to ensure at runtime that the user has the libasound2-plugins package installed. This provides the needed libasound_module_pcm_a52.so library. Secondly we need to either verify that the user’s libav was built with the A52 encoder enabled, or fallback to one we ship ourselves somehow.

Whatever we decide to do we need to make sure that this feature is disabled by default due to Dolby’s licensing requirement. We can leave it as an option for the user to enable if they know that

~ 188 ~ software patents are not valid in their locality (e.g. Europe), but we still need to balance several constraints. These include legalities, reasonable expectations and ease of use for the user, and ease of maintenance on our part. Probably the best way to do this is to provide all of this functionality separately and isolated within an optional and properly disclaimered avaneya-restricted package.

If we can get A52 working there is no reason to spend time on redundant DTS support as well since they both do the same thing. Where one is supported on a given receiver, nearly without exception so is the other.

~ 189 ~ SubsystemType Ares::SubsystemManagerBase # m_FriendlyName : const std::wstring Ares::ResourceGroupManager # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» + GetFriendlyName() : const std::wstring & + ResourceGroupManager() «constructor» + Initialize() SingletonType + ~ResourceGroupManager() «deconstructor» + IsInitialized() : bool Ares::ExplicitSingleton + Shutdown() - ms_Instance : SingletonType * = NULL # ~SubsystemManagerBase() «virtual» # ExplicitSingleton() «constructor» - ExplicitSingleton(OtherSingleton : const Ares::ExplicitSingleton &) «constructor» + CreateSingleton() + DestroySingleton() + GetSingleton() + GetSingletonPointer() : SingletonType * + IsInstantiated() : bool - operator=(RightSide : const Ares::ExplicitSingleton &) # ~ExplicitSingleton() «deconstructor»

Ogre::ResourceManager Ogre::Resource # createImpl(Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, IsManual : const bool, Loader : Ogre::ManualResourceLoader *, Parameters : const ParameterList *) # calculateSize() : size_t -m_ResourceMap* # loadImpl() # unloadImpl() 1 -m_Creator

_registerResourceManager()

Ares::ConfigurationManager

Ares::StaticAudioBuffer # m_Buffer : ALuint = static_cast(AL_INVALID) # m_Lock : Mutex «mutable» + StaticAudioBuffer(Creator : Ogre::ResourceManager *, Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, IsManual : bool = false, Loader : Ogre::ManualResourceLoader * = 0) «constructor» Ares::StaticAudioSource # calculateSize() : size_t 0..1#pRep 1 # m_StaticAudioBufferPtr : StaticAudioBufferPtr + GetName() : ALuint «datatype» #m_StaticAudioBufferPtr 11 typedef Ogre::SharedPtr StaticAudioBufferPtr + StaticSourceBase(Creator : Ogre::ResourceManager *, Name : const Ogre::String &, Handle : Ogre::ResourceHandle, G # loadImpl() # calculateSize() : size_t # unloadImpl() # loadImpl() + ~StaticAudioBuffer() «deconstructor» + Play() # unloadImpl() + ~StaticAudioSource() «deconstructor»

<< query config >> * This decoupling of the static audio buffer from the static audio source allows for a useful optimization. Multiple static audio sources can be allocated, each using the same static audio

1

Ares::StaticAudioSourceManager + StaticAudioSourceManager() «constructor» Ares::StaticAudioBufferManager # createImpl(Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, . : <...>) + StaticAudioBufferManager() «constructor» + ~StaticAudioSourceManager() «virtual» 1 # createImpl(Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, . : <...>) #m_StaticAudioBufferManager1 + ~StaticAudioBufferManager() «deconstructor» Ares::AudioManager #m_StaticAudioSourceManager # m_AudioContext : ALCcontext * = NULL # m_AudioDecoderFactory : AudioDecoderFactory # m_AudioDevice : ALCdevice * = NULL # m_AvailableSourcesPool : std::set Ares::AudioSourceBase # m_Extensions : std::set # m_Decoder : Ares::AudioDecoderBase * = NULL # m_Listener : AudioListener + AudioSourceBase(Creator : Ogre::ResourceManager *, Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, IsManual : bool = false, Loader : Ogre::ManualResourceLoader * = 0) «constructor» # m_Lock : Mutex «mutable» + GetDecoder() # m_Renderer : std::wstring + GetVolume() : float # m_StaticAudioBufferManager : StaticAudioBufferManager + IsPlaying() : bool # m_StaticAudioSourceManager : StaticAudioSourceManager Ares::StreamingAudioSource + Play() «virtual» # m_StreamingAudioSourceManager : StreamingAudioSourceManager # m_Lock : Mutex + SetAmbient() + AudioManager() «constructor» # m_Buffers : std::vector + SetLoop(Loop : const bool = true) # m_BufferSize : uint32_t = 0 + AllocateSource(Source : const ALuint) Ares::StreamingAudioSourceManager + SetSpatialPosition(Position : const Ares::Vector3 &) + CheckRenderer(ErrorMessage : const std::wstring &) # m_RequestedBufferCount : uint32_t + SetVolume(Volume : const float) + StreamingAudioSourceManager() «constructor» + FreeSource(Source : const ALuint) + StreamingAudioSource(Creator : Ogre::ResourceManager *, Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, IsManual : bool = false, Loader : Ogre::ManualResourceLoader * = 0) «constructor» + Stop() # createImpl(Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String1 &, . : <...>) * + GetListener() + CalculateRequiredBufferSizeByTime(BufferCount : const uint32_t, Format : ALenum, QueueTotalSeconds : const float) : uint32_t + ~AudioSourceBase() «virtual» + ~StreamingAudioSourceManager() «virtual» + GetRenderer() : const std::wstring & #m_StreamingAudioSourceManager # calculateSize() : size_t 1 + GetStaticAudioBufferManager() # LoadBuffer(Buffer : const ALuint) : bool + GetStaticAudioSourceManager() # loadImpl() 0..1#m_Decoder + GetStreamingAudioSourceManager() + Play() # unloadImpl() Ares::AudioDecoderBase + GetVendor() : const std::wstring - m_ActualFormat : ALenum = 0 + GetVersion() : const std::wstring + Update() + ~StreamingAudioSource() «deconstructor» - m_ActualFrequency : ALsizei = 0 + IsContextExtensionPresent(ExtensionName : const ALCchar *) : bool Decoder factory creates a suitable decoder - m_DataStreamPtr : Ogre::DataStreamPtr + IsExtensionPresent(ExtensionName : const ALchar *) : bool object for clients, given an audio file - m_DesiredFormat : ALenum = 0 + RestartRenderer() extension. Supports all those formats - m_DesiredFrequency : ALsizei = 0 + StopAllSounds() provided by SDL_sound. - m_FrameCount : uint32_t = 0 + StopDeskopMediaPlayer() # m_Lock : Mutex «mutable» + Update() Constructor queries SDL_sound for + AudioDecoderBase() «constructor» + ~AudioManager() «deconstructor» supported extensions and adds those to its When a buffer is queued onto a «datatype» + Close() «virtual» factory to map to that decoder. source, the buffers should give a typedef Ares::Handle StreamingAudioSourceHandle + Decode(out DecompressedSamples : ALvoid *, Size : const ALsizei) : bool «virtual» + GetActualBitsPerFrame() : ALsizei total play time of one to two Constructor calls SetDesired() format by querying + GetActualChannelCount() : ALsizei seconds before it all runs out, config. #m_AudioDecoderFactory and approximately 1/4th of a + GetActualFormat() : ALenum Ares::AudioDecoderFactory + GetActualFrameSize() : ALsizei second between each buffer. Many query methods have their values as derived from + GetActualFrequency() : ALsizei + AudioDecoderFactory() «constructor» the object attributes. e.g. bits per sample can be + GetDesiredChannelCount() : ALsizei + GuessRequiredDecoderType(Name : const std::wstring &, Group : const std::wstring &) deduced from format. 1 + GetDesiredFormat() : ALenum + GetDesiredFrameSize() : ALsizei OpenAL doesn't distinguish between a frame and a + GetDesiredFrequency() : ALsizei sample, so we drop the latter nomenclature entirely. A + GetDesiredBitsPerFrame() : ALsizei 16-bit stereo audio file would consist of a sequence of + GetDataStreamPtr() frames where each frame would be 32-bits such that it + GetDecompressedSize() : ALsizei #m_Listener + GetFrameCount() : ALsizei + GetTotalTime() Frame size is size of a single sample multiplied by the + IsOpened() : bool channel count (ie. channels * bits / 8; which would be 4 for + Open(Name : const std::wstring &, Group : const std::wstring &) «virtual» 16-bit stereo, or 1 for 8-bit mono, for example). + Restart() «virtual» <> ProductBaseType: Ares:: AudioDecoderBase> + SetActual(Format : const ALenum, Frequency : const ALsizei) 1 Format is an enum, such as AL_FORMAT_STEREO16. In other + SetDesired(Format : const ALenum, Frequency : const ALsizei) words, channel count and bits per sample, but not frequency. + ~AudioDecoderBase() «virtual»

Ares::SDLAudioDecoder «enum» Ares::AudioListener # m_Sample : Sound_Sample * = NULL SDL_audio can read and decode formats in ProductKeyType OpenAL Supported Formats (ALenum) + SDLAudioDecoder() «constructor» signed / unsigned as well as big / little endian. + AudioListener() «constructor» ProductBaseType AL_FORMAT_MONO8 + Close() OpenAL, on the other hand, always expects + GetMasterVolume() : float Ares::MultiFactory AL_FORMAT_MONO16 + GetOrientation(out Up : const Ares::Vector3 &, out Forward : const Ares::Vector3 &) - m_FactoryMap : std::map + Decode(out DecompressedSamples : ALvoid *, Size : const ALsizei) : bool signed data for 16-bit, or unsigned for 8-bit, and Support is in place or planned for the following sound AL_FORMAT_STEREO8 + GetPosition() : undef + Create(ProductKey : const ProductKeyType &) : ProductBaseType * + Open(Name : const std::wstring &, Group : const std::wstring &) in platform's native endianess. Both, I believe, formats: -m_DataStreamPtr AL_FORMAT_STEREO16 + GetVelocity() : undef + IsRegisteredClass(ProductKey : const ProductKeyType&) : bool + Restart() - .WAV (Microsoft WAVfile RIFF data, internal.) + SetMasterVolume(MasterVolume : const float) + RegisterClass(ProductKey : const ProductKeyType &) : bool + ~SDLAudioDecoder() «deconstructor» - .VOC (Creative Labs' Voice format, internal.) + SetOrientation(Up : const Ares::Vector3 &, Forward : const Ares::Vector3 &) + ~MultiFactory() «virtual» - .MP3 (MPEG-1 Layer 3 support, via libmpg123.) + SetPosition(Position : const Ares::Vector3 &) - .MID (MIDI music converted to Waveform data, internal.) + SetVelocity(Velocity : const Ares::Vector3 &) - .MOD (MOD files, via MikMod and ModPlug.) - .OGG (Ogg files, via Ogg Vorbis libraries.) - .SPX (Speex files, via libspeex.) - .SHN (Shorten files, internal.) - .RAW (Raw sound data in any format, internal.) - .AU (Sun's Audio format, internal.) - .AIFF (Audio Interchange format, internal.) Ogre::DataStreamPtr - .FLAC (Lossless audio compression, via libFLAC.) Figure 11.8 The audio subsystem. 11.3.4 Configuration The ConfigurationManager subsystem is responsible for storing all user configuration. The Load() method reads all configuration variables from disk and then adds variables from the command line as well, in that order.

Configuration variables passed over the command line are set as non–archivable. A non–archivable configuration variable is one that is not persistent (saved to disk).

Probably the bulk of this subsystem could be implemented in Lua because of its excellent handling for databases.

~ 190 ~ Ares::ConfigurationManager # m_Lock : Mutex «mutable» SubsystemType + ConfigurationManager() «constructor» Ares::SubsystemManagerBase + LinkVariable(Name : const std::wstring &) # m_FriendlyName : const std::wstring + Load() # SubsystemManagerBase(FriendlyName : const std::wstring &) «explic + operator()(Name : const std::wstring &) + GetFriendlyName() : const std::wstring & + Save() + Initialize() + ~ConfigurationManager() «deconstructor» + IsInitialized() : bool 1 + Shutdown() # ~SubsystemManagerBase() «virtual»

«AresPak» AresCore::Configuration.lua + ConfigurationTable : var + GetVariableValue(Name : var) : var + Load(Path : var) + Save(Path : var) + SetVariableValue(Name : var, Value : var)

Load() reads all configuration variables from disk, and then adds variables from command line as well, in that order. Latter settings, if read,

1 «friend ConfigurationManager» Ares::ConfigurationVariable Ares::ScriptManager # m_Name : const std::wstring Ares::Script # ConfigurationVariable(Name : const std::wstring &) «constructor» + Delete() + GetBooleanValue(Default : const bool) : bool + GetHelp() : const std::wstring + GetNumberValue(Default : const double) : double + GetStringValue(Default : const std::wstring &) : std::wstring + SetBooleanValue(Value : const bool) + SetNumberValue(Value : const double &) + SetStringValue(Value : const std::wstring &)

Figure 11.9 The configuration subsystem. 11.3.5 Console The in–game console allows users to access aspects of the game engine at runtime. This is useful for debugging or other purposes. The actual console commands can be implemented in Lua.

~ 191 ~ SubsystemType Ares::SubsystemManagerBase Ares::ScriptManager # m_FriendlyName : const std::wstring # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» + GetFriendlyName() : const std::wstring & + Initialize() + IsInitialized() : bool + Shutdown() # ~SubsystemManagerBase() «virtual»

Ogre::Root

addFrameListener()

Ares::ConsoleManager # CursorBlinkTime : const float = 0.5f # HistoryLimit : const uint8_t = 32 # m_CurrentLine : std::wstring Ares::EventHandler # m_History : std::list # m_Lock : Mutex = mutable # m_PromptPrefix : const std::wstring = L"> " # m_Visibility : float = 0.0f + ConsoleManager() «constructor» + frameEnded(FrameEndedEvent : const Ogre::FrameEvent &) : bool + frameStarted(FrameStartedEvent : const Ogre::FrameEvent &) : bool Ogre::FrameListener + GetCurrentLine() : std::wstring & + frameEnded() «virtual» # GetCurrentLineCompletion() : std::vector + frameRenderingQueued() «virtual» + GetPromptPrefix() : const std::wstring & + frameStarted() «virtual» + IsVisible() : bool + ~frameListener() «virtual» + OnEvent(IncomingEvent : Ares::Event &) : bool + RunCommand(Command : const std::wstring &) + SetVisible(Visible : const bool = true) + ~ConsoleManager() «deconstructor»

RunCommand() Registered to receive and consume LogicalGameFunction events for «AresPak» ToggleConsole, as well as consuming Ares::Script AresCore::Console.lua keyboard events when the console is # ConsoleCommandTable : var + Initialize() + RunConsoleCommand(Line : var) Figure 11.10 The console subsystem. 11.3.6 Design Patterns This diagram contains a number of common design patterns familiar to many software engineers, such as the singleton and multi–factory.

On the subject of the singleton there seems to be two kinds of design patterns in the literature that are not distinguished but probably should be. There is the kind whose instantiation is implicit – meaning you don’t care when it is created, just as long as it is there when you need it and that there is only at most one of them. We will call this the implicit singleton. Most implementations use lazy instantiation.

The second kind, like the first, only ever has one instance. The difference is that you can control when it is instantiated and destroyed explicitly. We refer to this as the explicit singleton. This is useful for game engine subsystems because C++ does not define the order in which constructors for global objects are invoked across translation units. This is very important since the order of subsystem initialization cannot be random. Consider that the resource subsystem must be available before the audio subsystem because the latter depends on the former.

~ 192 ~ SingletonType Bridge pattern (also known Ares::ExplicitSingleton There seems to be two kinds of singleton as Handle / Body pattern). - ms_Instance : SingletonType * = NULL design patterns in the literature that aren't Ogre has a parameterized # ExplicitSingleton() «constructor» distinguished, but should be. There is the kind SharedPtr class, but this - ExplicitSingleton(OtherSingleton : const Ares::ExplicitSingleton &) «constructor» whose instantiation is implicit, meaning you might be useful too + CreateSingleton() don't care when it is created, just as long as it + DestroySingleton() is there when you need it and that there is only + GetSingleton() at most one of them ever at a given time. I'll * 1 + GetSingletonPointer() : SingletonType * call this the implicit singleton and it typically ReferenceCountableDerivedType «heap allocated» + IsInstantiated() : bool uses lazy instantiation. Ares::Handle Ares::ReferenceCountable - operator=(RightSide : const Ares::ExplicitSingleton &) #m_ReferenceCountable # m_Lock : Mutex «mutable» - m_Lock : Mutex «mutable» # ~ExplicitSingleton() «deconstructor» The second kind, like the first, only ever has << via superclass derived from Asset >> # m_ReferenceCountable : Type * «mutable» - m_ReferenceCount : int = 0 one instance, but you control when you want it + Handle() «constructor» - m_Shareable : bool = true instantiated and deconstructed explicitly. I'll + Handle(ReferenceCountable : const Type *) «constructor» - m_NotifyOrphanedAt : const int call this the explicit singleton. This is useful for + Handle(RightSide : const Ares::Handle &) «explicit» # ReferenceCountable(OrphanAt : const int) «constructor» engine subsystems since C++ doesn't define + operator<(RightSide : const Handle &) : bool # ReferenceCountable(RightSide : const Ares::ReferenceCountable &) « + operator==(RightSide : const Handle &) : bool + AddReference() + operator!() : bool + GetReferenceCount() : int + operator*() : Type & + IsShareable() : bool + operator->() : Type * + IsShared() : bool + operator=(RightSide : const Ares::Handle &) # NotifyOrphaned() «virtual» + ~Handle() «deconstructor» + operator=(RightSide : const Ares::ReferenceCountable &) + RemoveReference() SubsystemType + SetUnshareable() Ares::SubsystemManagerBase + Unique() : bool # m_FriendlyName : const std::wstring # ~ReferenceCountable() «deconstructor» # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» + GetFriendlyName() : const std::wstring & + Initialize() + IsInitialized() : bool + Shutdown() # ~SubsystemManagerBase() «virtual»

«interface» Ares::SingleFactoryBase + Create() : void * «virtual» Factory method design pattern. See p107 of the Gang of + ~SingleFactoryBase() «virtual» Four. Difference is the client can choose what type to use for * -m_FactoryMap indexing a product (e.g. string, enum, etc.).

1 ProductKeyType ProductBaseType Ares::MultiFactory - m_FactoryMap : std::map + Create(ProductKey : const ProductKeyType &) : ProductBaseType * ProductType + IsRegisteredClass(ProductKey : const ProductKeyType&) : bool Ares::SingleFactory << RegisterClass >> + RegisterClass(ProductKey : const ProductKeyType &) : bool «datatype» + Create() : void * «virtual» + ~MultiFactory() «virtual» typedef map NameValuePairList

Ogre::StringInterface Reflection design pattern inspired by Ogre's

<< friend class Ares::StringInterface >> «datatype» typedef map ParameterDictionaryMap

Ogre::ParameterDictionary

1 1

«datatype» typedef map ParameterCommandMap

#m_ParameterCommands* «datatype» Ogre::ParameterCommand typedef vector ParameterList

#m_ParameterDefinitions* Ogre::ParameterDefinition

Figure 11.11 Useful design patterns. 11.3.7 Events The EventManager is responsible for intercommunication between various engine components and scripts.

An event handler can either contain an Ares::EventHandler class, or it can derive from one and override the OnEvent() method. It registers interest in one or more events via the Register() method like so.

// Bind the some_event to our event handler... m_EventHandler.Register("some_event");

Next, to create and enqueue an event, one would do as follows:

// Create a some_event event... Ares::Event SomeEvent("some_event");

// Enqueue the event... Ares::EventManager::GetSingleton().Enqueue(SomeEvent);

Every frame the EventManager::DispatchEvents() method is called to pump the message queue. It will get an event from the internal priority queue that is due for processing. Once an event is fetched, it invokes Event.Dispatch() to pass it to all registered handlers. The handler may do whatever they want when that event is triggered. This includes consuming the event or propagating it.

Events.xsd defines an XML schema that the engine uses at runtime to check event types for syntactical correctness. The actual event types are defined in Events.xml. This latter file contains a list of built–in event types which are engine specific and Avaneya agnostic. They are general purpose events and include things for input devices and the player’s desktop environment’s window manager.

~ 193 ~ SubsystemType «datatype» Ares::SubsystemManagerBase td::multimap # m_FriendlyName : const std::wstring # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» + GetFriendlyName() : const std::wstring & + Initialize() + IsInitialized() : bool + Shutdown() Ares::Event # ~SubsystemManagerBase() «virtual» # m_Type : std::wstring const «typedef» # m_RequestedDeliveryTime : float = 0.0f Ares::EventManager::EventDispatchTable # m_Priority : uint8_t = 0 # m_DebugHandlers : std::vector #m_EventDispatchTable # m_Sender : const std::wstring + Event(Name : const std::wstring &, Sender : const std::wstring &, DeliveryTimeRequested : const float = 0 + Enqueue() + DebugNoteHandler(Handler : const Ares::EventHandler &) «debug» + GetRequestedDeliveryTime() : float 1 * + GetType() Ares::EventManager + operator<(RightSide : Ares::Event &) : bool # m_EventDispatchTable : EventDispatchTable { Event.m_Type ∈ EventManager.m_PermittedTypes#m_Queue } { ordered, priority_queue } + SetPriority(Priority : const uint8_t) # m_Lock : Mutex «mutable» # m_Queue : std::priority_queue # m_TypeDictionary : std::set + EventManager() «constructor» + AddType(Type : const Ares::Event &) : bool + Dispatch(CurrentTime : const float) Larger priority number means higher + Enqueue(NewEvent : const Ares::Event &) + GetQueueSize() : uint32_t + IsAnythingRegistered(Handler : const Ares::EventHandler &) : bool + IsQueueEmpty() : bool + IsRegistered(Handler : const Ares::EventHandler &, Type : const std::wstring &) : bool Ares::EventHandler + IsType(EventType : const std::wstring &) : bool + IsAnythingRegistered() : bool # PeekNext() + IsRegistered(Type : const std::wstring &) : bool # PollAndEnqueueSystem(CurrentTime : const float) 1 * + OnEvent(IncomingEvent : Ares::Event &) : bool «virtual» + RegisterEvent(Handler : const Ares::EventHandler &, Type : const std::wstring &) + Register(Type : const std::wstring &) + RegisterEventTypesFromFile(Name : const std::wstring &, Group : const std:;wstring &) : size_t #m_EventDispatchTable+ Unregister(Type : const std::wstring &) # RemoveNext() + UnregisterAll() Ogre::StringInterface + RemoveType(Type : const std::wstring &) : bool + ~EventHandler() «virtual» + UnregisterAllEvents(Handler : const Ares::EventHandler &) + UnregisterEventType(Handler : const Ares::EventHandler &, Type : const std::wstring &) + UnregisterEventTypesFromFile(Name : const std::wstring &, Group : const std:;wstring &) : size_t + Update(CurrentTime : const float) + ~EventManager() «deconstructor»

Event manager explanation: ======

Ares::Entity (1) An event handler can either contain an Ares::EventHandler class, or can derive from it and override OnEvent(). It registers interest in one or more events via + OnEvent(IncomingEvent : const Ares::Event &) : bool «virtual / re-entrant» Register():

EventHandler::Register("some_event");

(2) To create and enqueue an event: Ogre::Entity Event SomeEvent("some_event"); // Create... EventManager::GetSingleton().Enqueue(SomeEvent); // Enqueue...

(3) EventManager's logic... See Documentation/Engineer/Tables/Events.xml for a list of all stock engine DispatchEvents();

Figure 11.12 The event subsystem. 11.3.8 File System Accessing files on disk for textures, shaders, scripts, models, sounds, and the like requires an intermediary in most engines. This is because the file system exposed to a game engine is typically a virtual file system with the files likely stored inside of special custom archives.

You might be wondering why this is necessary, as opposed to simply exposing “naked” files directly through the platform’s native file system. There are a number of benefits to using a custom archive format, such as a zip. It can be easier to distribute a few files containing many, than many to the end user. As a single file potentially containing many, file seek, open, and load times are reduced. Providing a layer of abstraction between the actual raw data and the client that requires it allows us to decompress the payload on the fly. This results in a smaller file which means a faster disk to memory transfer. Remember that the disk is slow but the CPU is much faster.

~ 194 ~ SubsystemType Ares::SubsystemManagerBase SingletonType # m_FriendlyName : const std::wstring Ogre::Singleton # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» + GetFriendlyName() : const std::wstring & + Initialize() + IsInitialized() : bool + Shutdown() # ~SubsystemManagerBase() «virtual»

Ogre::DataStream Ares::PackageManager 1 1 Ogre::ArchiveManager + close() «virtual» # m_PackageFactory : PackageFactory addArchiveFactory(m_PackageFactory); Ogre::Archive + eof() : bool «virtual» + PackageManager() «constructor» + read(Buffer : void *, Bytes : const size_t) : size_t «virtual» + ~PackageManager() «deconstructor» + seek(Position : const size_t) «virtual» 1 + skip(count : const long) «virtual» + tell() : size_t «virtual»

Constructor / deconstructor must register / unregister the Ares::PackageFactory archive codec

1 0..1 Ares::PackageDataStream Ogre::DataStreamPtr #pRep # m_EbmlStream : libebml::EbmlStream * = NULL 1 + PackageDataStream(Name : const Ogre::String &) «constructor» + close() + CreateSDLInterface() : SDL_RWops Ares::Package::open() + eof() : bool 1 + read(Buffer : void *, Bytes : const size_t) : size_t Ogre::ArchiveFactory + seek(Position : const size_t) Ares::Package + skip(count : const long) # m_Lock : Mutex «mutable» + tell() : size_t + Package(Name : const Ogre::String &, ArchiveType : const Ogre::String &) «constructor» + write(Buffer : const void *, Bytes : const size_t) : size_t + create(FileName : const Ogre::String &) : Ogre::DataStreamPtr + ~PackageDataStream() «deconstructor» + exists(FileName : const Ogre::String &) : bool 1 + find(Pattern : const Ogre::String &, Recursive : const bool = true, Directories : const bool = false) + findFileInfo(Pattern : const Ogre::String &, Recursive : const bool = true, Directories : const bool = false) + getModifiedTime(FileName : const Ogre::String &) #m_PackageFactory1 + isCaseSensitive() : bool + list(Recursive : const bool = true, Directories : const bool = false) Ares::PackageFactory createInstance() / destroyInstance() + listFileInfo(Recursive : const bool, Directories : const bool = false) # ms_Type : const Ogre::String = L"apk" Reference VLC's mkv.cpp Matroska + createInstance(Name : const Ogre::String &) : Ogre::Archive * + load() + open(FileName : const Ogre::String &, ReadOnly : const bool = true) : Ogre::DataStreamPtr demuxer rough for implementation + destroyInstance(ArchiveToDestroy : Ogre::Archive *) CreateSDLInterface() + getType() «constructor» + remove(FileName : const Ogre::String &) + ~PackageFactory() «virtual» + unload() + ~Package() «virtual»

This is defined by reinterpret_cast(Context->hidden.data1)

«struct» In order to get data into SDL_audio, SDL_RWops and perhaps other SDL subsystems, + type : Uint32 SDL requires an SDL_RWops struct + unknown.data1 : void * which is just a set of functions that + *close(context : struct SDL_RWops *) : int implement the stream interface. + *read(context : struct SDL_RWops *, ptr : void *, size : size_t, maxnum : size_t) : size_t CreateSDLInterface() accomplishes this + *seek(context : struct SDL_RWops *, offset : long, whence : int) : long by initializing such a struct. + *write(context : struct SDL_RWops *, ptr : const void *, size : size_t, num : size_t) : size_t

The SDL_RWops.unknown.data1 appears to not be in use internally by SDL so I am going to assume it is

1 «functions» SDL_RWops_callbacks + Close(Context : struct const SDL_RWops *) : int + Read(Context : struct const SDL_RWops *, Data : void *, Size : size_t, Count : size_t) : size_t + Seek(Context : struct const SDL_RWops *, Offset : const long, Whence : const int) : long + Write(Context : struct const SDL RWops *, Data : const void *, Size : const size t, Count : const size t) : size t «nop» Figure 11.13 The file system subsystem. 11.3.9 Gooey The GooeyManager is responsible for managing all graphical user interface overlays and user interaction with them. The underlying functionality is provided by CEGUI which integrates well with the Ogre3D renderer.

GooeyManager::Initialize() calls CEGUI::OgreRenderer::bootstrapSystem(). This bootstraps CEGUI::System with an OgreRenderer object that uses the default Ogre rendering window as the default output surface, an Ogre3D based ResourceProvider, and an Ogre3D based ImageCodec.

Update() is called every frame, but we do not need to call System::renderGUI() since Ogre does this automatically. We do, however, need to call CEGUI::System::injectTimePulse() within it. We also need to inject input events into CEGUI when we detect user input device activity, such as clicking or moving the mouse.

Our Shutdown() method invokes CEGUI::OgreRenderer::destroySystem().

Most of the interesting interfaces are within CEGUI singletons themselves, with appropriate accessors and mutators exported to Lua.

~ 195 ~ SubsystemType Ares::SubsystemManagerBase # m_FriendlyName : const std::wstring # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» CEGUI::OgreRenderer CEGUI::Renderer CEGUI::Logger + GetFriendlyName() : const std::wstring & + Initialize() 1#m_RenderCoupler + IsInitialized() : bool + Shutdown() # ~SubsystemManagerBase() «virtual» Type CEGUI::Singleton

Ares::CEGUILogInterceptor CEGUI::EventSet CEGUI::System bootstrapSystem() Initialize() calls CEGUI :: OgreRenderer :: bootstrapSystem(). This bootstraps CEGUI::System with an OgreRenderer object that uses the default Ogre rendering window as the default output surface, an Ogre based Ares::LogChannel ResourceProvider, and an1 Ogre based ImageCodec Ares::GooeyManager # m_InputInjectorEventHandler : InputInjectorEventHandler Update() is called every frame, but we don't # m_LastUpdated : Ogre::Timer need to call System::renderGUI() since Ogre # m_RenderCoupler : CEGUI::OgreRenderer * = CEGUI::OgreRenderer::bootstrapSystem(); does this automatically. We do, however, need CEGUI::OgreResourceProvider + GooeyManager() «constructor» to call CEGUI :: System :: injectTimePulse() + Update() within there. + ~GooeyManager() «deconstructor» Shutdown() calls CEGUI :: OgreRenderer :: destroySystem(). CEGUI::ResourceProvider

#m_InputInjectorEventHandler

In order to tell CEGUI about the input events going on Ares::InputInjectorEventHandler around it, we have an input injection interface. This + InputInjectorEventHandler() «constructor» Ares::EventHandler consists of a set of functions in the CEGUI::System class - + OnEvent(IncomingEvent : Ares::Event &) : bool there is one member function for each type of base input: + ~InputInjectorEventHandler() «deconstructor» #m_EventDispatchTable* 1 bool System::injectMouseMove( float delta_x, float delta_y ); bool System::injectMousePosition( float x_pos, float y_pos ); Registration bool System::injectMouseLeaves( void ); bool System::injectMouseButtonDown( MouseButton 1 button ); 1 bool System::injectMouseButtonUp( MouseButton button ); 1 { Event.m_Type ∈ EventManager.m_PermittedTypes *} Ares::Event bool System::injectKeyDown( uint key_code ); Ares::EventManager bool System::injectKeyUp( uint key_code ); #m_Queue bool System::injectChar( utf32 code_point ); bool System::injectMouseWheelChange( float delta );

Figure 11.14 The graphical user interface subsystem. 11.3.10 Human Interface The HumanInterfaceManager takes care of routing all events from input devices to the appropriate code that registered to be notified of the event. In that sense the manager is mostly unidirectional, but also allows sending some information the other way back to the input device. We do this if it supports haptic capabilities or what is sometimes called force feedback. We chose to call it haptic for the sake of consistency because that is what our underlying SDL_haptic API calls it.

~ 196 ~ SubsystemType #m_AcceptableInputClasses Ares::EventManager Ares::SubsystemManagerBase # m_FriendlyName : const std::wstring 1 1 EventManager::PollAndEnqueueSystem() # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» checks for the following SDL input + GetFriendlyName() : const std::wstring & related events and enqueues engine + Initialize() events as appropriate: + IsInitialized() : bool + Shutdown() SDL_KEYDOWN # ~SubsystemManagerBase() «virtual» SDL_KEYUP SDL_MOUSEMOTION SDL_MOUSEBUTTONDOWN SDL_MOUSEBUTTONUP SDL_JOYAXISMOTION { Event.m_Type ∈ EventManager.m_PermittedTypes } SDL_JOYBALLMOTION SDL_JOYHATMOTION

EventManager::PollAndEnqueueSystem() will emit events such as KeyUp and MouseMotion by checking the SDL message pipeline. The HumanInterfaceManager::m_LogicalGameFunctionEmitter registers to receive mouse and keyboard related events (but not joystick), looks up the appropriately bound logical game function, and then emits *#m_Queue

Ares::Event

*#m_EventDispatchTable Ares::EventHandler + IsAnythingRegistered() : bool Ares::HumanInterfaceEventHandler + IsRegistered(Type : const std::wstring &) : bool + OnEvent(IncomingEvent : Ares::Event &) : bool «virtual» + HumanInterfaceEventHandler() «constructor» + Register(Type : const std::wstring &) + OnEvent(DeviceEvent : const Ares::Event &) : bool + Unregister(Type : const std::wstring &) OnEvent() returns true if the #m_LogicalGameFunctionEmitter + UnregisterAll() event was consumed, false to + ~EventHandler() «virtual» allow propogation through other event handlers.

Ares::ConfigurationManager Ares::LowPassFilter # m_FilteredValue : float = 0.0f # m_LastUpdated : Ogre::Timer # m_ResistanceCapacitanceProduct : float = 0.0f 1 1 + LowPassFilter(RawValue : const float = 0.0f, ResistanceCapacitanceProduct : const float = 0.0f) «constructor» Ogre::Timer #m_LastUpdated + GetResistanceCapacitanceProduct() : float 1#m_LastRan + operator(float)() : float + operator<(Filter : const Ares::LowPassFilter &) : bool Joystick Analog Absolute Axis + operator<<(RawValue : const float) ======+ operator==() : bool Since input signal noise can pose a problem Any analog input control, such as an accelerometer, variable pressure button, the degree to which a # SetRawValue(RawValue : const float) : float sometimes, with respect to dead zone, or even when trigger is pressed, or a joystick that can have a single linear axis represented with one of these. They are + SetResistanceCapacitanceProduct(ResistanceCapacitanceProduct : const float) outside of them, they travel through a low-pass filter * called analog because they originate as an analog signal before being quantized and possibly clamped to a << query bindings >> digital value in some range. Some axis are bidirectional, as in the case of a joystick, while others are unidirectional, as in the case of an analog button, throttle stick, trigger, and so on. They are absolute 1 #m_InputClass because they always provide an absolute value on a linear scale. Query input config «datatype» typedef std::vector FilteredAnalogValueTable; Joystick Analog Relative Axis 2#m_FilteredAnalog{Absolute,Relative}AxesTable ======Values are relative, such as the case where it is used to store positional deltas with a mouse. Ares::Joystick Ares::ConstantHapticEffect Joystick Digital Button # m_AxesDeadZone : std::map ======+ ConstantHapticEffect(Controller : const Ares::HapticController &) «constructor» # m_AxesLowPassRC : std::map Any input button on a joystick that can be represented in either of two discrete states, but not to be + SetConstantLevel(ConstantLevel : const int16_t) # m_Enabled : bool = true confused with joystick analog buttons which fall under the categegory of joystick analog absolute axis + SetDirectionFromCartesian(Direction : const Ares::Vector2 &) # m_FilteredAnalogAbsoluteAxesTable : FilteredAnalogValueTable + SetDirectionFromPolar(Theta : const float) # m_FilteredAnalogRelativeAxesTable : FilteredAnalogValueTable + SetDirectionFromSpherical(ElevationAzimuth : const Ares::Vector2 &) # m_DeviceIndex : uint8_t = 0 + SetEnvelopeAttackLength(EnvelopeAttackLength : const uint16_t) + Joystick() «constructor» + SetEnvelopeAttackLevel(EnvelopeAttackLevel : const uint16_t) + Close() + SetEnvelopeFadeLength(EnvelopeFadeLength : const uint16_t) Ares::HumanInterfaceManager + GetAbsoluteAxisValue(AxisIndex : const uint8_t) : float + SetEnvelopeFadeLevel(EnvelopeFadeLevel : const uint16_t) # m_BindingTable : BindingTable + GetAxisDeadZone() :float + SetReplayLength(ReplayLength : const uint32_t) #m_Joystick «datatype» # m_HapticDevice : HapticDevice + GetSensitivity() : float + SetReplayDelay(ReplayDelay : const uint16_t) 1 typedef std::pair AxesPair; # m_Joystick : Joystick + IsDigitalButtonDown(ButtonIndex : const uint8_t) : bool + SetTriggerButton(TriggerButton : const Ares::AbstractDigitalButton &) # m_Lock : Mutex «mutable» + IsEnabled() : bool + SetTriggerInterval(TriggerInterval : const uint16_t) # m_LogicalGameFunctions : std::set + IsHatPositionDown(Position : const HatPositionEnum) : bool # m_LogicalGameFunctionEmitter : HumanInterfaceEventHandler + IsOpened() : bool + HumanInterfaceManager() «constructor» # OnEvent(IncomingEvent : Ares::Event &) : bool + AddLogicalGameFunction(Function : const Ares::LogicalGameFunction &) + Open(DeviceIndex : const uint8_t) + GetHapticCount() : size_t + SetAxisDeadZone(Axes : const Ares::Joystick::AxesPair &, DeadZone : const float) The Joystick acts as an event sink + GetBindings(QueryNode : const Ares::AtomicInputNode &) + SetEnabled(Enabled : const bool = true) for all joystick related messages. It << query binding >> + GetHapticDevice() + SetSensitivity(Sensitivity : const float) does this so that analog values for + GetJoystick() + ~Joystick() «virtual» relative and absolute axis can go + GetJoystickCount() : size_t through a low pass filter to clean out signal noise. A corresponding + GetJoystickName(DeviceIndex : const int) : std::wstring Ares::PeriodicHapticEffect + GetLogicalGameFunction(Name : const std::wstring &) : Ares::LogicalGameFunction * «datatype» LogicalGameFunction event is + IsKeyDown(Key : const KeyEnum) : bool typedef std::list BindingList; emitted for all bound analog and + PeriodicHapticEffect(Controller : const Ares::HapticController &) «constructor» + IsMouseDigitalButtonDown(Button : const MouseButtonEnum) : bool + SetDirectionFromCartesian(Direction : const Ares::Vector2 &) + GetHapticName() : std::wstring + SetDirectionFromPolar(Theta : const float) + RemoveLogicalGameFunction(Name : const std::wstring &) + SetDirectionFromSpherical(ElevationAzimuth : const Ares::Vector2 &) + SetBinding(InputNode : const Ares::AtomicInputNode &, Function : const Ares::LogicalGameFunction *) «datatype» + SetEnvelopeAttackLength(EnvelopeAttackLength : const uint16_t) + Update() typedef std::multimap BindingTable + SetEnvelopeAttackLevel(EnvelopeAttackLevel : const uint16_t) + ~HumanInterfaceManager() «deconstructor» + SetEnvelopeFadeLength(EnvelopeFadeLength : const uint16_t) 1 + SetEnvelopeFadeLevel(EnvelopeFadeLevel : const uint16_t) 1 + SetPeriod(Period : const uint16_t) + SetPeriodicMagnitude(PeriodicMagnitute : const int16_t) Ares::HapticEffectBase + SetPeriodicOffset(PeriodicOffset : const int16_t) # m_Controller : Ares::HapticController & + SetEffectType(EffectType : const EffectTypeEnum) «enum» # m_HapticEffect : SDL_Effect + SetReplayLength(ReplayLength : const uint32_t) Ares::PeriodicHapticEffect::EffectTypeEnum # m_LastRan : Ogre::Timer + SetReplayDelay(ReplayDelay : const uint16_t) SawToothDown # m_UploadIndex : int32_t = -1 + SetPeriodicPhase(PeriodicPhase : const uint16_t) SawToothUp + HapticEffectBase(Controller : const Ares::HapticController &) «constructor» + SetTriggerButton(TriggerButton : const Ares::AbstractDigitalButton &) Sine + Destroy() + SetTriggerInterval(TriggerInterval : const uint16_t) Square << friend >> + GetLastRanTime() Triangle *#m_LogicalGameFunctionTable + IsPlaying() : bool + IsValid() : bool «enum» Ares::LogicalGameFunction + Run() Ares::HumanInterfaceManager::KeyEnum # m_Name : std::wstring + SetDirectionFromCartesian(X : const float, Y : const float) «virtual» KeyUnknown # m_AcceptableInputClasses : std::set # SetDirectionFromCartesian(DirectionStruct : SDL_HapticDirection &, Direction : const Ares::Vector2 &) KeyFirst + LogicalGameFunction(Name : const std::wstring &, AcceptableInputClasses : const InputClassEnum) «constructor» + SetDirectionFromPolar(Theta : const float) «virtual» Ares::ConditionalHapticEffect KeyBackspace + GetName() : const std::wstring & # SetDirectionFromPolar(DirectionStruct : SDL_HapticDirection &, Theta : const float) + ConditionalHapticEffect(Controller : const Ares::HapticController &) «constructor» KeyTab + IsAcceptableInputClass(InputClass : const InputClassEnum) : bool #m_HapticDevice + SetDirectionFromSpherical(ElevationAzimuth : const Ares::Vector2 &) «virtual» 0..1 + SetDeadZoneCentre(DeadZoneCentre : const Ares::Vector3 &) «enum» ... + operator<(RightSide : const Ares::LogicalGameFunction &) : bool # SetDirectionFromSpherical(DirectionStruct : SDL_HapticDirection &, ElevationAzimuth : const Ares::Vector2 &) Ares::HapticDevice + SetEffectType(EffectType : const EffectTypeEnum) Ares::ConditionalHapticEffect::EffectTypeEnum Key0 + SetName(Name : const std::wstring &) + SetReplayDelay(ReplayDelay : const uint16_t) «virtual» # m_Enabled : bool = true #m_Controller + SetReplayDelay(ReplayDelay : const uint16_t) Damper 1 + SetReplayLength(ReplayLength : const uint32_t) «virtual» # m_Device : SDL_Haptic * = NULL + SetReplayLength(ReplayLength : const uint32_t) Friction + SetTriggerButton(TriggerButton : const Ares::AbstractDigitalButton &) «virtual» + HapticDevice() «constructor» + SetTriggerButton(TriggerButton : const Ares::AbstractDigitalButton &) Inertia + SetTriggerInterval(TriggerInterval : const uint16_t) «virtual» + Close() + SetTriggerInterval(TriggerInterval : const uint16_t) Spring «enum» + CreateConditionalEffect() : Ares::ConditionalHapticEffect * + Stop() Ares::HumanInterfaceManager::MouseDigitalButtonEnum + CreateConstantEffect() : Ares::ConstantHapticEffect * + Update() + Upload() LeftButton «enum» + CreateCustomEffect() : Ares::CustomHapticEffect * + ~HapticEffect() «virtual» MiddleButton Ares::HapticDevice::FeatureEnum + CreatePeriodicEffect() : Ares::PeriodicHapticEffect * RightButton AutoCentre + CreateRampEffect() : Ares::RampHapticEffect * WheelUp Constant + GetAxesCount() : size_t WheelDown Custom + GetDeviceIndex() : int Ares::CustomHapticEffect FirstExtraButton Damper + GetEffectBufferSize() : size_t SecondExtra Friction + GetEffectBufferSynchronousPlaybackSize() : size_t + CustomHapticEffect(Controller : const Ares::HapticController &) «constructor» Gain + GetName() : std::wstring SDL Haptic Subsystem Fields + SetChannels(Channels : const uint8_t) Inertia + IsEnabled() : bool ======+ SetDirectionFromCartesian(Direction : const Ares::Vector2 &) Pause + IsFeatureSupported(Feature : const FeatureEnum) : bool + SetDirectionFromPolar(Theta : const float) «datatype» Ramp + IsOpened() : bool Union Constant Periodic Condition Ramp Custom HapticEffectBase + SetDirectionFromSpherical(ElevationAzimuth : const Ares::Vector2 &) typedef std::vector SampleList + Open(DeviceIndex : const int) «enum» SawToothDown Field Abstract Mutator + SetEnvelopeAttackLength(EnvelopeAttackLength : const uint16_t) + SetEnabled(Enabled : const bool = true) Ares::HumanInterfaceManager::KeyModifierEnum SawToothUp Required + SetEnvelopeAttackLevel(EnvelopeAttackLevel : const uint16_t) + SetGain(Gain : const uint8_t) None Sine ------+ SetEnvelopeFadeLength(EnvelopeFadeLength : const uint16_t) This effect has a number of fields in + SetPause(Paused : const bool = true) LeftShift Spring + SetEnvelopeFadeLevel(EnvelopeFadeLevel : const uint16_t) the SDL haptic subsystem that I + StopAll() RightShift Square + SetPeriod(Period : const uint16_t) don't understand and can find very + ~HapticDevice() «virtual» LeftControl Status attack_length X X X X + SetReplayDelay(ReplayDelay : const uint16_t) little documentation, shitty RightControl Triangle attack_level X X X X + SetReplayLength(ReplayLength : const uint32_t) documentation, or none at all in LeftAlt button X X X X X X + SetSamples(Samples : const SampleList &) some cases. Therefore, consider RightAlt center[3] X + SetTriggerButton(TriggerButton : const Ares::AbstractDigitalButton &) LeftMeta channels X + SetTriggerInterval(TriggerInterval : const uint16_t) RightMeta data X Numlock deadband[3] X Capslock delay X X X X X X Edgar's Effect Diagram direction X X X ======end X fade_length X X X X Strength fade_level X X X X «enum» ^ interval X X X X X X Ares::RampHapticEffect Ares::HumanInterfaceManager::HatPositionEnum | left_coeff[3] X + RampHapticEffect(Controller : const Ares::HapticController &) «constructor» Centred | effect level --> ______left_sat[3] X + SetDirectionFromCartesian(Direction : const Ares::Vector2 &) Up | / \ length X X X X X X * + SetDirectionFromPolar(Theta : const float) Right | / \ level X + SetDirectionFromSpherical(ElevationAzimuth : const Ares::Vector2 &) Down | / \ magnitude X + SetEnvelopeAttackLength(EnvelopeAttackLength : const uint16_t) Left | / \ offset X + SetEnvelopeAttackLevel(EnvelopeAttackLevel : const uint16_t) LeftUp | attack_level --> | \ period X X + SetEnvelopeFadeLength(EnvelopeFadeLength : const uint16_t) RightUp | | | <--- fade_level phase X + SetEnvelopeFadeLevel(EnvelopeFadeLevel : const uint16_t) RightDown | right_coeff[3] X + SetReplayDelay(ReplayDelay : const uint16_t) LeftDown +------> Time right_sat[3] X + SetReplayLength(ReplayLength : const uint32_t) [--] [---] samples X + SetTriggerButton(TriggerButton : const Ares::AbstractDigitalButton &) attack_length fade_length + SetTriggerInterval(TriggerInterval : const uint16_t) + SetStrengthLevelStart(StrengthLevelStart : const int16_t) [------][------] + SetStrengthLevelEnd(StrengthLevelEnd : const int16_t) «enum» Ares::HumanInterfaceManager::InputClassEnum JoystickAnalogAbsoluteAxis JoystickAnalogRelativeAxis JoystickDigitalButton Keyboard MouseDigitalButton

Represents a single, unique, initiator from whence an input event is emitted. Ares::AtomicInputNode «union» These include control surface, such as a # m_InputClass : Ares::HumanInterfaceManager::InputClassEnum Ares::AtomicInputNode::Locator keyboard button, digital or analog # m_Label : std::wstring + m_JoystickAnalogAbsoluteAxis : uint8_t buttons on a joystick, or a digital button # m_Locator : Locator + m_JoystickAnalogRelativeAxis : uint8_t on a mouse. + AtomicInputNode(InputClass : const Ares::HumanInterfaceManager::InputClassEnum, Label : const std::wstring &, InputLocator : const Ares::AtomicInputNode::Locator &) «constructor» + m_JoystickDigitalButton : uint8_t + GetInputClass() : Ares::HumanInterfaceManager::InputClassEnum + m_Key : KeyEnum Can also be used as a search query to + GetLabel() : const std::wstring & + m_MouseDigitalButton : MouseDigitalButtonEnum HumanInterfaceManager :: GetBindings() + GetLocator() to find the associated + operator<(RightSide : const Ares::SingularInputInitiator) : bool LogicalGameFunction. Note that only the + SetLocator(InputLocator : const Ares::AtomicInputNode::Locator &) input class and locator need be specified Figure 11.15 The human interface subsystem. 11.3.11 Logging & Error Control The LogManager is responsible for providing a central logging subsystem for all the other subsystems.

~ 197 ~ SubsystemType Ares::OgreLogInterceptor Ares::SubsystemManagerBase # ControlSequenceIntroducer : const char[] = "\033[" # m_FriendlyName : const std::wstring # Attribute_Blink : const = '5' # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» # Attribute_Bright : const char = '1' + GetFriendlyName() : const std::wstring & Ogre::LogListener # Attribute_Dim : const char = '2' + Initialize() # Attribute_Reset : const char = '0' + IsInitialized() : bool # m_ForegroundColour : Ares::LogChannel::TerminalForegroundColour + Shutdown() # m_Name : std::wstring Ogre::LogManager # ~SubsystemManagerBase() «virtual» + OgreLogInterceptor(Name : const std::wstring &, ForegroundColour : const Ares::LogChannel::TerminalForegroundColour) «constructor» getDefaultLog().addListener(this)# ProxyDefaultLog : Log + GetName() : const std::wstring & # RealLog : Log + messageLogged(Message : const Ogre::String &, Level : const Ogre::LogMessageLevel, PrintToConsole : const bool, LogName : const Ogre::String &) + SetName(Name : const std::wstring &) 1#m_PrettyLogListener

Each LogChannel represents a seperate logical channel, e.g. Physics, Input, Renderer, etc.. The LogChannel uses composition on an Ares::PrettyLogListener and an Ogre::Log. The former intercepts log messages sent to the latter and uses coloured output on stderr. The latter Ogre::Log object is responsible for buffering / flushing the stream to disk. LogManager has two Log objects. One is the default Log object which is used Ares::LogManager as a proxy for the actual second Log object. This is necessary because log # HistoryLimit : const uint8_t = 32 messages can originate in either of two places, from within Ogre, or from getDefaultLog() # m_ChannelsMap : std::map anywhere else in Ares (e.g. physics module). If they originate within Ogre, # m_History : std::list they will need to be prefixed (e.g. "[Renderer] ..."), whereas in the latter case # m_LastMessageTime : Ogre::Timer they will be. If from within Ogre, they are passed to the default log object # m_LastMessageRepeatCount : size_t = 0 # m_Lock : Mutex 1 + LogManager() «constructor» 1 1..* Ares::LogChannel + AddHistory(LogMessage : const std::wstring &) # m_CurrentEntry : std::ostringstream + GetHistory() #m_LogChannels # m_DebuggerOutput : bool = true + operator()(Channel : undef, Level : undef) # m_DefaultChannel : bool = false + ~LogManager() «deconstructor» # m_Enabled : bool = true #ProxyDefaultLog#RealLog # m_LastEntry : std::wstring 1 1 #m_ForegroundColour # m_LastEntryCount : unsigned int = 0 Ogre::Log «enum» # m_Name : const std::wstring #m_OgreLog Ares::LogChannel::TerminalForegroundColour # m_OgreLog : Ogre::Log * = Ogre::LogManager.getSingleton().createLog(m_Name, true, true, false) «enum» Default=0 # m_PrettyLogListener : Ares::PrettyLogListener * = NULL Ares::LogManager::ChannelID Black=30 # m_SuppressFileOutput : bool = false AI Red + LogChannel(Name : const std::wstring &, ForegroundColour : const TerminalForegroundColour = TerminalForegroundColour::Default) «constructor» Animation Green + GetLoggingLevel() : undef Audio Yellow + GetName() : const std::wstring & Config Blue + IsEnabled() : bool Console Magenta + operator<<(Value : Type & «template ») Event Cyan + SetEnabled(Enabled : const bool = true) General White + SetLoggingLevel(Level : const Ogre::LogMessageLevel) GUI + SetName(Name : const std::wstring &) Log Levels from Ogre3D: Input + ~LogChannel() «deconstructor» Physics LML_TRIVIAL (output to stdout) Platform LML_NORMAL (output to stdout) Renderer LML_CRITICAL (output to stderr) Script _TotalChannels

#define ARES_EXCEPT(Code, Description, Source) throw Ares::ExceptionFactory::create( \ Expected Usage: Ares::ExceptionCodeEnum(), Description, Source, __FILE__, __LINE__ ); ------Ogre::ExceptionFactory LogPhysics(LML_NORMAL) << "Something..." << 5 << std::endl;

Outputs... [Physics] Something...5 (where subsystem name is coloured)

Ares::ExceptionFactory LogPhysics is defined as... #define LogPhysics(Level) LogManager::GetSingleton()(LogManager::Physics, Level) + create(Code : const int, Description : const Ogre::String &, Source : const Ogre::String &, File : const char *, Line : const long) : Exception 1

std::exception

Ares::CEGUILogInterceptor CEGUI::Logger + CEGUILogInterceptor() «constructor» create() + logEvent(Message : const CEGUI::String &, Level : const LoggingLevel = CEGUI::Standard) + ~CEGUILogInterceptor() «virtual»

Ogre::Exception

1 Ares::Exception «enum» # m_StackTrace : std::vector Ares::Exception::ExceptionCodesEnum + Exception(Code : const int, Description : const Ogre::String &, Source : const Ogre::String &) «constructor» UnknownEventType + Exception(Code : const int, Description : const std::wstring &, Source : const std::wstring &, Type : const char *, File : const char *, Line : const long) «constructor» + GetStackTrace() # RaiseTrap() «debug» Figure 11.16 The logging and error control subsystem. Since messages can be emitted from any number of places within the engine or within some other externally linked component, such as CEGUI or Ogre3D, messages have to be intercepted and directed through the LogManager into the appropriate channel. Otherwise there would be no one consistent place to find them.

The following diagram should make this mechanism more clear.

~ 198 ~ Ares Ogre::LogManager::getSingleton(). DefaultProxyLog : Ogre::Log

Ogre (Renderer)

CEGUI

Elsewhere CEGUILogInterceptor : CEGUI::Logger

Ares::OgreLogInterceptor : Ogre::LogListener Channel Selector:

Ares::LogManager::getSingleton(). (Ares::LogManager::Renderer,

Dumped to disk, e.g. Ares.log.

LogPhysics(LML_NORMAL) << "Resolving collisions" << endl; RealLog : Ogre::Log

Channel Selector:

#define Ares::LogManager::GetSingleton() (LogManager::Physics, (Level))

Ares::LogChannel

Terminal Output

Sample Output:

[Renderer] Compiling shader... [Physics] Resolving collision...

Ares::LogManager::m_History

Figure 11.17 The logging pipeline. 11.3.12 Mathematical Most mathematical routines for matrices and other linear algebra are provided by Ogre3D. Some things like more advanced random number generation will have to be implemented ourselves.

~ 199 ~ Strategy Strategy Ares::RandomNumberGenerator Ares::GradientNoiseGenerator # m_Strategy : # m_Strategy : # m_Lock : Mutex «mutable» + GetNoise1() : float + GetFloat() : float + GetInteger() : int32_t + operator int32_t()() : int32_t + operator float() : float + Seed(Seed : int32_t = 0)

<>

<>

Ares::PerlinNoiseStrategy - PerlinNoiseStrategy() «constructor» Ares::DefaultRandomStrategy + GetFloat() : float <> - DefaultRandomStrategy() «constructor» + GetFloat() : float + GetInteger()

Ares::MersenneTwisterRandomStrategy - MersenneTwisterRandomStrategy() «constructor» + GetFloat() : float + GetInteger() Figure 11.18 Various mathematical facilities. 11.3.13 Miscellaneous This is a catch–all for classes and functions that just did not seem appropriate anywhere else.

~ 200 ~ Ares::AutoMutex # m_Mutex : Ares::Mutex & ReferenceCountableDerivedType + AutoMutex(SafeMutex : Ares::Mutex &) «constructor» Ares::Handle + IsOk() : bool # m_Lock : Mutex «mutable» + ~AutoMutex() «deconstructor» # m_ReferenceCountable : Type * «mutable» 1 + Handle() «constructor» + Handle(ReferenceCountable : const Type *) «constructor» + Handle(RightSide : const Ares::Handle &) «explicit» + operator<(RightSide : const Handle &) : bool + operator==(RightSide : const Handle &) : bool + operator!() : bool + operator*() : Type & 1#m_Mutex + operator->() : Type * Ares::Mutex + operator=(RightSide : const Ares::Handle &) #m_Lock + ~Handle() «deconstructor» # m_Lock : SDL_mutex * = SDL_CreateMutex() 1 + Mutex() «constructor» + Lock() : bool + Unlock() : bool + ~Mutex() «deconstructor» -m_Lock

<< Type is a ReferenceCountable >>

#m_ReferenceCountable 1 «heap allocated» Ares::ReferenceCountable No use for either of these two, as - m_Lock : Mutex «mutable» we realized belatedly they are - m_ReferenceCount : int = 0 redundant with the reference - m_Shareable : bool = true counted Ogre::SharedPtr. - m_NotifyOrphanedAt : const int # ReferenceCountable(OrphanAt : const int) «constructor» # ReferenceCountable(RightSide : const Ares::ReferenceCountable &) «constructor» + AddReference() + GetReferenceCount() : int + IsShareable() : bool + IsShared() : bool # NotifyOrphaned() «virtual» + operator=(RightSide : const Ares::ReferenceCountable &) + RemoveReference() + SetUnshareable() + Unique() : bool # R f C bl () d Figure 11.19 Miscellaneous engine components. 11.3.14 Resources The ResourceManager is responsible for ensuring that whenever code needs a piece of game media such as a model or animation, all of its prerequisites are loaded in the correct order, only once, taking up no more memory than necessary, and for no longer than required. The ResourceManager and FileManager communicate to help the former locate what it needs wherever it may happen to be.

~ 201 ~ SubsystemType Ares::SubsystemManagerBase

ResourceGroupManager maintains a list of all groups and can batch manage their Ares::ResourceGroupManager constituent resources. This is the high level + ResourceGroupManager() «constructor» interface scripts and rest of engine outside of + ~ResourceGroupManager() «deconstructor» resource related code interacts with.

Ogre::ResourceDeclaration 1

Ogre::ResourceGroupManager

There is one of these, as in Singleton one, responsible for the loading of a specific kind of Ogre::ResourceManager resource, e.g. Texture2D, StreamingAudioSource, etc.. A subclass, e.g. -m_Creator StreamingAudioSourceManager should also derive 1 *#m_Groups from Ares::Singleton. Ogre::ResourceGroupManager::ResourceGroup 1

«typedef» Ogre::Resource::ParameterList : std::map

Ares::StreamingAudioSourceManager Ares::ScriptResourceManager Ares::StaticAudioSourceManager Ares::StaticAudioBufferManager 1 1 -m_ResourceMap#m_AssetMap* * Ogre::Resource Ogre::StringInterface

*

Ares::StaticAudioSource Ares::StaticAudioBuffer

*

Ares::StreamingAudioSource Ares::AudioSourceBase

Figure 11.20 The resources subsystem. 11.3.15 Scripting The ScriptManager is responsible for exposing all useful aspects of the game engine to the script writers.

~ 202 ~ Ares::ResourceGroupManager SubsystemType + ResourceGroupManager() «constructor» Ares::SubsystemManagerBase + ~ResourceGroupManager() «deconstructor» # m_FriendlyName : const std::wstring # SubsystemManagerBase(FriendlyName : const std::wstring &) «explicit» + GetFriendlyName() : const std::wstring & + Initialize() + IsInitialized() : bool + Shutdown() # ~SubsystemManagerBase() «virtual»

Ogre::ResourceManager # createImpl(Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, IsManual : const bool, Loader : Ogre::ManualResourceLoader *, Parameters : const ParameterList *)

-m_Creator 1

Ares::ScriptManager # m_Lock : Mutex # m_ResourceManager : ScriptResourceManager Ares::EventHandler + ScriptManager() «constructor» Use Case - Multiple lua scripts within a single VM: (if + GarbageCollectAll() : size_t + IsAnythingRegistered() : bool you ever need it) + GarbageCollectSome(Step : const unsigned int = 0) : size_t -m_ResourceMap * + IsRegistered(Type : const std::wstring &) : bool + SetAutomaticGarbageCollection(Automatic : const bool = true) Ogre::Resource + OnEvent(IncomingEvent : Ares::Event &) : bool «virtual» Proposed: use of a Reactor Pattern within Lua + ~ScriptManager() «deconstructor» # calculateSize() : size_t + Register(Type : const std::wstring &) Interperetor: # loadImpl() + Unregister(Type : const std::wstring &) # unloadImpl() + UnregisterAll() Reactor Pattern is optimal for handling heavy loads in a + ~EventHandler() «virtual» scripted language, like games or over-worked web servers.

LuaGravity: https://github.com/fsantanna/luagravity

Ares::Script Since html docs are not finished, this PDF file is # m_Lock : Mutex «mutable» available: # m_State : lua_State * = lua_open(0) # m_Priority : int32_t = 0 + Script() «constructor» # calculateSize() : size_t Implementation hint: calculateSize() can be implemented via querying + GarbageCollectAll() : size_t lua_gc(m_State, LUA_GCCOUNT, 0) * 1024 + lua_gc(m_State, LUA_GCCOUNTB, #m_ResourceManager + GarbageCollectSome(Step : const unsigned int = 0) : size_t Ares::ScriptResourceManager # loadImpl() + IsOk() : bool + ScriptResourceManager() «constructor» + OnEvent(IncomingEvent : Ares::Event &) : bool # createImpl(Name : const Ogre::String &, Handle : Ogre::ResourceHandle, Group : const Ogre::String &, IsManual : const bool, Loader : Ogre::ManualResourceLoader *, Parameters : const ParameterList *) + RegisterFunction(FunctionName : const std::wstring &) + ~ScriptResourceManager() «deconstructor» 1 * + SetAutomaticGarbageCollection(Automatic : const bool = true) # StatusToString(LuaThreadStatus : const int) : const std::wstring & # unloadImpl() S i t() d t t Figure 11.21 The scripting subsystem. 12 Licensing Rationale

Avaneya, as a piece of software, is composed of different types of files that fall into different categories. The game is licensed under multiple licenses, with a given license for each category. These categories are for artwork, code, documentation, music, and typography. Where there is a discrepancy between the following descriptions and the contents of the Copying file located within the project source root, the latter prevails.

▷ Artwork This consists of all creative literary works, including this handbook, as well as any other fragments, cinematics, models, audio and voice effects, textures, materials, concept art, screenshots, and other relevant non–executable creative media.

These objects are released under the terms of the Creative Commons Attribution–NonCommercial–ShareAlike (BY–NC–SA) 3.0 Unported license, copyright © 2010–2017 Cartesian Theatre™. See section ?? for the full text of the license.

This license ensures that, under the default conditions and unless given permission to do otherwise, these works cannot be used for commercial purposes (NC). They must give attribution (BY), and if they alter, transform, or build upon it, they must also distribute the resulting work genetically by doing so only under the same or similar license (SA). Everyone is free to copy, distribute, and transmit this creative work, as well as to adapt it as they see fit.

Keep in mind that these are just the default copyright conditions and can be waived at any time with the permission of the copyright holder. We felt that art does not have to be free, but should at least be shareable. This is the position Richard Stallman has taken along with many other artists.

The Viking lander mission data archived by the Science Digital Data Preservation Task, Jet Propulsion Laboratory, was provided courtesy of the NASA Planetary Data System and was released into the public domain.

▷ Code The AresEngine, shaders, Lua scripts, build environment scripts, and any other relevant executable code, are released under the terms of the GNU General Public License 3.0 or later, copyright © 2010–2017 Cartesian Theatre™.

The Solnet server, build environment scripts, and any other relevant executable data are released under the terms of the GNU Affero General Public License, copyright © 2010–2017 Cartesian Theatre™.

In a nutshell, these two licenses protect a users four fundamental freedoms. Sometimes these are colloquially referred to as the ‘Four Pillars / Tenets of Free Software’. These are firstly the

~ 203 ~ freedom to use the software for any purpose; secondly, the freedom to adapt the software to suit their needs; thirdly, the freedom to share the software with their friends and neighbours; and fourthly, the freedom to share their adaptations with others.

The license for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, these licenses are intended to guarantee your freedom to share and change all versions of a program and to make sure that it remains free for all of its users.

▷ Documentation UML and other design schematics, technical documents, doxygen output, man pages, and other relevant data are copyright © 2010–2017 Cartesian Theatre™ under the terms of the GNU Free Documentation License 1.3.

The Free Software Foundation explained the purpose of this license as being to make a manual, textbook, or other functional and useful document ‘free’ in the sense of freedom. This is to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or non–commercially. Secondarily, this license preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

▷ Music This includes all music in Ogg Vorbis, FLAC, Speex, or other formats and associated project files where provided.

These objects are released under the terms of their respective artists or publishers. We felt that music does not have to be free, but should at least be shareable. This is the position Richard Stallman has taken, along with many other musicians.

▷ Typography This includes the Avaneya Font Family typeface and all associated source files. This typeface is under development.

These objects are released under the terms of the SIL Open Font License version 1.1, copyright © 2010–2017 Cartesian Theatre™.

~ 204 ~ 13 Closing Remarks

This was a difficult book to write. It forced us to commit our thoughts to paper. This caused us to reflect, examine, redesign, and refine them as they came out.

On behalf of all of us, we would like to extend our gratitude for your having taken the time to study this project comprehensively. Avaneya has an exciting future ahead of it. We hope that you will choose to be a part of it.

– The Avaneya Project Crew

~ 205 ~ A Learning Resources

The following is a list of a combination of influences on this project and useful resources to aid in its development.

A.1 Resources For Everyone Zubrin, Robert. How to Live on Mars: A Trusty Guidebook to Surviving and Thriving on the Red Planet. Three Rivers Press. 2008.

Beech, Martin. Terraforming: The Creating of Habitable Worlds. Springer. 2009.

Standing Committee on Banking and Commerce. Minutes of Proceedings and Evidence Respecting the Bank of Canada. Printer to the King’s Most Excellent Majesty. 1939.

J. Nutt, David, A. King, Leslie and D. Phillips, Lawrence (2010). Drug Harms in the UK: a Multicriteria Decision Analysis. The Lancet, 376, pp. 1558–1565.

Perkins, John. Confessions of an Economic Hit Man. Plume. Dec. 2005.

J. Rummel, Rudolph. Statistics of Democide: Genocide and Mass Murder since 1900. LIT Verlag. Nov. 1998.

Zubrin, Robert. The Case for Mars: The Plan to Settle the Red Planet and Why We Must. Free Press. 1997.

Campbell, T. Colin. The China Study: The Most Comprehensive Study of Nutrition Ever Conducted and the Startling Implications for Diet, Weight Loss and Long-term Health. Benbella Books. 2006.

Achbar, Mark and Abbott, Jennifer. The Corporation. Zeitgeist Films. 2004.

Griffin, G. Edward. The Creature from Jekyll Island: A Second Look at the Federal Reserve. American Media. 2010.

Kenneth Galbraith, John. Report From Iron Mountain – On The Possibility And Desirability Of Peace. The Dial Press. 1967.270

Joseph, Peter. Zeitgeist: Moving Forward. GMP LLC. 2011.

Adbusters. Adbusters: Thought Control In Economics. Adbusters Media Foundation.

F. Ruccio, David. Jamming Neoclassical Economics. Occasional Links & Commentary on Economics, Culture and Society. 25 Oct. 2010. 270 For those in doubt of the document’s authenticity, viz. p. 524 of Griffin’s The Creature From Jekyll Island.

~ 206 ~ Rummel, R. J.. Death by Government. Transaction Publishers. 1997.

Stallman, Richard M.. Free Software, Free Society: Selected Essays of Richard M. Stallman. Free Software Foundation. Dec. 2009.

Lasn, Kalle and Adbusters. Meme Wars: The Creative Destruction of Neoclassical Economics. Seven Stories Press. Nov. 2012.

Oreskes, Naomi and Conway, Erik M.. Merchants of Doubt: How a Handful of Scientists Obscured the Truth on Issues from Tobacco Smoke to Global Warming. Bloomsbury Press. May. 2010.

A.2 Resources For Engineers Bossel, Hartmut. Systems and Models. Complexity, Dynamics, Evolution, Sustainability. BoD. 2007a.

Bossel, Hartmut. System Zoo 1 Simulation Models – Elementary Systems, Physics, Engineering. BoD. Jul. 2007b.

Bossel, Hartmut. System Zoo 2 Simulation Models – Climate, Ecosystems, Resources. BoD. Aug. 2007c.

Bossel, Hartmut. System Zoo 3 Simulation Models – Economy, Society, Development. BoD. Oct. 2007d.

Calcote, John. Autotools: A Practitioner’s Guide to GNU Autoconf, Automake, and Libtool. No Starch Press. 2010.

McCuskey, Mason. Beginning Game Audio Programming. Premier-Trade. 2003.

Cabrera, PJ. Beginning iPhone Games Development. Apress. 2010.271

Gamma, Erich and Helm, Richard et al.. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. 1994.

Gregory, Jason. Game Engine Architecture. A K Peters. 2009.

Ierusalimschy, Roberto. Lua 5.1 Reference Manual. Lua.org. 2006a.

Figueiredo, Luiz Henrique De., Celes, Waldemar and Ierusalimschy, Roberto. Lua Programming Gems. Lua.org. 2008.

Junker, Gregory. Pro OGRE 3D Programming. Apress. 2006.

Ierusalimschy, Roberto. Programming in Lua. Lua.org. 2006b.

Glassner, Andrew. 3D Computer Graphics. Green Editorial. 1994.272 271 The title of this book begets an explanation when found within this one. The book is useful because it provides a rare comprehensive coverage of the OpenAL API at the time of writing which our engine design is heavily dependent upon. 272 This is a wonderful book that is a classic resource for non–programmers and non–mathematicians. Although it is long out of print, it is worth finding. It provides a concise, accessible, and mostly qualitative introduction to the theory of computer graphics.

~ 207 ~ B Index

a boil–off 92 Airy–0 128 breathable oxygen supply 92 Amritsar 44 c Ancient Persia 79 Cambridge 40 Antarctic Treaty Secretariat 71 Carlyle Holdings 43 Antarctic Treaty System 52, 71 Central American Union 42 Aravans 53 Chase National Bank 42 Arcadia Planitia 51 Chief Flight Engineer 47 Arcadian Children’s Last Wish Fund 43 diaspora 88 City of London 76 elasticized mesh suit 91 Committee on Data for Science and Technology Manowar 58, 87, 103 (CODATA) 163 Arcas 109, 155 Coordinated Mars Time 128 Arda Baştürk 36, 54 Coordinated Universal Time 128 Armstrong Limit 108 Council of Foreign Relations 42 Artificial intelligence Croatia 46 General intelligence 40 Cylindrical projection 170 Asian Pacific Union 42 celestial pole 117 Asian Union 42, 44 climate 109 Aspen Institute 42 common heritage principle 52 Avaneya 55 compressed oxygen 92 Ayla 36 computer A.R. 48 photobioreactor 114 accounting equation, basic 105 construction team 98 aeroshield 93 cosmic rays 110 aerostat bag 95 crew selection 54 artesian wells, underground 127 cryogenic liquid oxygen 92 asymmetric warfare 77 atmospheric pressure 99 d Dalmatia 46 b Daraj Quarter 40 Baştürk family 36 Data at Risk Task Group (DARTG) 163 Bechtel–Biwater 141 Dursun 36 Bilderberg 50 data archival strategy 159 Bullingdon Club 42 deuterium 123 B.R. 48 digital forensic archaeology 159 bancor 104 dust storms 120 banks 105 bit rot 160

~ 208 ~ e i EDR 158 India 44 Electronic Intifada 81 Indian Institute of Technology Bombay 44 European Union Association for Artificial Indian Institute of Technology Kanpur 44 Intelligence 40 International Court of Justice 52 electrical power supply 92 IPv6, Martian 54 engineering documentation 150 ice 109 evacuation order 76 inflatable structures 100 experimental team 98 isotope 122 exportation tech 107 j externality 144 Janssen, Adriaan 50 f Junk science 143 Free Arcadia 61 jenya 104 fiat currency 104 k foliar dispersal method 114 Kepler’s second law 129 force feedback 153 Kessler effect 78 fractional reserve banking 106 Khalid Zafar 54 g l Garrison Commander 75 Leonard Kissinger 50, 54 Gas extractors 56 Lieberman, Samuel 50 Gaza 40 Ludwig von Rochau 43 GDP 102 Lunar base 31 Geiss, Ryan 170 Lund University 39 George H. W. Bush 31 leitmotifs 19 Goethe, Johann Wolfgang von 63 life support 93 GPI 102 longshoreman 67 Gregorian calendar 48 lunar moon 102 geopolitical entities 102 glow plates 115 m greenhouse team 98 Mariner missions 128 Mars Direct 50 h Mars Global Surveyor 170 Henrik Nørgaard 54 Mars Treaty 52 Henry Kissinger 43 Martian calendar 129 Hungarian notation 181 Max Planck Institute heavy water 123 for Medical Research 39 heliocentric perspective, calendar 130 METO 55 helium magnetometer 92 Mediterranean Union 46 hydrogen Merton College 46 importation necessity 94 Mesa 171

~ 209 ~ Mitsubishi–Saab 53 propellant 94 MTC 128 protium 122 Museum of Modern Art 43 q magnesium, pyrotechnic 133 Qualia 40 magnetic compasses 109 mechanics team 98 r methanol motorbikes 56 RANND Corporation 42 microbial–based recycling systems 99 Ramraj, Professor 50 minimum–energy launch window 115 Realpolitik 42 Red Unionists 68 n Robert Zubrin 31, 129 Nayana Rai 54 Rubicon Act 104 Non–Aligned Movement 70 recovery team 98 North American Union 42 rendering engine 152 North American Union Secretary of State 71 rhodium 104 Northwest Passage 32 standard 104 negative income tax 107 rubber seal 98 northern hemisphere 109 nutrition 111 s Sanskrit 104 o Sapienza University of Rome 40 Ogre3D 152 Sector 136 OpenCL 154 Seebeck effect 119 Order of Arcadia 87 Senka Rukavina 54 Outer Space Treaty 52 Sir John Franklin 31 orbital eccentricity 129 Solnet 138 orchards 112 Space Exploration Initiative 31 p Space Race 53 PDS, Planetary Data Systems 158 Space Station Freedom 31 Philip Glass 43 SSTO 51, 53 Phrack 66 Stickney crater 81 Planetary geology 46 Symposiums on Artificial Intelligence 40 President of the United States 31 sextant 118 Punjab 44 smectite clays 113 palli 89 sol 128 permafrost 127 solar flares 110 photobioreactor 114 solnet 55 plundered by loans 106 space debris 78 portability 149 sublimate 109 positive outlook 41 supersonic aircraft 96 pottery 122 surround sound: prime meridian 128 analog 188

~ 210 ~ digital 148, 188 University of Oxford 42, 46 survey team 98 user input handling 153 system requirements v GPU 167 Valles Marineris 16, 66 systems team 98 Varuna 52 t VICAR 160 The University of Gaza 40 Video Image Communication and Retrieval Tokyo Partnership Accord 42, 44 160 Trilateral Commission 42, 50 Viking orbiters 157 taxation models 107 Volvo–John Deere 53 temperature regulation 91 vapour pressure 108 terraformation team 98 w time slip 129 Winamp media player 170 timezones 128 Woodrow Wilson School 42 translation 153 World Economic Forum 42 u wages 107 UML models 150 warm–blooded herbivores 111 UNOOSA 52 waste recycling 99 United Nations Office for Outer Space Affairs water purification 99 52 y University of Florida 45 year zero 48

~ 211 ~