index.html 18 KB

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