pvb-practice/design/design.svg

1082 lines
45 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="297mm"
height="210mm"
viewBox="0 0 297 210"
version="1.1"
id="svg1"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
sodipodi:docname="design.svg"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.92747768"
inkscape:cx="1998.9699"
inkscape:cy="923.47236"
inkscape:current-layer="layer1"
showgrid="false"><inkscape:page
x="0"
y="0"
width="297"
height="210"
id="page1"
margin="0"
bleed="0" /><inkscape:page
x="307"
y="0"
width="297"
height="210"
id="page2"
margin="0"
bleed="0" /></sodipodi:namedview><defs
id="defs1"><marker
style="overflow:visible"
id="marker126"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path126" /></marker><marker
style="overflow:visible"
id="marker124"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path124" /></marker><marker
style="overflow:visible"
id="marker122"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path122" /></marker><marker
style="overflow:visible"
id="marker120"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path120" /></marker><marker
style="overflow:visible"
id="marker118"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path118" /></marker><marker
style="overflow:visible"
id="marker13"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path13" /></marker><marker
style="overflow:visible"
id="marker11"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path11" /></marker><marker
style="overflow:visible"
id="ArrowWide"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path1" /></marker><rect
x="1182.0221"
y="35.612258"
width="1123.0581"
height="794.87895"
id="rect3" /><rect
x="0"
y="0"
width="1030.7394"
height="793.70082"
id="rect1" /><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect2"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,1.9526687,0,1 @ F,0,0,1,0,8.1210291,0,1 @ F,0,0,1,0,0,0,1 @ F,0,0,1,0,4.1953263,0,1 @ F,0,0,1,0,0,0,1"
radius="0"
unit="px"
method="auto"
mode="F"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /><marker
style="overflow:visible"
id="marker13-1-8"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path13-2-8" /></marker><marker
style="overflow:visible"
id="marker13-1-8-3"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Wide arrow"
markerWidth="1"
markerHeight="1"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid"><path
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
d="M 3,-3 0,0 3,3"
transform="rotate(180,0.125,0)"
sodipodi:nodetypes="ccc"
id="path13-2-8-6" /></marker></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,24.283531,0)"
id="text1"
style="font-size:16px;line-height:1;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';text-decoration-color:#000000;white-space:pre;shape-inside:url(#rect1);shape-padding:31.8441;display:inline;fill:#1b1b1b;stroke-width:3.00094;stroke-linejoin:round"><tspan
x="31.84375"
y="44.32375"
id="tspan4"><tspan
style="font-weight:bold"
id="tspan1">Concept</tspan><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan3">
</tspan></tspan><tspan
x="31.84375"
y="60.32375"
id="tspan6"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan5">3D fixed camera dungeon crawler where the player is placed in a randomly selected sequence of rooms
</tspan></tspan><tspan
x="31.84375"
y="76.32375"
id="tspan88"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan7">and asked to clear as many rooms as possible within a 5min timeframe.
</tspan></tspan><tspan
x="31.84375"
y="92.32375"
id="tspan129"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan122">
</tspan></tspan><tspan
x="31.84375"
y="108.32375"
id="tspan141"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan131">The environments are an overgrown forest ruin made using a combination of the Nature pack and Prototype assets.
</tspan></tspan><tspan
x="31.84375"
y="124.32375"
id="tspan143"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan142">
</tspan></tspan><tspan
x="31.84375"
y="140.32375"
id="tspan155"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan150">The </tspan><tspan
style="font-weight:bold"
id="tspan153">player</tspan><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan154"> can move horizontally with the Joystick or WASD. The player has two weapons which
</tspan></tspan><tspan
x="31.84375"
y="156.32375"
id="tspan157"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan156">bound to two buttons (left/right mousebutton or X/Y).
</tspan></tspan><tspan
x="31.84375"
y="172.32375"
id="tspan159"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan158">
</tspan></tspan><tspan
x="31.84375"
y="188.32375"
id="tspan161"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan160">
</tspan></tspan><tspan
x="31.84375"
y="204.32375"
id="tspan163"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan162">
</tspan></tspan><tspan
x="31.84375"
y="220.32375"
id="tspan165"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan164">
</tspan></tspan><tspan
x="31.84375"
y="236.32375"
id="tspan167"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan166">
</tspan></tspan><tspan
x="31.84375"
y="252.32375"
id="tspan169"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan168">
</tspan></tspan><tspan
x="31.84375"
y="268.32375"
id="tspan171"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan170">There are three kinds of enemies.
</tspan></tspan><tspan
x="31.84375"
y="284.32375"
id="tspan174"><tspan
style="font-weight:bold"
id="tspan172">&quot;Fodder&quot;</tspan><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan173"> that are slow and die easilly, but if they do end up hitting you they hurt a lot.
</tspan></tspan><tspan
x="31.84375"
y="300.32375"
id="tspan176"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan175">
</tspan></tspan><tspan
x="31.84375"
y="316.32375"
id="tspan178"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan177">
</tspan></tspan><tspan
x="31.84375"
y="332.32375"
id="tspan180"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan179">
</tspan></tspan><tspan
x="31.84375"
y="348.32375"
id="tspan182"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan181">
</tspan></tspan><tspan
x="31.84375"
y="364.32375"
id="tspan185"><tspan
style="font-weight:bold"
id="tspan183">&quot;Tanks&quot;</tspan><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan184"> which don't hit very hard but survive for longer.
</tspan></tspan><tspan
x="31.84375"
y="380.32375"
id="tspan187"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan186">
</tspan></tspan><tspan
x="31.84375"
y="396.32375"
id="tspan189"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan188">
</tspan></tspan><tspan
x="31.84375"
y="412.32375"
id="tspan191"><tspan
style="font-weight:bold"
id="tspan190">
</tspan></tspan><tspan
x="31.84375"
y="428.32375"
id="tspan194"><tspan
style="font-weight:bold"
id="tspan192">&quot;Ranged&quot;</tspan><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan193"> which, like fodder have low health, low speed, and like the tank low damage, but can hit from a range.
</tspan></tspan><tspan
x="31.84375"
y="444.32375"
id="tspan196"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan195">
</tspan></tspan><tspan
x="31.84375"
y="460.32375"
id="tspan198"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan197">
</tspan></tspan><tspan
x="31.84375"
y="476.32375"
id="tspan200"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan199">
</tspan></tspan><tspan
x="31.84375"
y="492.32375"
id="tspan202"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan201">There is a &quot;Berserk&quot; powerup which will give the player the power to defeat enemies in one hit for a few seconds, but when it ends it </tspan></tspan><tspan
x="31.84375"
y="508.32375"
id="tspan204"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan203">leaves the player unable to act for a second.
</tspan></tspan><tspan
x="31.84375"
y="524.32375"
id="tspan206"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan205">Meaning that if the player fails to clear the room in the &quot;berserk&quot; time, they'll take a lot of hits.
</tspan></tspan><tspan
x="31.84375"
y="540.32375"
id="tspan208"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan207">
</tspan></tspan><tspan
x="31.84375"
y="556.32375"
id="tspan210"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan209">There is a &quot;speedup&quot; powerup, which will increase the animation/movement speed for the player but drains health while active (always </tspan></tspan><tspan
x="31.84375"
y="572.32375"
id="tspan212"><tspan
style="-inkscape-font-specification:'IBM Plex Sans, Normal'"
id="tspan211">leaving a small amount to avoid frustrating deaths).</tspan></tspan></text><text
xml:space="preserve"
transform="matrix(0.26458333,0,0,0.26458333,-5.8858161,-9.7341241)"
id="text3"
style="font-size:16px;line-height:1;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans, Normal';text-decoration-color:#000000;white-space:pre;shape-inside:url(#rect3);shape-padding:23.7099;display:inline;fill:#1b1b1b;stroke-width:3.00094;stroke-linejoin:round"><tspan
x="1205.7305"
y="71.800313"
id="tspan214"><tspan
style="font-weight:bold"
id="tspan213">Player:
</tspan></tspan><tspan
x="1205.7305"
y="87.800313"
id="tspan215">- A warrior with an axe and a sword.
</tspan><tspan
x="1205.7305"
y="103.80031"
id="tspan216">
</tspan><tspan
x="1205.7305"
y="119.80031"
id="tspan218"><tspan
style="font-weight:bold"
id="tspan217">Objectives:
</tspan></tspan><tspan
x="1205.7305"
y="135.80031"
id="tspan220">- Defeat all enemies.<tspan
style="font-weight:bold"
id="tspan219">
</tspan></tspan><tspan
x="1205.7305"
y="151.80031"
id="tspan221">- Move to the next room.
</tspan><tspan
x="1205.7305"
y="167.80031"
id="tspan222">
</tspan><tspan
x="1205.7305"
y="183.80031"
id="tspan224"><tspan
style="font-weight:bold"
id="tspan223">Resources:
</tspan></tspan><tspan
x="1205.7305"
y="199.80031"
id="tspan225">- Health, depending on what they get hit by, the player can take 4-7 hits
</tspan><tspan
x="1205.7305"
y="215.80031"
id="tspan226">- Time, 5 minutes
</tspan><tspan
x="1205.7305"
y="231.80031"
id="tspan227">
</tspan><tspan
x="1205.7305"
y="247.80031"
id="tspan229"><tspan
style="font-weight:bold"
id="tspan228">Mechanics:
</tspan></tspan><tspan
x="1205.7305"
y="263.80031"
id="tspan230">- Short/light/weak attack with the axe
</tspan><tspan
x="1205.7305"
y="279.80031"
id="tspan231">- Long/heavy/strong attack with the sword
</tspan><tspan
x="1205.7305"
y="295.80031"
id="tspan232">- Berserk powerup that has a long vulnerablility period at the end
</tspan><tspan
x="1205.7305"
y="311.80031"
id="tspan233">- Speed powerup that saps in the ballpark of 30% of the player's max health
</tspan><tspan
x="1205.7305"
y="327.80031"
id="tspan234">- The game timer ticks down to game over
</tspan><tspan
x="1205.7305"
y="343.80031"
id="tspan235">- Rooms will spawn enemies in randomly selected waves.
</tspan><tspan
x="1205.7305"
y="359.80031"
id="tspan236">- Progress requires killing all waves of enemies
</tspan><tspan
x="1205.7305"
y="375.80031"
id="tspan237">
</tspan><tspan
x="1205.7305"
y="391.80031"
id="tspan239"><tspan
style="font-weight:bold"
id="tspan238">Dynamics:
</tspan></tspan><tspan
x="1205.7305"
y="407.80031"
id="tspan240">- The player has to decide whether to short or long attack based on their windup/recovery durations.
</tspan><tspan
x="1205.7305"
y="423.80031"
id="tspan241"> - deciding to use a long when you shouldn't would lead to getting hit during windup (canceling the action) or during winddown.
</tspan><tspan
x="1205.7305"
y="439.80031"
id="tspan242"> - But a light attack could fail to eliminate a threat in time.
</tspan><tspan
x="1205.7305"
y="455.80031"
id="tspan243">- The player can make heavy attacks more useful by finding a speedup, but that goes at the cost of health.
</tspan><tspan
x="1205.7305"
y="471.80031"
id="tspan244">- The player can make light attacks more useful by finding a berserk powerup, but at the risk of leaving themselves exposed after it fails.
</tspan><tspan
x="1205.7305"
y="487.80031"
id="tspan245">
</tspan><tspan
x="1205.7305"
y="503.80031"
id="tspan247"><tspan
style="font-weight:bold"
id="tspan246">Conflict:</tspan>
</tspan><tspan
x="1205.7305"
y="519.80031"
id="tspan248">- The player cannot progress without defeating enemies.
</tspan><tspan
x="1205.7305"
y="535.80031"
id="tspan249">- The enemies will attack the player.
</tspan><tspan
x="1205.7305"
y="551.80031"
id="tspan250">
</tspan><tspan
x="1205.7305"
y="567.80031"
id="tspan252"><tspan
style="font-weight:bold"
id="tspan251">Boundaries:
</tspan></tspan><tspan
x="1205.7305"
y="583.80031"
id="tspan253">- The player cannot leave the room they're in until all enemies are defeated.
</tspan><tspan
x="1205.7305"
y="599.80031"
id="tspan254">- The player cannot stop an attack until it's animation is finished.
</tspan><tspan
x="1205.7305"
y="615.80031"
id="tspan255">
</tspan><tspan
x="1205.7305"
y="631.80031"
id="tspan257"><tspan
style="font-weight:bold"
id="tspan256">Outcome:
</tspan></tspan><tspan
x="1205.7305"
y="647.80031"
id="tspan259">- The game ends when the player runs out of time or health<tspan
style="font-weight:bold"
id="tspan258">
</tspan></tspan><tspan
x="1205.7305"
y="663.80031"
id="tspan260">- The player is scored based on the number of enemies defeated
</tspan><tspan
x="1205.7305"
y="679.80031"
id="tspan261">- After the game end screen, the game is reset for the next person. </tspan></text><image
width="13.731021"
height="31.629169"
preserveAspectRatio="none"
xlink:href="../../../../Pictures/Screenshots/2024-02-01_10-02-1706780218.png"
id="image1"
x="10.043767"
y="33.049828" /><image
width="13.64728"
height="27.455114"
preserveAspectRatio="none"
xlink:href="../../../../Pictures/Screenshots/2024-02-01_10-02-1706780371.png"
id="image1-4"
x="10.085637"
y="64.679001" /><image
width="13.647281"
height="14.755013"
preserveAspectRatio="none"
xlink:href="../../../../Pictures/Screenshots/2024-02-01_10-02-1706780611.png"
id="image1-48"
x="10.085637"
y="92.134109" /><image
width="13.647281"
height="28.9771"
preserveAspectRatio="none"
xlink:href="../../../../Pictures/Screenshots/2024-02-01_10-02-1706780640.png"
id="image1-2"
x="10.085637"
y="106.88912"
style="stroke:none;stroke-opacity:1;stroke-width:1.40000001;stroke-dasharray:none" /><path
style="fill:none;stroke-width:0.793999;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;marker-end:url(#ArrowWide)"
d="m 45.889285,43.706928 c 0,0 -0.156086,5.931267 -4.994751,7.648215 -4.838666,1.716945 -13.475425,0.884486 -13.475425,0.884486"
id="path9" /><path
style="fill:none;stroke:#000000;stroke-width:0.793999;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#marker11)"
d="m 44.243489,78.406558 c 0,0 -2.700864,4.165785 -5.30461,5.310417 -2.603746,1.14463 -9.811737,0.312172 -9.811737,0.312172"
id="path10" /><path
style="fill:none;stroke:#000000;stroke-width:0.793999;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#marker13)"
d="m 42.299307,99.511616 c 0,0 -1.456801,2.571474 -4.474464,3.039734 -3.017662,0.46826 -9.452625,-0.26014 -9.452625,-0.26014"
id="path12" /><path
style="fill:none;stroke:#000000;stroke-width:0.793999;stroke-linejoin:round;stroke-opacity:1;marker-end:url(#marker13)"
d="m 36.47441,119.82738 c 0,0 -0.567345,1.13032 -1.873488,1.55029 -1.505911,0.48421 -5.405187,0 -5.405187,0"
id="path14"
sodipodi:nodetypes="csc" /><g
id="g3"><text
xml:space="preserve"
style="font-size:4.23333px;line-height:1;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="49.776428"
y="86.523041"
id="text14"><tspan
sodipodi:role="line"
id="tspan14"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke-width:1.4"
x="49.776428"
y="86.523041">Example amount of damage</tspan></text><g
id="g16"
transform="translate(1.1485556,34.067529)"><g
id="g14"
transform="matrix(0.50334165,0,0,0.50334165,-133.1814,25.012952)"><rect
style="fill:#1b1b1b;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14"
width="88.807449"
height="12.734364"
x="360.35214"
y="36.767033"
ry="2.728792" /><rect
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.14057;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6"
width="84.71476"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /><rect
style="fill:#01ff00;fill-opacity:1;stroke:none;stroke-width:0.88429;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6-5"
width="56.618744"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /></g><path
style="fill:none;fill-opacity:1;stroke:#b10000;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13)"
d="M 91.144308,46.818319 H 79.345811"
id="path15"
sodipodi:nodetypes="cc" /></g></g><g
id="g2"><text
xml:space="preserve"
style="font-size:4.23333px;line-height:1;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="50.272427"
y="107.0923"
id="text14-9-3"><tspan
sodipodi:role="line"
id="tspan14-7-9"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke-width:1.4"
x="50.272427"
y="107.0923">Example amount of damage</tspan></text><g
id="g1"><g
id="g14-7-3"
transform="matrix(0.50334165,0,0,0.50334165,-131.97037,79.649743)"><rect
style="fill:#1b1b1b;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-1-6"
width="88.807449"
height="12.734364"
x="360.35214"
y="36.767033"
ry="2.728792" /><rect
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.14057;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6-1-5"
width="84.71476"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /><rect
style="fill:#01ff00;fill-opacity:1;stroke:none;stroke-width:0.88429;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6-5-5-6"
width="68.981766"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /></g><path
style="fill:none;fill-opacity:1;stroke:#b10000;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13-1-8)"
d="M 92.808334,101.42398 H 85.936822"
id="path15-3-0"
sodipodi:nodetypes="cc" /></g></g><g
id="g3-2"
transform="translate(0,17.198551)"><text
xml:space="preserve"
style="font-size:4.23333px;line-height:1;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="50.272427"
y="107.0923"
id="text14-9-3-6"><tspan
sodipodi:role="line"
id="tspan14-7-9-1"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke-width:1.4"
x="50.272427"
y="107.0923">Example amount of damage</tspan></text><g
id="g2-8"><g
id="g14-7-3-7"
transform="matrix(0.50334165,0,0,0.50334165,-131.97037,79.649743)"><rect
style="fill:#1b1b1b;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-1-6-9"
width="88.807449"
height="12.734364"
x="360.35214"
y="36.767033"
ry="2.728792" /><rect
style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.14057;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6-1-5-2"
width="84.71476"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /><rect
style="fill:#01ff00;fill-opacity:1;stroke:none;stroke-width:0.88429;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6-5-5-6-0"
width="68.981766"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /></g><path
style="fill:none;fill-opacity:1;stroke:#b10000;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker13-1-8-3)"
d="M 92.808334,101.42398 H 85.936822"
id="path15-3-0-2"
sodipodi:nodetypes="cc" /></g></g><g
id="g82"
transform="translate(12.784703)"><g
id="g3-2-8"
transform="translate(403.50206,-60.452129)"><g
id="g2-8-3"><g
id="g14-7-3-7-6"
transform="matrix(0.50334165,0,0,0.50334165,-131.97037,79.649743)"><rect
style="fill:#1b1b1b;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-1-6-9-1"
width="88.807449"
height="12.734364"
x="360.35214"
y="36.767033"
ry="2.728792" /><rect
style="fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:1.14057;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect14-6-1-5-2-2"
width="84.71476"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 374.15327,39.355352 v 7.48496"
id="path3" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 386.01473,39.355352 v 7.48496"
id="path4" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 397.87619,39.355352 v 7.48496"
id="path5" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 409.66234,39.355352 v 7.48496"
id="path6" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 421.85959,39.355352 v 7.48496"
id="path7" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 434.80314,39.355352 v 7.48496"
id="path8" /></g></g></g><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round"
x="457.06403"
y="46.607197"
id="text8"><tspan
sodipodi:role="line"
id="tspan8"
style="fill:#000000;stroke:none;stroke-width:0.5"
x="457.06403"
y="46.607197">Seven hits to death</tspan></text><g
id="g23"
transform="translate(452.93484,-60.452129)"><g
id="g22"><g
id="g21"
transform="matrix(0.50334165,0,0,0.50334165,-131.97037,79.649743)"><rect
style="fill:#1b1b1b;fill-opacity:1;stroke:none;stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect8"
width="88.807449"
height="12.734364"
x="360.35214"
y="36.767033"
ry="2.728792" /><rect
style="fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:1.14057;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect9"
width="84.71476"
height="8.9443741"
x="362.36084"
y="38.662025"
ry="1.9166515" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 372.77412,39.355352 v 7.48496"
id="path16" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 401.94391,39.355352 v 7.48496"
id="path19" /><path
style="fill:#00ff00;stroke:#b10000;stroke-width:0.993359;stroke-linejoin:round"
d="m 434.80314,39.355352 v 7.48496"
id="path21" /></g></g></g><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round"
x="506.4968"
y="46.607197"
id="text82"><tspan
sodipodi:role="line"
id="tspan82"
style="fill:#000000;stroke:none;stroke-width:0.5"
x="506.4968"
y="46.607197">Four hits to death</tspan></text></g><rect
style="fill:none;stroke:#000000;stroke-width:0.484569;stroke-linejoin:round"
id="rect82"
width="98.574799"
height="46.60043"
x="499.52936"
y="158.54077"
ry="2.7184379" /><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round"
x="509.06833"
y="171.26752"
id="text83"><tspan
sodipodi:role="line"
id="tspan83"
style="fill:#000000;stroke:none;stroke-width:0.5"
x="509.06833"
y="171.26752">Next room</tspan></text><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round"
x="559.08936"
y="171.39975"
id="text86"><tspan
sodipodi:role="line"
id="tspan86"
style="stroke-width:0.5"
x="559.08936"
y="171.39975">Defeat wave of enemies</tspan></text><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round"
x="556.18872"
y="191.89928"
id="text88"><tspan
sodipodi:role="line"
style="stroke-width:0.5"
x="556.18872"
y="191.89928"
id="tspan97">Door/Gate/Some way to leave</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.5"
x="556.18872"
y="194.72151"
id="tspan107">opens</tspan></text><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round"
x="510.16174"
y="191.89981"
id="text92"><tspan
sodipodi:role="line"
id="tspan92"
style="stroke-width:0.5"
x="510.16174"
y="191.89981">Walk through</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.5"
x="510.16174"
y="194.72205"
id="tspan115">door</tspan></text><path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker118)"
d="m 524.66566,169.07897 c 0,0 7.73173,-2.57985 17.21261,-2.32077 7.53053,0.20578 14.50393,3.28746 14.50393,3.28746"
id="path117"
sodipodi:nodetypes="csc" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker120)"
d="m 576.49022,175.07408 c 0,0 0.77324,3.09402 0.19344,6.76888 -0.54257,3.43887 -1.74047,5.99511 -1.74047,5.99511"
id="path119"
sodipodi:nodetypes="csc" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker122)"
d="m 553.47697,193.05942 c 0,0 -4.835,1.93389 -13.15088,1.93389 -8.31588,0 -11.21696,-1.93389 -11.21696,-1.93389"
id="path121" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker124)"
d="m 514.02488,188.61183 c 0,0 -1.5465,-1.93389 -1.73994,-6.57543 -0.19344,-4.64155 1.54651,-8.8962 1.54651,-8.8962"
id="path123"
sodipodi:nodetypes="csc" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker126)"
d="m 571.78836,168.37684 c 0,0 -1.4157,-1.41572 -1.4157,-3.87 0,-2.45428 1.51037,-3.96442 3.87,-4.05883 2.35961,-0.0944 4.43622,1.88779 4.43622,3.87 0,1.98221 -1.41571,3.77558 -1.41571,3.77558"
id="path125" /><g
id="g151"
transform="translate(30.606929,3.6243846)"><g
id="g150"
transform="translate(0,-5.792012)"><rect
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect127"
width="34.141422"
height="2.9799728"
x="497.61777"
y="135.63121"
ry="1.3179407" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 502.06309,135.12888 v 4.6782"
id="path127" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 527.75395,135.12888 v 4.6782"
id="path128" /><rect
style="fill:#800000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect147"
width="24.226936"
height="0.73432767"
x="502.75674"
y="136.82713"
ry="0.36716384" /></g><g
id="g149"><rect
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect126"
width="54.677017"
height="2.9799652"
x="492.75107"
y="125.63486"
ry="1.2873087" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 502.06125,124.76529 v 4.6782"
id="path129" /><path
style="fill:none;stroke:#000000;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 527.75211,124.76529 v 4.6782"
id="path130" /><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="493.09634"
y="120.33974"
id="text144"><tspan
sodipodi:role="line"
id="tspan144"
style="stroke-width:0.5"
x="493.09634"
y="120.33974">End</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.5"
x="493.09634"
y="123.16196"
id="tspan145">Windup</tspan></text><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="526.84979"
y="120.71445"
id="text146"><tspan
sodipodi:role="line"
id="tspan146"
style="stroke-width:0.5"
x="526.84979"
y="120.71445">Start</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.5"
x="526.84979"
y="123.53667"
id="tspan147">Winddown</tspan></text><rect
style="fill:#800000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect148"
width="24.226936"
height="0.73432767"
x="502.87592"
y="126.56254"
ry="0.36716384" /></g><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#800000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="510.13458"
y="123.89542"
id="text148"><tspan
sodipodi:role="line"
id="tspan148"
style="stroke-width:0.5"
x="510.13458"
y="123.89542">Hit time</tspan></text></g><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="477.50571"
y="131.29865"
id="text149"><tspan
sodipodi:role="line"
id="tspan149"
style="fill:#000000;stroke-width:0.5"
x="477.50571"
y="131.29865">Animation timing example <tspan
style="font-weight:bold"
id="tspan151">heavy</tspan></tspan></text><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="515.86322"
y="136.34253"
id="text149-8"><tspan
sodipodi:role="line"
id="tspan149-4"
style="font-weight:bold;fill:#000000;stroke-width:0.5"
x="515.86322"
y="136.34253">light</tspan></text><text
xml:space="preserve"
style="font-size:2.82223px;line-height:1;font-family:Sans;-inkscape-font-specification:'Sans, Normal';text-decoration-color:#000000;white-space:pre;fill:#000000;stroke:none;stroke-width:0.499999;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
x="500.92786"
y="162.23825"
id="text152"><tspan
sodipodi:role="line"
id="tspan152"
style="stroke-width:0.5"
x="500.92786"
y="162.23825">Secondary Game Loop</tspan></text></g></svg>