-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhoustonGame.html
349 lines (260 loc) · 12.5 KB
/
houstonGame.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
<!DOCTYPE html>
<html lang="en" class="has-navbar-fixed-top">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Daniel Beaver - Portfolio Project: Houston Game</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script type="text/javascript" src="https://tor020.github.io/livejs/live.js"></script>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<nav class="navbar navbar is-fixed-top is-dark">
<div class="container">
<div class="navbar-brand">
<div class="navbar-burger burger" data-target="navigationForMobile">
<span></span>
<span></span>
<span></span>
</div>
</div>
<div id="navigationForMobile" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="index.html">
<strong>Home</strong>
</a>
<a class="navbar-item" href="about.html">
<strong>About</strong>
</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">
<strong>Projects</strong>
</a>
<div class="navbar-dropdown is-boxed">
<a class="navbar-item" href="supportCenter.html">Support Center 3</a>
<a class="navbar-item" href="sylvaBot.html">Sylva Bot</a>
<a class="navbar-item" href="houstonGame.html">Houston Game</a>
<a class="navbar-item" href="mapToolCharacterSheet.html">Maptool Character Sheet</a>
</div>
</div>
</div>
</div>
</div>
</nav>
<section class="hero is-medium is-dark is-bold">
<div class="hero-body">
<div class="container">
<div class="columns">
<div class="column is-3"></div>
<div class="column is-6">
<h1 class="title cent-Text">Houston</h1>
<h2 class="subtitle is-5 cent-Text">WHY DID WE BRING BEES ON THIS SHIP?</h2>
</div>
</div>
<div class="columns">
<div class="column is-2"></div>
<div class="column is-8">
<p>
This is a game in-progress (not yet finished) I am working on in Unity. The idea is that one player is in the cockpit of
a rocket with minimal instrumentation, and must be given commands from another player who only sees the inside
of their command center. This is based loosely on the game Keep Talking and Nobody Explodes, where the goal
is a mix of humor and a sense of accomplishment and teamwork when the players are successful. I am not an artist
of any sort, so all models and skins should be considered WIP - basically all of them are placeholders.
</p>
<p>
This is my first major project involving C#, though the language structure is very similar to Java, my strongest language.
I once also attempted to write a VR chess game using C#, which was mildly successful, but I did not finish
and moved on to other things before writing much of anything.
</p>
<p>
While I intended the game to be more silly, I got caught up in physics simulation and accidentally made an accurate simulation
of a Saturn V rocket, including air resistance based on atmospheric pressure. I am still unsure if I will continue
with this model or create a less simulated model
</p>
<p>Most of my ideas for multiplayer interaction are not yet implemented, and neither is the multiplayer itself or
any of the Control Center. This is a very early project but already utilizes some complex concepts.</p>
</div>
</div>
<!-- <nav class="level"><div class="level-item"></div></nav> -->
</div>
<!-- Container End -->
</div>
<!-- Hero-Body End -->
</section>
<section>
<hr>
<div class="columns">
<div class="column is-2"></div>
<div class="column is-8">
<div class="content">
<h2>Features</h2>
<ul>
<li>Realistic physics simulation for a Saturn V Rocket</li>
<li>Includes air resistance, weight loss due to fuel, gravity based upon distance to the planet</li>
<li>Randomized player-blind buttons - the operator is meant to relay the purpose of each button</li>
<li>Minor 'punishments' for pressing these buttons without direction, such as a 'jettison' button</li>
<li>Launch button will toggle rockets on or off</li>
<li>Full player control of rocket facing and rotation using QEWASD</li>
<li>Custom edited sky filter to display stars upon gaining atmospheric height</li>
<li>Ability to roam the cabin by using 'F' to exit piloting mode. Click the stick to pilot once more</li>
<li>Gravity applied on a roaming player based upon G forces on the craft and planetary gravity</li>
<li>'Fake' ship - The player is inside a static model that displays the view of the moving model to reduce complications</li>
<li>Minor tree and terrain generation near launch site</li>
<li>Full-scale Earth and atmospheric mode</li>
</ul>
<h2>Known Bugs</h2>
<ul>
<li>Looking straight up or down can cause view problems</li>
<li>Rocket sounds do not end when thrusters cut</li>
<li>Resizing the game window causes the reticle to become offset from the center</li>
<li>Some textures or materials do not export properly when building with Unity</li>
<li>Unity WebPlayer sometimes offsets the game content slightly from the frame</li>
<li>Render issues at high altitudes due to precision problems</li>
</ul>
<h2>Image of the Game</h2>
<figure class="image">
<img src="images/houstonExample1.jpg">
</figure>
</div>
<!--Content End-->
</div>
<!--Column is-8 End-->
</div>
<!--Columns grouping End-->
<div class="columns">
<div class="column is-2"></div>
<div class="column is-8">
<div class="content">
<h2>Challenges</h2>
<ul>
<li>Learning Unity - I had never used Unity before and basically everything I scripted involved using Unity's functions. I was able to use the docs and various examples to accomplish everything I needed</li>
<li>Making Stars - I used an open source package to generate the stars, but they showed by default. I had to edit the material itself to make a gradient based upon my altitude variable and make them appear slowly as you gain altitude</li>
<li>Physics Problems - Unity has weird rules for parents and how they affect child movement; there was no effective way for me to simulate gravity on the rocket and also the player inside while both are moving. I instead cloned the ship to a static model and put the player in this, and made sure the window showed output from the moving model, and used G-Forces from the moving model to apply to the player when they are not in the pilot's seat</li>
<li>Licensing - I had to be very careful about any models, skins, sounds, and other assets I used to ensure they were licensed in a way that I could redistribute them with the game.</li>
<li>Standardization - I started this project to learn C#, but now that I have a grasp on it my next goal is to standardize the way I use functions, variable names, comment blocks, etc</li>
</ul>
</div>
<!--Content End-->
</div>
<!--Column is-8 End-->
</div>
<!--Columns grouping End-->
</section>
<hr class="hr-reduce">
<nav class="level">
<p class="level-item has-text-centered">
<a href ="supportCenter.html" class="link is-info">Support Center 3</a>
</p>
<p class="level-item has-text-centered">
<a href ="sylvaBot.html" class="link is-info">Sylva Bot</a>
</p>
<p class="level-item has-text-centered title is-2">
Projects
</p>
<p class="level-item has-text-centered">
<a href ="houstonGame.html" class="link is-info level-active">Houston Game</a>
</p>
<p class="level-item has-text-centered">
<a href ="mapToolCharacterSheet.html" class="link is-info">Maptool Character Sheet</a>
</p>
</nav>
<div class="container">
<div class="columns">
<!-- Card 1 -->
<div class="column is-4">
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<a href="supportCenter.html">
<img src="images/sc3Example1.jpg" alt="Placeholder image"> </a>
</figure>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p class="title is-4">Support Center 3</p>
</div>
</div>
<div class="content">
This was created at my previous job when their database system was running too slowly. This was only for personal use; I
was not considered a programmer in this position.
<br> Built with:
<strong> Java</strong>
</div>
</div>
</div>
</div>
<!-- Card 2 -->
<div class="column is-4">
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<a href="sylvaBot.html">
<img src="images/SylvaBotExample.jpg" alt="Placeholder image"> </a>
</figure>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p class="title is-4">Sylva Bot</p>
</div>
</div>
<div class="content">
This was a chat moderation bot created for a client and actively updated with requests. It used multiple online services
such as Discord, Twitter, Twitch, and others.
<br> Built with:
<strong> Java</strong>
</div>
</div>
</div>
</div>
<!-- Card 3 -->
<div class="column is-4">
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<a href="mapToolCharacterSheet.html">
<img src="images/CharSheetExample1.jpg" alt="Placeholder image"> </a>
</figure>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p class="title is-4">Maptool Character Sheet</p>
</div>
</div>
<div class="content">
This is a character sheet designed for an online tabletop simulator. This is worth mentioning only because I managed to get
a lot out of a very weak custom programming language that it uses, and it is very interactive.
<br> Built with:
<strong> MaptoolMacro and HTML/CSS</strong>
</div>
</div>
</div>
</div>
</div>
<!-- Columns 2 End -->
</div>
<!-- Container End -->
<hr class="hr-reduce">
<div class="container m-t-xl">
<div class="columns">
<div class="column is-2"></div>
<div class="column is-8 cent-Text"><a class="link-To-About" href="about.html">Read More About Me</a></div>
</div>
</div>
<footer class="footer m-t-md dark-footer">
<div class="container">
<div class="cent-Text">
<p class='subtitle'> Contact </p>
<a href="mailto:[email protected]" class="button is-dark" target="_blank">Send Me an E-mail</a><br>
<!-- insert link to linked in inside of href -->
<span class="icon m-t-md"><a href="https://www.linkedin.com/in/dimencia/"><i class="fa fa-linkedin"></i></a></span>
</div>
</div>
</footer>
<script src='scripts/main.js'></script>
</body>
</body>
</html>