index.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <meta name="description" content="A collection of hobbies and amusing web toys and prototypes." />
  6. <meta name="keywords"
  7. content="eyeofmidas eye of midas game development programmer javascript processing impactjs" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  9. <title>EyeOfMidas.com</title>
  10. <!--sharing tags -->
  11. <meta property="og:title" content="Eye of Midas" />
  12. <meta property="og:description" content="A collection of hobbies and amusing web toys and prototypes." />
  13. <meta property="og:url" content="https://eyeofmidas.com/" />
  14. <meta property="og:image" content="https://eyeofmidas.com/images/eom_preview.gif" />
  15. <meta property="og:video" content="https://eyeofmidas.com/images/eom_preview.mp4" />
  16. <meta property="og:type" content="video.other" />
  17. <link rel="stylesheet" type="text/css" href="./css/main.css" />
  18. <link rel="stylesheet" type="text/css" href="./css/simplecarousel.css" />
  19. <link rel="stylesheet" crossorigin href="./night-and-day/assets/index-P1oR9gqR.css">
  20. <link href="https://fonts.googleapis.com/css?family=Roboto|Oswald" rel="stylesheet" />
  21. </head>
  22. <body>
  23. <header id="background-container">
  24. <canvas id="background"></canvas>
  25. <canvas id="asteroids-background"></canvas>
  26. <h1>Eye Of Midas</h1>
  27. </header>
  28. <nav>
  29. <ul>
  30. <li><a href="./">Home</a></li>
  31. <li><a href="https://eyeofmidas.wordpress.com/" target="_blank">Developer Blog</a></li>
  32. <li><a href="https://tddnetwork.org/" target="_blank">TDD Network Forum</a></li>
  33. <li><a href="#prototypes">Prototypes</a></li>
  34. <li><a href="#contact">Contact</a></li>
  35. </ul>
  36. </nav>
  37. <main>
  38. <section id="prototype-section">
  39. <h2 id="prototypes">Prototypes</h2>
  40. <div class="project">
  41. <div class="teaser">
  42. <a href="./spookonomics" target="_blank">
  43. <img src="./spookonomics/og_image.png"
  44. alt="My ThreeJS Halloween 2024 entry; a game about a witch brewing potions and selling them to spooky clientele." />
  45. </a>
  46. </div>
  47. <div class="description">
  48. <h3><a href="./spookonomics" target="_blank">Spookonomics</a></h3>
  49. <p>My ThreeJS Halloween 2024 entry; a game about a witch brewing potions and selling them to spooky clientele.</p>
  50. </div>
  51. </div>
  52. <div class="project">
  53. <div class="teaser">
  54. <a href="./threejs/portal" target="_blank">
  55. <video autoplay loop muted>
  56. <source src="./images/portal.mp4" type="video/mp4">
  57. </video>
  58. </a>
  59. </div>
  60. <div class="description">
  61. <h3><a href="./threejs/portal" target="_blank">Portal with Baked Lighting</a></h3>
  62. <p>The capstone project of the ThreeJS Journey course</p>
  63. </div>
  64. </div>
  65. <div class="project">
  66. <div class="teaser">
  67. <canvas class="night-and-day"></canvas>
  68. </div>
  69. <div class="description">
  70. <h3>Night and Day</h3>
  71. <p>A breakout battle between two colors, as defined by random contrast bot RSS feed</p>
  72. </div>
  73. </div>
  74. <div class="project">
  75. <div class="teaser">
  76. <a href="./rogueengine/vaporwave" target="_blank">
  77. <img src="./images/vaporwave.png"
  78. alt="A 3d rendered scene of a wireframe valley between mountains with a yellow to magenta sunset in the distance." />
  79. </a>
  80. </div>
  81. <div class="description">
  82. <h3><a href="./rogueengine/vaporwave" target="_blank">Vaporwave</a></h3>
  83. <p>View of an animated vaporwave scene.</p>
  84. </div>
  85. </div>
  86. <div class="project">
  87. <div class="teaser">
  88. <a href="./rogueengine/shipshot" target="_blank">
  89. <video autoplay loop muted>
  90. <source src="./images/shipshot.mp4" type="video/mp4">
  91. </video>
  92. </a>
  93. </div>
  94. <div class="description">
  95. <h3><a href="./rogueengine/shipshot" target="_blank">ShipShot</a></h3>
  96. <p>A KenneyJam attempt to make a pirate sailing game using RogueEngine.</p>
  97. </div>
  98. </div>
  99. <div class="project">
  100. <div class="teaser">
  101. <a href="./rogueengine/spacestation" target="_blank">
  102. <img src="./images/spacestation.png"
  103. alt="a 3d rendered scene of a view out the window of a science fiction space station, looking at the Earth." />
  104. </a>
  105. </div>
  106. <div class="description">
  107. <h3><a href="./rogueengine/spacestation" target="_blank">Space Station</a></h3>
  108. <p>View of a rotating Earth from a space station, complete with calming engine noises.</p>
  109. </div>
  110. </div>
  111. <div class="project">
  112. <div class="teaser">
  113. <a href="./rogueengine/simcity" target="_blank">
  114. <video autoplay loop muted>
  115. <source src="./images/wreckingball.mp4" type="video/mp4">
  116. </video>
  117. </a>
  118. </div>
  119. <div class="description">
  120. <h3><a href="./rogueengine/simcity" target="_blank">Wrecking Ball</a></h3>
  121. <p>A RogueEngine demo using Rapier physics where you roll a ball around and knock over buildings.
  122. </p>
  123. </div>
  124. </div>
  125. <div class="project">
  126. <div class="teaser">
  127. <a href="http://eyeofmidas.net/honeycomb" target="_blank"><img src="./images/honeycomb.png"
  128. alt="a rendered scene of beehives and flowers, with yellow and red bee-balls flying between them" /></a>
  129. </div>
  130. <div class="description">
  131. <h3><a href="http://eyeofmidas.net/honeycomb" target="_blank">ThreeJS bee-themed Conquest/RTS</a>
  132. </h3>
  133. <p>A rough prototype to experiment with RTS-style controls in a 3D environment</p>
  134. </div>
  135. </div>
  136. <div class="project">
  137. <div class="teaser">
  138. <a href="https://eyeofmidas.github.io/2020js13k/">
  139. <video autoplay loop muted>
  140. <source src="./images/p4ck3t.mp4" type="video/mp4">
  141. </video>
  142. </a>
  143. </div>
  144. <div class="description">
  145. <h3><a href="https://eyeofmidas.github.io/2020js13k/">P4ck3t</a></h3>
  146. <p>A js13k game entry with it's primary mechanic based on a "pipes" style game.</p>
  147. </div>
  148. </div>
  149. <div class="project">
  150. <div class="teaser">
  151. <a href="./ballsort" target="_blank"><img src="./ballsort/ballsort_card.png"
  152. alt="A simple canvas implementation of one of those sorting games." /></a>
  153. </div>
  154. <div class="description">
  155. <h3><a href="./ballsort" target="_blank">Ballsort</a>
  156. </h3>
  157. <p>A simple canvas implementation of one of those sorting games.</p>
  158. </div>
  159. </div>
  160. <div class="project">
  161. <div class="teaser">
  162. <a href="http://ganache.eyeofmidas.net/" target="_blank">
  163. <video autoplay loop muted>
  164. <source src="./images/ganache.mp4" type="video/mp4">
  165. </video>
  166. </a>
  167. </div>
  168. <div class="description">
  169. <h3><a href="http://ganache.eyeofmidas.net/" target="_blank">Multiplayer Websocket RPG</a></h3>
  170. <p>A tile-based game that uses websockets to enable multiplayer</p>
  171. </div>
  172. </div>
  173. <div class="project">
  174. <div class="teaser">
  175. <a href="https://github.com/EyeOfMidas/impact-midas" target="_blank">
  176. <!--<img src="./files/lights_gameplay.gif" alt="an animated image of the a grid of black or white squares, with the player solving the puzzle of converting them all to white" style="display: inline-block;" />
  177. <img src="./files/swarm_gameplay.gif" alt="an animated image of several bubble-bees moving randomly, with the user practicing attention skills by keeping track of specific ones" style="display: none;" />
  178. <img src="./files/weighty_gameplay.gif" alt="an animated image of a logic puzzle with a series of symbols on scales. The user solves the problem by deducing which symbol is heaviest or lightest" style="display: none;" />-->
  179. <video autoplay loop style="display: inline-block;">
  180. <source src="./images/lights_gameplay.mp4" type="video/mp4">
  181. </video>
  182. <video autoplay loop style="display: none;">
  183. <source src="./images/swarm_gameplay.mp4" type="video/mp4">
  184. </video>
  185. <video autoplay loop style="display: none;">
  186. <source src="./images/weighty_gameplay.mp4" type="video/mp4">
  187. </video>
  188. </a>
  189. <button class="image-carousel"></button>
  190. </div>
  191. <div class="description">
  192. <h3><a href="https://github.com/EyeOfMidas/impact-midas" target="_blank">ImpactJS Game Suite</a>
  193. </h3>
  194. <p>A few brain-training games made in ImpactJS</p>
  195. </div>
  196. </div>
  197. <div class="project">
  198. <div class="teaser">
  199. <a href="https://eyeofmidas.github.io/canvas-asteroids/asteroids.html" target="_blank">
  200. <video autoplay loop>
  201. <source src="./images/asteroids.mp4" type="video/mp4">
  202. </video>
  203. </a>
  204. </div>
  205. <div class="description">
  206. <h3><a href="https://eyeofmidas.github.io/canvas-asteroids/asteroids.html" target="_blank">Canvas
  207. Asteroids</a></h3>
  208. <p>A quick tutorial HTML5 Canvas game recreating Asteroids</p>
  209. </div>
  210. </div>
  211. <div class="project">
  212. <div class="teaser">
  213. <a href="https://github.com/EyeOfMidas/text-adventure" target="_blank"><img
  214. src="./images/textadventure.png"
  215. alt="a black console with descriptive white text, representing a text-based game in the browser" /></a>
  216. </div>
  217. <div class="description">
  218. <h3><a href="https://github.com/EyeOfMidas/text-adventure" target="_blank">Text Adventure</a></h3>
  219. <p>A pure-javascript implementation of a text-based game.</p>
  220. </div>
  221. </div>
  222. <!-- Archived -->
  223. <!--<div class="project">
  224. <div class="teaser">
  225. <a href="https://github.com/EyeOfMidas/eightfootjs" target="_blank"><img src="./images/slots.png" alt="a green three-wheel slot machine with various shape patterns on each wheel" /></a>
  226. </div>
  227. <div class="description">
  228. <h3><a href="https://github.com/EyeOfMidas/eightfootjs" target="_blank">Canvas Game Engine</a></h3>
  229. <p>An HTML5 Canvas game framework/library to build games quickly (assets, scaling, animation, sound)</p>
  230. </div>
  231. </div>-->
  232. <div class="project">
  233. <div class="teaser">
  234. <a href="./canvas/gravitywell/" target="_blank">
  235. <video autoplay loop>
  236. <source src="./images/gravitywell.mp4" type="video/mp4">
  237. </video>
  238. </a>
  239. </div>
  240. <div class="description">
  241. <h3><a href="./canvas/gravitywell/" target="_blank">Gravity Well clone</a></h3>
  242. <p>An HTML5 canvas remake of a game in the 90s</p>
  243. </div>
  244. </div>
  245. <!-- Archived -->
  246. <!--<div class="project">
  247. <div class="teaser">
  248. <div id="boxes-container">
  249. <canvas></canvas>
  250. </div>
  251. </div>
  252. <div class="description">
  253. <h3>Boxes</h3>
  254. <p>Fast rendering HTML canvas box particles</p>
  255. </div>
  256. </div>-->
  257. <!-- Archived -->
  258. <!--<div class="project">
  259. <div class="teaser">
  260. <a href="https://github.com/EyeOfMidas/retro-retrospective" target="_blank"><img src="./images/retroretrospective.png" alt="A retrospective board done in a retro 70s style, showing 4 sections: last sprint, things we did well, things we did poorly, solutions" /></a>
  261. </div>
  262. <div class="description">
  263. <h3><a href="https://github.com/EyeOfMidas/retro-retrospective" target="_blank">Retro Retrospective</a></h3>
  264. <p>A pure-native retrospective tool for development teams, done in a 70s style</p>
  265. </div>
  266. </div>-->
  267. <div class="project">
  268. <div class="teaser">
  269. <a href="https://github.com/EyeOfMidas/tavern-name-generator" target="_blank"><img
  270. src="./images/tavernname.png"
  271. alt="a wooden board with the name of a randomly generated tavern on it: Triangular Bear Pub. A Generate button is displayed below." /></a>
  272. </div>
  273. <div class="description">
  274. <h3><a href="https://github.com/EyeOfMidas/tavern-name-generator" target="_blank">Tavern Name
  275. Generator</a></h3>
  276. <p>A simple generator for making creative D&D themed taverns</p>
  277. </div>
  278. </div>
  279. <div class="project">
  280. <div class="teaser">
  281. <a href="./vgs" target="_blank"><img src="./images/vgs.png"
  282. alt="a white page with the instructions Just start typing! Try VGS and a list of various Tribes voice commands" /></a>
  283. </div>
  284. <div class="description">
  285. <h3><a href="./vgs" target="_blank">Tribes VGS Audio Chat</a></h3>
  286. <p>HTML5 audio async loading controlled in the style of Tribes VGS</p>
  287. </div>
  288. </div>
  289. <div class="project">
  290. <div class="teaser">
  291. <a href="http://eyeofmidas.net/mudmapper/" target="_blank"><img src="./images/mudmapper.png"
  292. alt="A gray field with a set of squiggle-connected white boxes. Each box has the name of a room: temple, street, guild. A drop-down menu shows the ability to add new rooms" /></a>
  293. </div>
  294. <div class="description">
  295. <h3><a href="http://eyeofmidas.net/mudmapper/" target="_blank">Mud Mapper</a></h3>
  296. <p>Browser-based editor for building out maps for MUDs</p>
  297. </div>
  298. </div>
  299. <!-- Archived -->
  300. <!--
  301. <div class="project">
  302. <div class="teaser">
  303. <a href="processing/?p=powercontrol&w=400&h=600"><video autoplay loop>
  304. <source src="./files/powercontrol.mp4" type="video/mp4"></video></a>
  305. </div>
  306. <div class="description">
  307. <h3><a href="processing/?p=powercontrol&w=400&h=600">Power Control</a></h3>
  308. <p>I replicated the FTL power control system in Processing</p>
  309. </div>
  310. </div>
  311. <div class="project">
  312. <div class="teaser">
  313. <a href="processing/?p=raverlights&w=640&h=360"><img src="./images/brownian.png" alt="a black image with colorful curving lines randomly positioned" /></a>
  314. </div>
  315. <div class="description">
  316. <h3><a href="processing/?p=raverlights&w=640&h=360">Raver Lights</a></h3>
  317. <p>Brownian motion smoothed to bezier curves, now with fancy colors!</p>
  318. </div>
  319. </div>
  320. <div class="project">
  321. <div class="teaser">
  322. <a href="processing/?p=orbitdemo&w=640&h=480"><img src="./images/orbit.png" alt="a large green circle outline with a small red rectangle in the center. A small gray circle outline with a yellow rectangle in it's center is circling it" /></a>
  323. </div>
  324. <div class="description">
  325. <h3><a href="processing/?p=orbitdemo&w=640&h=480">Orbit</a></h3>
  326. <p>A simple math demo to show orbits and movement along them.</p>
  327. </div>
  328. </div>
  329. <div class="project">
  330. <div class="teaser">
  331. <a href="processing/?p=torch&w=640&h=480"><img src="./images/torch.png" alt="a purple vector image of a horizontal flame, like a rocket tail" /></a>
  332. </div>
  333. <div class="description">
  334. <h3><a href="processing/?p=torch&w=640&h=480">Torch</a></h3>
  335. <p>A spaceship thrust tail</p>
  336. </div>
  337. </div>
  338. <div class="project">
  339. <div class="teaser">
  340. <a href="processing/?p=starsystem&w=640&h=480"><img src="./images/orbitphysics.png" alt="a large yellow circle outline with a tiny green circle outline orbiting it" /></a>
  341. </div>
  342. <div class="description">
  343. <h3><a href="processing/?p=starsystem&w=640&h=480">Orbit physics</a></h3>
  344. <p>A quick mathy prototype that shows how orbit physics should be calculated</p>
  345. </div>
  346. </div>
  347. <div class="project">
  348. <div class="teaser">
  349. <a href="processing/?p=creepyfish&w=800&h=600"><img src="./images/creepyfish.png" alt="a blue image with multiple white wireframe fish swimming about creepily" /></a>
  350. </div>
  351. <div class="description">
  352. <h3><a href="processing/?p=creepyfish&w=800&h=600">Creepyfish</a></h3>
  353. <p>A set of simple fish that don't move quite right. Still tweaking the numbers...</p>
  354. </div>
  355. </div>
  356. <div class="project">
  357. <div class="teaser">
  358. <a href="processing/?p=curvetween2&w=800&h=600"><img src="./images/curvetween.png" alt="a black image with a white ball moving along a curve. The origin, tangent and end points are connected using green lines, and the linear interpolation line is drawn in red." /></a>
  359. </div>
  360. <div class="description">
  361. <h3><a href="processing/?p=curvetween2&w=800&h=600">Curving Tween</a></h3>
  362. <p>Tweening a ball on an arcing line. Press "D" for debugging lines.</p>
  363. </div>
  364. </div>
  365. <div class="project">
  366. <div class="teaser">
  367. <a href="processing/?p=herd_immunity&w=800&h=600"><img src="./images/herdimmunity.png" alt="a white image with various color circles on it. Most circles are blue, but green circles are spreading out from the center" /></a>
  368. </div>
  369. <div class="description">
  370. <h3><a href="processing/?p=herd_immunity&w=800&h=600">Herd Immunity</a></h3>
  371. <p>Read an <a href="http://imgur.com/a/8M7q8" target="_blank">article</a> and tried to replicate the visualizations</p>
  372. </div>
  373. </div>-->
  374. </section>
  375. <section id="contact-section">
  376. <h2 id="contact">Contact</h2>
  377. <img src="https://www.gravatar.com/avatar/ae68a9c7e7e2599bfc3983256513892b?size=300"
  378. alt="a portrait of Midas wearing large headphones and round sunglasses. Reflected in the blue mirror sunglasses is a computer screen displaying program code." />
  379. <ul>
  380. <li>Gmail: eyeofmidas@gmail.com</li>
  381. <li>GTalk: eyeofmidas@gmail.com</li>
  382. <li>LinkedIn: <a href="https://www.linkedin.com/in/eyeofmidas/">Profile</a></li>
  383. <li>Twitter: <a href="https://twitter.com/eyeofmidas">EyeOfMidas</a></li>
  384. <li>Mastodon: <a rel="me" href="https://mastodon.gamedev.place/@eyeofmidas">EyeOfMidas</a></li>
  385. <li>Github: <a href="https://github.com/eyeofmidas/">EyeOfMidas</a></li>
  386. </ul>
  387. </section>
  388. </main>
  389. <footer>
  390. <ul>
  391. <li><a href="/scifi">Science Fiction Short Stories</a></li>
  392. </ul>
  393. <a href="https://eyeofmidas.com" target="_blank"><img src="./images/eom_linkicon.svg"
  394. alt="The Eye of Midas 88x31" /></a>
  395. <p>Website Provided by <a href="http://copperwirehosting.com" target="_blank">Copper Wire Hosting</a></p>
  396. </footer>
  397. <script src="./js/star.js"></script>
  398. <script src="./js/starfield.js"></script>
  399. <script src="./js/starfieldgame.js"></script>
  400. <!-- Archived -->
  401. <!--<script src="./js/box.js"></script>
  402. <script src="./js/circle.js"></script>
  403. <script src="./js/triangle.js"></script>
  404. <script src="./js/starshape.js"></script>
  405. <script src="./js/binaryfloater.js"></script>
  406. <script src="./js/boxgame.js"></script>-->
  407. <script src="./js/simplecarousel.js"></script>
  408. <script type="module">
  409. import { AsteroidToy } from './js/asteroidtoy.js';
  410. document.addEventListener("DOMContentLoaded", function (event) {
  411. var starfieldgame = new StarfieldGame();
  412. starfieldgame.create("background-container");
  413. /* Archived */
  414. //var boxbackground = new BoxGame();
  415. //boxbackground.create("boxes-container");
  416. var asteroidToy = new AsteroidToy("asteroids-background");
  417. asteroidToy.init();
  418. });
  419. </script>
  420. <script type="module" crossorigin src="./night-and-day/assets/index-MyYpA6PZ.js"></script>
  421. <!-- Google tag (gtag.js) -->
  422. <script async src="https://www.googletagmanager.com/gtag/js?id=G-H4BYTFBKJT"></script>
  423. <script>
  424. window.dataLayer = window.dataLayer || [];
  425. function gtag() { dataLayer.push(arguments); }
  426. gtag('js', new Date());
  427. gtag('config', 'G-H4BYTFBKJT');
  428. </script>
  429. </body>
  430. <!-- deploy test 11 -->
  431. </html>