diff --git a/.svelte-kit/ambient.d.ts b/.svelte-kit/ambient.d.ts index 1ecb98d..e9ce91f 100644 --- a/.svelte-kit/ambient.d.ts +++ b/.svelte-kit/ambient.d.ts @@ -29,7 +29,6 @@ declare module '$env/static/private' { export const SHELL: string; export const npm_command: string; export const SESSION_MANAGER: string; - export const WINDOWID: string; export const npm_config_userconfig: string; export const QT_SCREEN_SCALE_FACTORS: string; export const COLORTERM: string; @@ -77,7 +76,6 @@ declare module '$env/static/private' { export const INIT_CWD: string; export const CHROME_DESKTOP: string; export const KDE_SESSION_UID: string; - export const ALACRITTY_SOCKET: string; export const npm_lifecycle_script: string; export const VSCODE_GIT_ASKPASS_EXTRA_ARGS: string; export const npm_config_npm_version: string; @@ -99,6 +97,7 @@ declare module '$env/static/private' { export const LC_MEASUREMENT: string; export const XDG_VTNR: string; export const XDG_SESSION_ID: string; + export const MANAGERPIDFDID: string; export const npm_config_user_agent: string; export const ROCM_PATH: string; export const npm_execpath: string; @@ -116,13 +115,11 @@ declare module '$env/static/private' { export const BROWSER: string; export const PATH: string; export const npm_config_node_gyp: string; - export const ALACRITTY_LOG: string; export const ORIGINAL_XDG_CURRENT_DESKTOP: string; export const DBUS_SESSION_BUS_ADDRESS: string; export const npm_config_global_prefix: string; export const KDE_APPLICATIONS_AS_SCOPE: string; export const MAIL: string; - export const ALACRITTY_WINDOW_ID: string; export const npm_node_execpath: string; export const npm_config_engine_strict: string; export const LC_NUMERIC: string; @@ -162,7 +159,6 @@ declare module '$env/dynamic/private' { SHELL: string; npm_command: string; SESSION_MANAGER: string; - WINDOWID: string; npm_config_userconfig: string; QT_SCREEN_SCALE_FACTORS: string; COLORTERM: string; @@ -210,7 +206,6 @@ declare module '$env/dynamic/private' { INIT_CWD: string; CHROME_DESKTOP: string; KDE_SESSION_UID: string; - ALACRITTY_SOCKET: string; npm_lifecycle_script: string; VSCODE_GIT_ASKPASS_EXTRA_ARGS: string; npm_config_npm_version: string; @@ -232,6 +227,7 @@ declare module '$env/dynamic/private' { LC_MEASUREMENT: string; XDG_VTNR: string; XDG_SESSION_ID: string; + MANAGERPIDFDID: string; npm_config_user_agent: string; ROCM_PATH: string; npm_execpath: string; @@ -249,13 +245,11 @@ declare module '$env/dynamic/private' { BROWSER: string; PATH: string; npm_config_node_gyp: string; - ALACRITTY_LOG: string; ORIGINAL_XDG_CURRENT_DESKTOP: string; DBUS_SESSION_BUS_ADDRESS: string; npm_config_global_prefix: string; KDE_APPLICATIONS_AS_SCOPE: string; MAIL: string; - ALACRITTY_WINDOW_ID: string; npm_node_execpath: string; npm_config_engine_strict: string; LC_NUMERIC: string; diff --git a/.svelte-kit/generated/server/internal.js b/.svelte-kit/generated/server/internal.js index 9e9c538..c035ab6 100644 --- a/.svelte-kit/generated/server/internal.js +++ b/.svelte-kit/generated/server/internal.js @@ -21,7 +21,7 @@ export const options = { app: ({ head, body, assets, nonce, env }) => "\n\n
\n \n \n \n \n \nPrototype terrain sample
+Prototype terrain sample
I am currently developing an underground-submarine openworld multiplayer @@ -158,7 +158,7 @@ reworking the tech tree.
-
- Testing Input Response
+Testing Input Response
- Internal View
+Internal View
@@ -311,7 +311,63 @@
+ One of the coolest things I've developed is a game, fully written in
+ assembly.
+ I say this because it is the perfect intersection of many things I enjoy;
+ low level programming, physics, space, simulation development, and game design.
+ Also small enough of a project that I could complete it in under a couple
+ of months, so another win. I even named the game based on the emulator, as
+ Phobos is a moon of Mars
The instructions for this
+ assignment were very broad, to develop a platformer game in assembly.
+ This left a lot of room for creative freedom, especially due to the
+ loose definition of platformer. With infinite time I would have
+ developed a whole rocket simulator, and used the justification that the
+ launchpad was a platform.
+
+
On the technical side this was a very difficult project. There are
+ only about 16 variables actually usable in MIPS, and a lot of them are reserved
+ to specific logical controls under best practice. Then following the many
+ loops and recursive, real-time functionality required extensive and efficient
+ use of the stack. Ideally accessing a few bytes shouldn't strike the fear
+ of low framerates to mind, but the Mars-MIPS emulator I was using was far
+ from efficient.
+
+ Probably the most annoying part of this was that the emulator couldn't
+ handle simutaineous key inputs. Fortunately I have over a thousand hours
+ experience landing rockets on the Mün
+ so I was comfortable giving a few unique key inputs per second. I never imagined
+ this is something I would be proud, and I still don't think I am. However,
+ it works.
At this point you may have realized I am a bit of a
+ space nerd. Enjoy this recording I made at 1am demonstrating the
+ features of my game to a TA, compressed to the point that the audio has
+ texture.
+
I volunteer within the Computer Science, Mathematics, and Statistics diff --git a/src/style.css b/src/style.css index 2e24f51..923bbcf 100644 --- a/src/style.css +++ b/src/style.css @@ -10,7 +10,8 @@ button { border-radius: 0px; background-color: #222; border-width: 0; - padding: 20px;; + padding: 20px; + ; } .card { @@ -26,11 +27,13 @@ button { border-style: solid; border-width: 0; } + .align-right { float: right; border-right-width: 0px; border-left-width: 5px; } + .align-left { float: left; border-right-width: 5px; @@ -73,31 +76,49 @@ body { .title { font-weight: 600; font-size: 4rem; - + } /* https://css-tricks.com/snippets/css/typewriter-effect/ */ .typed { font-family: monospace; - overflow: hidden; /* Ensures the content is not revealed until the animation */ - border-right: .1em solid orangered; /* The typwriter cursor */ - white-space: nowrap; /* Keeps the content on a single line */ + overflow: hidden; + /* Ensures the content is not revealed until the animation */ + border-right: .1em solid orangered; + /* The typwriter cursor */ + white-space: nowrap; + /* Keeps the content on a single line */ /* margin: 0 auto; /* Gives that scrolling effect as the typing happens */ - - animation: - typing 0.5s steps(16); + + animation: + typing 0.5s steps(16); +} + +.center { + text-align: center; } /* The typing effect */ @keyframes typing { - from { width: 0 } - to { width: 110% } + from { + width: 0 + } + + to { + width: 110% + } } /* The typewriter cursor effect */ @keyframes blink { - from, to { border-color: orangered} - 50% { border-color: transparent; } -} + from, + to { + border-color: orangered + } + + 50% { + border-color: transparent; + } +} \ No newline at end of file