Z5MZSQ7XS7I4CXFHMF3A4RT43D2BBLPZHNDGDEEZ3ND36UOEXBSQC
#let gdd(
title: "",
authors: array,
doc,
) = {
set par(justify: true)
show link: it => { text(fill: blue)[#it] }
set document(
title: [title, ": Game Design Document"].join(),
author: authors.map(d => d.name).join(", ", last: " & "),
)
let small(body) = text(4pt)[#body]
set page(numbering: "(i)")
set page(
header: context {
let elems = query(
selector(heading.where(level: 1).before(here()))
)
let title = smallcaps(title)
if elems.len() == 0 {
align(right, title)
} else {
let body = elems.last().body
title + h(1fr) + emph(body)
}
}
)
show outline.entry.where(
level: 1
): it => {
v(12pt, weak: true)
strong(it)
}
align(center)[
text(24pt, strong(title)) \
text(15pt, smallcaps([*Game Design Document*])) \
_#text(13pt, smallcaps[by #authors.map(d => if "url" in d {
link(d.url)[d.name]
} else [
d.name
]).join(", ", last: " & ")])_
]
line(length: 100%)
outline(indent: auto, depth: 2)
set heading(numbering: "1.1.")
set page(numbering: "1 / 1")
counter(page).update(1)
show heading.where(level: 1): it => {
pagebreak(weak: true)
it
}
doc
}
#show "IO": name => box[
#box(image("important.jpg", height: 0.7em)) #name
]
#let small(body) = text(4pt)[#body]
#set page(numbering: "(i)")
#let title = [IO]
#set page(
header: context {
let elems = query(
selector(heading.where(level: 1).before(here()))
)
let title = smallcaps(title)
if elems.len() == 0 {
align(right, title)
} else {
let body = elems.last().body
title + h(1fr) + emph(body)
}
}
)
#show outline.entry.where(
level: 1
): it => {
v(12pt, weak: true)
strong(it)
}
In this report, we will explore the various factors
that influence _fluid dynamics_ in glaciers and how they
contribute to the formation and behavior of these natural structures.
#outline(indent: auto, depth: 2)
#set heading(numbering: "1.1.")
#set page(numbering: "1 / 1")
#counter(page).update(1)
#show heading.where(level: 1): it => {
pagebreak(weak: true)
it
}
#info[ This is an info!
#figure(
image("important.jpg", width: 70%),
caption: [
_Skibidi Miku_ is a paragon of virtue.
]
) <skibi_miku>
#question(title: [About the name _Io_])[
I was today years old when I looked up #link("https://en.wikipedia.org/wiki/Io_(moon)")[Io on Wikipedia]
and it's an infernal hellscape. Do we play on this? #small[yes.] _I was always thinking of Europa!_
#tip(title: "Best title evah...")[Check this out\~]
== Inspiration
This goes out to young me thinking they want to make Cave Story again. Got me into gamedev, and
eventually to work as a programmer, but making games has always been close to my heart.
Beyond collecting the tools that I _think_ should be sufficient to complete a game, this
is a reduced scope idea to get more of a feel of how to use the tools, while making a cool game!
Some environmental science:
$ 7.32 beta + sum_(i=0)^nabla Q_i / 2 $
A cool vector: $ v := vec(x_1, x_2, x_3) in cal(S) $
Some variants: $ a arrow.squiggly b $
There are 4 levels to platform across, all consisting of a subboss, and a main boss.
For now, there is 1 side quest per level, providing an additional skill.
The player learns to time their combos (Ideal timings and all), and learn how to
transverse the platforms, understanding the patterns of each boss, in order to complete
the levels and reach the surface.
== Platform
The game will be released for Desktop primarily, with no intentions of requiring a web build
(if there is one, it will only be for a demo to download the desktop version).
== Development Software
We are using #link("https://bevyengine.org")[Bevy Engine] and
#link("https://rust-lang.org")[Rust]. I've really wanted to take the time to learn
how to use Bevy, and Rust is plain fun to me, so here we are.
The high-risk part of this is that Bevy is not stable software, but the guarantees of
Cargo should mitigate incompatibilities due to this, and the Bevy ecosystem has a really
good precedent of marking explicitly the compatible versions of their packages with the
core Bevy engine, which makes this doable.
For code editing, I'm using a mix of #link("https://helix-editor.com")[Helix] and
#link("https://zed.dev")[Zed]. Graphics are in #link("https://aseprite.org")[Aseprite].
Audio is coming from #link("https://github.com/tildearrow/furnace")[Furnace Tracker] for main
themes, but #link("https://bitwig.com")[Bitwig Studio] for general sound design ideally, but we'll
have to see. #link("https://github.com/SamiPerttu/fundsp")[FunDSP] is an interesting project.
Our audio system itself is powered by #link("https://github.com/tesselode/kira")[Kira] instead of
using the default `bevy_audio`.
The other major experimental part of this game is that scripting will use
#link("https://github.com/kyren/piccolo")[Piccolo], an implementation of Lua in Rust
that tries some different things. If it doesn't work out, as we design Lua interfaces, we
can substitute in #link("https://github.com/mlua-rs/mlua")[MLua] with minimal API
breakage.
== Genre
We are a platformer bullet-hell, in that order.
Bosses are where the bullet-hell aspect becomes incredibly apparent.
We are a single player game.
This is an involved game (but we *must* support full pausing because of that).
== Target Audience
Because our combat system is relatively involved, and bullet hell sections are involved,
platformer proficiency is required/expected.
= Concept
== Gameplay Overview
#lorem(600)
== Themes
#lorem(300)
== Primary Mechanics
#lorem(600)
== Secondary Mechanics
#lorem(600)
= Art
== Themes
#lorem(300)
== Design
#lorem(300)
= Audio
== Music
#lorem(300)
== Sound Effects
#lorem(300)
= Game Experience
== UI
#lorem(300)
== Controls
#lorem(300)
= Development Timeline
#lorem(450)
/W [0 0 500 3 3 250 37 37 653.8086 39 39 733.8867 42 42 731.9336 44 44 366.69922 50 50 729.98047 68 68 505.85938 72 72 488.76953 73 73 390.625 75 75 618.65234 76 76 321.77734 79 79 324.70703 81 81 615.72266 82 82 550.78125 86 86 426.7578 87 87 357.91016 89 89 528.8086 1739 1739 816.89453 2191 2191 599.6094 2193 2193 523.9258 2195 2195 603.5156 2197 2197 598.6328 2199 2199 363.76953 2203 2203 706.54297 2204 2204 651.85547 2205 2205 588.8672 2209 2209 426.7578 2210 2210 577.6367 2211 2211 605.95703]
/W [0 0 500 3 3 250 4 4 287.59766 10 10 189.9414 11 12 297.85156 15 15 219.72656 16 16 337.89062 17 17 219.72656 18 18 322.7539 19 28 464.84375 29 30 235.83984 34 34 434.5703 36 36 694.8242 37 37 587.8906 38 38 645.9961 39 39 700.6836 40 40 556.6406 41 41 484.86328 42 42 684.5703 43 43 729.98047 44 44 296.875 46 46 636.71875 47 47 527.83203 48 48 838.8672 49 49 698.73047 50 50 701.66016 51 51 540.52734 53 53 586.91406 54 54 484.86328 55 55 596.6797 56 56 660.64453 58 58 950.6836 61 61 603.5156 68 68 456.54297 69 69 492.67578 70 70 427.73438 71 71 505.85938 72 72 446.77734 73 73 309.5703 74 74 500 75 75 537.59766 76 76 270.9961 77 77 271.97266 78 78 511.71875 79 79 263.67188 80 80 789.5508 81 81 541.9922 82 82 503.90625 83 83 518.5547 84 84 502.9297 85 85 371.58203 86 86 389.64844 87 87 315.91797 88 88 530.7617 89 89 496.58203 90 90 746.58203 91 91 489.7461 92 92 514.64844 93 93 423.82812 1753 1753 547.85156 1759 1759 267.57812 1762 1763 375 2385 2385 595.7031 2388 2388 613.76953 2400 2400 1250.9766 2401 2401 1047.8516 2648 2648 581.54297 2649 2649 559.5703 2651 2651 828.6133 2652 2652 814.9414]
<0004> <0021>
<000A> <0027>
<000B> <0028>
<000C> <0029>
<000F> <002C>
<0010> <002D>
<0011> <002E>
<0012> <002F>
<0013> <0030>
<0014> <0031>
<0015> <0032>
<0016> <0033>
<0017> <0034>
<0018> <0035>
<0019> <0036>
<001A> <0037>
<001B> <0038>
<001C> <0039>
<001D> <003A>
<001E> <003B>
<0022> <003F>
<0024> <0041>
<06CB> <2026>
<088F> <0061>
<0891> <0063>
<0893> <0065>
<0895> <0067>
<0897> <0069>
<089B> <006D>
<089C> <006E>
<089D> <006F>
<08A1> <0073>
<08A2> <0074>
<08A3> <0075>
<005A> <0077>
<005B> <0078>
<005C> <0079>
<005D> <007A>
<06D9> <2013>
<06DF> <2019>
<06E2> <201C>
<06E3> <201D>
<0951> <00660074>
<0954> <00740074>
<0960> <00510075>
<0961> <00540068>
<0A58> <FB00>
<0A59> <FB01>
<0A5B> <FB03>
<0A5C> <FB04>
/W [0 0 500 3 3 250 48 48 803.71094 54 54 453.61328 68 68 485.83984 69 69 477.53906 70 70 388.67188 71 71 488.76953 76 76 275.8789 78 78 485.83984 80 80 782.71484 81 81 517.5781 86 86 352.53906 88 88 520.9961 92 92 502.9297 2132 2132 518.5547 2133 2133 481.9336 2136 2136 456.54297 2138 2138 538.5742 2141 2141 295.89844 2144 2144 647.9492 2145 2145 590.8203 2146 2146 551.7578 2156 2156 473.6328 2338 2338 569.8242]
/W [0 0 500 3 3 250 17 17 243.65234 19 28 513.6719 36 36 739.7461 38 38 705.5664 39 39 733.8867 40 40 608.8867 42 42 731.9336 44 44 366.69922 48 48 898.9258 50 50 729.98047 51 51 613.76953 54 54 503.90625 55 55 651.85547 56 56 731.9336 68 68 505.85938 69 69 541.9922 70 70 455.5664 71 71 560.5469 72 72 488.76953 73 73 390.625 74 74 520.9961 75 75 618.65234 76 76 321.77734 79 79 324.70703 80 80 904.78516 81 81 615.72266 82 82 550.78125 83 83 580.5664 85 85 427.73438 86 86 426.7578 87 87 357.91016 88 88 597.65625 89 89 528.8086 90 90 776.85547 91 91 560.5469 92 92 557.6172 2182 2182 687.9883 2188 2188 1135.7422 2191 2191 599.6094 2193 2193 523.9258 2195 2195 603.5156 2197 2197 598.6328 2199 2199 363.76953 2203 2203 706.54297 2204 2204 651.85547 2205 2205 588.8672 2209 2209 426.7578 2210 2210 577.6367 2211 2211 605.95703 2386 2386 715.8203]
<0854> <0061>
<0855> <0062>
<0858> <0065>
<085A> <0067>
<085D> <006A>
<0860> <006D>
<0861> <006E>
<0862> <006F>
<086C> <0079>
<0922> <FB02>
<0886> <00660074>
<088C> <00540068>
<088F> <0061>
<0891> <0063>
<0893> <0065>
<0895> <0067>
<0897> <0069>
<089B> <006D>
<089C> <006E>
<089D> <006F>
<08A1> <0073>
<08A2> <0074>
<08A3> <0075>
<0952> <FB00>
/W [0 0 500 3 3 250 4 4 287.59766 15 15 219.72656 17 17 219.72656 18 18 322.7539 20 22 464.84375 29 29 235.83984 36 36 694.8242 38 38 645.9961 41 41 484.86328 44 44 296.875 51 51 540.52734 54 54 484.86328 55 55 596.6797 68 68 456.54297 69 69 492.67578 70 70 427.73438 71 71 505.85938 72 72 446.77734 73 73 309.5703 74 74 500 75 75 537.59766 76 76 270.9961 78 78 511.71875 79 79 263.67188 80 80 789.5508 81 81 541.9922 82 82 503.90625 83 83 518.5547 84 84 502.9297 85 85 371.58203 86 86 389.64844 87 87 315.91797 88 88 530.7617 89 89 496.58203 90 90 746.58203 91 91 489.7461 92 92 514.64844 97 97 448.73047 98 98 250 1768 1768 350.58594 1772 1772 748.53516 2388 2388 613.76953 2401 2401 1047.8516 2650 2650 539.5508]
/W [0 0 500 3 3 250 4 4 226.5625 36 36 666.9922 38 38 615.72266 40 40 525.8789 42 42 663.5742 44 44 279.78516 50 50 667.96875 68 68 485.83984 70 70 388.67188 71 71 488.76953 72 72 400.8789 73 73 313.96484 74 74 476.5625 75 75 518.5547 76 76 275.8789 78 78 485.83984 79 79 265.625 80 80 782.71484 81 81 517.5781 82 82 446.77734 83 83 488.76953 85 85 356.9336 86 86 352.53906 87 87 306.64062 88 88 520.9961 90 90 687.9883 91 91 474.60938 92 92 502.9297 2132 2132 518.5547 2133 2133 481.9336 2136 2136 456.54297 2138 2138 538.5742 2141 2141 295.89844 2144 2144 647.9492 2145 2145 590.8203 2146 2146 551.7578 2156 2156 473.6328]
/W [0 0 500 1 1 332 12 12 778 15 15 278 19 20 500 24 24 500 30 30 778 70 70 444 71 71 306 74 74 278 78 78 833 80 80 500 84 84 394 85 85 389 928 928 997 971 971 667 1047 1047 906 1374 1379 875 2792 2792 750 2794 2794 715 2808 2808 791 2818 2818 529 2819 2819 429 2838 2838 485 2840 2840 572 2905 2905 625 3479 3479 566 3494 3494 517 4679 4679 569 4720 4720 569 4726 4726 569 4745 4745 569 5070 5070 404 6065 6065 1444 6420 6420 954]
/CIDToGIDMap /Identity
/W [0 0 500 44 44 350.58594 82 82 478.51562]
/FontName /ZPWDLK+NewCMMath-Book
/Flags 131076
/FontBBox [-1044 -3060 4087.9998 3560]
/ItalicAngle 0
/Ascent 806
/Descent -194
/CapHeight 683
/StemV 95.4
/FontFile3 25 0 R
/FontName /JWNBBG+LinLibertineBI
/Flags 131140
/FontBBox [-634.27734 -297.85156 6170.8984 1014.16016]
/ItalicAngle -12
/Ascent 894.04297
/Descent -246.09375
/CapHeight 645.01953
/StemV 168.6
/FontFile2 34 0 R
40 beginbfchar
<0001> <0020>
<000C> <002B>
<000F> <002E>
<0013> <0032>
<0014> <0033>
<0018> <0037>
<001E> <003D>
<0046> <0065>
<0047> <0066>
<004A> <0069>
<004E> <006D>
<0050> <006F>
<0054> <0073>
<0055> <0074>
<03A0> <21DD>
<03CB> <2208>
<0417> <2254>
<055E> <239B>
<055F> <239C>
<0560> <239D>
<0561> <239E>
<0562> <239F>
<0563> <23A0>
<0AE8> <D835DC34>
<0AEA> <D835DC36>
<0AF8> <D835DC44>
<0B02> <D835DC4E>
<0B03> <D835DC4F>
<0B16> <D835DC63>
<0B18> <D835DC65>
<0B59> <D835DCAE>
<0D97> <D835DEFD>
<0DA6> <D835DF0C>
<1247> <0031>
<1270> <0033>
<1276> <0032>
<1289> <0030>
<13CE> <D835DC56>
<17B1> <2211>
<1914> <2207>
2 beginbfchar
<002C> <0049>
<0052> <006F>
/Length 426412
/Type /XObject
/Subtype /Image
/Filter /DCTDecode
/Width 2136
/Height 2136
/BitsPerComponent 8
/ColorSpace [/ICCBased 27 0 R]
/Type /Font
/Subtype /Type0
/BaseFont /HQEATQ+DejaVuSansMono
/Encoding /Identity-H
/DescendantFonts [36 0 R]
/ToUnicode 38 0 R
36 0 obj
<<
/Type /Font
/Subtype /CIDFontType2
/BaseFont /HQEATQ+DejaVuSansMono
/CIDSystemInfo <<
/Registry (Adobe)
/Ordering (Identity)
/Supplement 0
>>
/FontDescriptor 37 0 R
/DW 0
/CIDToGIDMap /Identity
/W [0 0 602.0508 66 66 602.0508 68 69 602.0508 71 72 602.0508 76 76 602.0508 82 82 602.0508 88 89 602.0508 92 92 602.0508]
>>
/Length 364
/Filter /FlateDecode
/N 3
/Alternate [/CalRGB <<
/WhitePoint [0.9505 1 1.0888]
/Gamma [2.2 2.2 2.2]
/Matrix [0.4124 0.2126 0.0193 0.3576 0.715 0.1192 0.1805 0.0722 0.9505]
>>]
/Type /FontDescriptor
/FontName /HQEATQ+DejaVuSansMono
/Flags 131077
/FontBBox [-557.6172 -374.51172 717.77344 1027.832]
/ItalicAngle 0
/Ascent 759.7656
/Descent -240.23438
/CapHeight 759.7656
/StemV 95.4
/FontFile2 39 0 R
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: procset CIDInit
%%IncludeResource: procset CIDInit
%%BeginResource: CMap Custom
%%Title: (Custom Adobe Identity 0)
%%Version: 1
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo 3 dict dup begin
/Registry (Adobe) def
/Ordering (Identity) def
/Supplement 0 def
end def
/CMapName /Custom def
/CMapVersion 1 def
/CMapType 0 def
1 begincodespacerange
<0000> <ffff>
endcodespacerange
10 beginbfchar
<0042> <005F>
<0044> <0061>
<0045> <0062>
<0047> <0064>
<0048> <0065>
<004C> <0069>
<0052> <006F>
<0058> <0075>
<0059> <0076>
<005C> <0079>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
/FunctionType 2
/Range [0 1 0 1 0 1]
/C0 [1 0.29803923 0.050980393]
/C1 [0.9882353 0.58431375 0.007843138]
/Domain [0 1]
/N 1
>>
endobj
31 0 obj
<<
/ShadingType 2
/ColorSpace [/ICCBased 32 0 R]
/Function 30 0 R
/Coords [94.141 255 94.141 0.188]
/Extend [true true]
>>
endobj
33 0 obj
<<
/Type /Pattern
/PatternType 2
/Shading 31 0 R
/Matrix [0.17267324 0 0 -0.17267324 7.7433047 45.999214]
>>
endobj
34 0 obj
<<
/Length 677
/Length 1063
/Rect [260.22952 659.3149 296.66165 652.07465]
/Rect [70.86625 668.2505 145.50298 661.1553]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [518.7599 668.2505 524.4103 661.1553]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 654.00525 171.33794 646.765]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 654.00525 524.4103 646.765]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 639.61505 148.22612 632.3748]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 622.1863 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 639.61505 524.4103 632.3748]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 622.1863 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 625.2248 180.05522 617.98456]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 390.36905 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 625.2248 524.4103 617.98456]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 390.36905 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 610.8346 138.15532 603.59436]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 307.35385 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 610.8346 524.4103 603.59436]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 307.35385 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 596.44434 201.30864 589.2041]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 253.11911 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 596.44434 524.4103 589.2041]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [5 0 R /XYZ 70.86625 253.11911 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 582.0541 126.27982 574.81384]
/D [2 0 R /XYZ 147.44785 488.65274 0]
/D [6 0 R /XYZ 70.86625 729.1641 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 582.0541 524.4103 574.81384]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [6 0 R /XYZ 70.86625 729.1641 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 567.6639 172.87944 560.42365]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [6 0 R /XYZ 70.86625 660.5391 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 567.6639 524.4103 560.42365]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [6 0 R /XYZ 70.86625 660.5391 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [70.86625 548.42365 123.25053 541.3284]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [7 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [518.7599 548.42365 524.4103 541.3284]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [7 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 534.1784 191.01225 526.9382]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [7 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 534.1784 524.4103 526.9382]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [7 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 519.7882 133.28374 512.548]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [7 0 R /XYZ 70.86625 125.407394 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 519.7882 524.4103 512.548]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [7 0 R /XYZ 70.86625 125.407394 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 505.39795 186.1353 498.1577]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [8 0 R /XYZ 70.86625 498.92035 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 505.39795 524.4103 498.1577]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [8 0 R /XYZ 70.86625 498.92035 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 491.00772 196.53374 483.7675]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [9 0 R /XYZ 70.86625 570.8715 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 491.00772 524.4103 483.7675]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [9 0 R /XYZ 70.86625 570.8715 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [70.86625 471.7675 98.72611 464.67227]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [11 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [518.7599 471.7675 524.4103 464.67227]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [11 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 457.52225 133.28374 450.282]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [11 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 457.52225 524.4103 450.282]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [11 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 443.13202 130.30815 435.89178]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [11 0 R /XYZ 70.86625 427.60233 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 443.13202 524.4103 435.89178]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [11 0 R /XYZ 70.86625 427.60233 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [70.86625 423.89178 112.046425 416.79657]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [12 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [518.7599 423.89178 524.4103 416.79657]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [12 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 409.64658 125.995155 402.40634]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [12 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 409.64658 524.4103 402.40634]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [12 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 395.25635 159.92436 388.0161]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [12 0 R /XYZ 70.86625 427.60233 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 395.25635 524.4103 388.0161]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [12 0 R /XYZ 70.86625 427.60233 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [70.86625 376.0161 169.12505 368.9209]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [13 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [518.7599 376.0161 524.4103 368.9209]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [13 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 361.7709 109.489784 354.53067]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [13 0 R /XYZ 70.86625 755.2515 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 361.7709 524.4103 354.53067]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [13 0 R /XYZ 70.86625 755.2515 0]
>> <<
/Type /Annot
/Subtype /Link
/Rect [81.14652 347.38065 137.77397 340.1404]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [13 0 R /XYZ 70.86625 427.60233 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [519.297 347.38065 524.4103 340.1404]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [13 0 R /XYZ 70.86625 427.60233 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [70.86625 328.1404 196.53374 321.0452]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [14 0 R /XYZ 70.86625 781.0248 0]
>>
>> <<
/Type /Annot
/Subtype /Link
/Rect [513.1095 328.1404 524.4103 321.0452]
/Border [0 0 0]
/F 4
/A <<
/Type /Action
/S /GoTo
/D [14 0 R /XYZ 70.86625 781.0248 0]
>>
/Count 2
/Kids [2 0 R 5 0 R]
/Count 11
/Kids [2 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R]
>>
endobj
56 0 obj
<<
/Parent 55 0 R
/Next 66 0 R
/First 57 0 R
/Last 65 0 R
/Count -7
/Title (Introduction)
/Dest [5 0 R /XYZ 70.86625 781.0248 0]
>>
endobj
57 0 obj
<<
/Parent 56 0 R
/Next 58 0 R
/Title (Game Summary)
/Dest [5 0 R /XYZ 70.86625 755.2515 0]
>>
endobj
58 0 obj
<<
/Parent 56 0 R
/Next 61 0 R
/Prev 57 0 R
/First 59 0 R
/Last 60 0 R
/Count -2
/Title (Inspiration)
/Dest [5 0 R /XYZ 70.86625 622.1863 0]
>>
endobj
59 0 obj
<<
/Parent 58 0 R
/Next 60 0 R
/Title (Pirate Software)
/Dest [5 0 R /XYZ 70.86625 539.1711 0]
>>
endobj
60 0 obj
<<
/Parent 58 0 R
/Prev 59 0 R
/Title (Other Inspirations)
/Dest [5 0 R /XYZ 70.86625 486.35544 0]
>>
endobj
61 0 obj
<<
/Parent 56 0 R
/Next 62 0 R
/Prev 58 0 R
/Title (Player Experience)
/Dest [5 0 R /XYZ 70.86625 390.36905 0]
>>
endobj
62 0 obj
<<
/Parent 56 0 R
/Next 63 0 R
/Prev 61 0 R
/Title (Platform)
/Dest [5 0 R /XYZ 70.86625 307.35385 0]
>>
endobj
63 0 obj
<<
/Parent 56 0 R
/Next 64 0 R
/Prev 62 0 R
/Title (Development Software)
/Dest [5 0 R /XYZ 70.86625 253.11911 0]
>>
endobj
64 0 obj
<<
/Parent 56 0 R
/Next 65 0 R
/Prev 63 0 R
/Title (Genre)
/Dest [6 0 R /XYZ 70.86625 729.1641 0]
>>
endobj
65 0 obj
<<
/Parent 56 0 R
/Prev 64 0 R
/Title (Target Audience)
/Dest [6 0 R /XYZ 70.86625 660.5391 0]
>>
endobj
66 0 obj
<<
/Parent 55 0 R
/Next 71 0 R
/Prev 56 0 R
/First 67 0 R
/Last 70 0 R
/Count -4
/Title (Concept)
/Dest [7 0 R /XYZ 70.86625 781.0248 0]
>>
endobj
67 0 obj
<<
/Parent 66 0 R
/Next 68 0 R
/Title (Gameplay Overview)
/Dest [7 0 R /XYZ 70.86625 755.2515 0]
>>
endobj
68 0 obj
<<
/Parent 66 0 R
/Next 69 0 R
/Prev 67 0 R
/Title (Themes)
/Dest [7 0 R /XYZ 70.86625 125.407394 0]
>>
endobj
69 0 obj
<<
/Parent 66 0 R
/Next 70 0 R
/Prev 68 0 R
/Title (Primary Mechanics)
/Dest [8 0 R /XYZ 70.86625 498.92035 0]
>>
endobj
70 0 obj
<<
/Parent 66 0 R
/Prev 69 0 R
/Title (Secondary Mechanics)
/Dest [9 0 R /XYZ 70.86625 570.8715 0]
>>
endobj
71 0 obj
<<
/Parent 55 0 R
/Next 74 0 R
/Prev 66 0 R
/First 72 0 R
/Last 73 0 R
/Count -2
/Title (Art)
/Dest [11 0 R /XYZ 70.86625 781.0248 0]
>>
endobj
72 0 obj
<<
/Parent 71 0 R
/Next 73 0 R
/Title (Themes)
/Dest [11 0 R /XYZ 70.86625 755.2515 0]
>>
endobj
73 0 obj
<<
/Parent 71 0 R
/Prev 72 0 R
/Title (Design)
/Dest [11 0 R /XYZ 70.86625 427.60233 0]
>>
endobj
74 0 obj
<<
/Parent 55 0 R
/Next 77 0 R
/Prev 71 0 R
/First 75 0 R
/Last 76 0 R
/Count -2
/Title (Audio)
/Dest [12 0 R /XYZ 70.86625 781.0248 0]
>>
endobj
75 0 obj
<<
/Parent 74 0 R
/Next 76 0 R
/Title (Music)
/Dest [12 0 R /XYZ 70.86625 755.2515 0]
>>
endobj
76 0 obj
<<
/Parent 74 0 R
/Prev 75 0 R
/Title (Sound Effects)
/Dest [12 0 R /XYZ 70.86625 427.60233 0]
>>
endobj
77 0 obj
<<
/Parent 55 0 R
/Next 80 0 R
/Prev 74 0 R
/First 78 0 R
/Last 79 0 R
/Count -2
/Title (Game Experience)
/Dest [13 0 R /XYZ 70.86625 781.0248 0]
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><dc:title><rdf:Alt><rdf:li xml:lang="x-default">IO: Game Design Document</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Jengamon</rdf:li></rdf:Seq></dc:creator><xmp:CreatorTool>Typst 0.11.0</xmp:CreatorTool><xmp:CreateDate>2024-04-21T21:31:36Z</xmp:CreateDate><xmp:ModifyDate>2024-04-21T21:31:36Z</xmp:ModifyDate><xmpTPg:NPages>2</xmpTPg:NPages><dc:format>application/pdf</dc:format><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmpMM:DocumentID>SwZqmbEjzBrBhAH/JLE4Uw==</xmpMM:DocumentID><xmpMM:InstanceID>uDGo2uuOY1wCjXxvZ4AnHg==</xmpMM:InstanceID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?>
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><dc:title><rdf:Alt><rdf:li xml:lang="x-default">IO: Game Design Document</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Jengamon</rdf:li></rdf:Seq></dc:creator><xmp:CreatorTool>Typst 0.11.0</xmp:CreatorTool><xmp:CreateDate>2024-04-22T02:39:32Z</xmp:CreateDate><xmp:ModifyDate>2024-04-22T02:39:32Z</xmp:ModifyDate><xmpTPg:NPages>11</xmpTPg:NPages><dc:format>application/pdf</dc:format><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmpMM:DocumentID>SwZqmbEjzBrBhAH/JLE4Uw==</xmpMM:DocumentID><xmpMM:InstanceID>Ahzfvh5tPxHSW+ZH8VghXg==</xmpMM:InstanceID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?>
0000601957 00000 n
0000598298 00000 n
0000597933 00000 n
0000597506 00000 n
0000600633 00000 n
0000147223 00000 n
0000073369 00000 n
0000073004 00000 n
0000072577 00000 n
0000105855 00000 n
0000113200 00000 n
0000115122 00000 n
0000120731 00000 n
0000125147 00000 n
0000130967 00000 n
0000132414 00000 n
0000135950 00000 n
0000139499 00000 n
0000143058 00000 n
0000000174 00000 n
0000000921 00000 n
0000001189 00000 n
0000002256 00000 n
0000010748 00000 n
0000010909 00000 n
0000011572 00000 n
0000011842 00000 n
0000012840 00000 n
0000021591 00000 n
0000021751 00000 n
0000022712 00000 n
0000022974 00000 n
0000024303 00000 n
0000037008 00000 n
0000037181 00000 n
0000037835 00000 n
0000038072 00000 n
0000039339 00000 n
0000166431 00000 n
0000593041 00000 n
0000593656 00000 n
0000594840 00000 n
0000595268 00000 n
0000595429 00000 n
0000596721 00000 n
0000595579 00000 n
0000595713 00000 n
0000597149 00000 n
0000597207 00000 n
0000598658 00000 n
0000600774 00000 n
0000602279 00000 n
0000602027 00000 n
0000602165 00000 n
0000602362 00000 n
0000602535 00000 n
0000603782 00000 n
0000000176 00000 n
0000001533 00000 n
0000001795 00000 n
0000003608 00000 n
0000021877 00000 n
0000022038 00000 n
0000023133 00000 n
0000023402 00000 n
0000024913 00000 n
0000038699 00000 n
0000038860 00000 n
0000039731 00000 n
0000040001 00000 n
0000041196 00000 n
0000052156 00000 n
0000052318 00000 n
0000052610 00000 n
0000052884 00000 n
0000053573 00000 n
0000058099 00000 n
0000058261 00000 n
0000058631 00000 n
0000058897 00000 n
0000059699 00000 n
0000070454 00000 n
0000071808 00000 n
0000072236 00000 n
0000072294 00000 n
0000083710 00000 n
0000108363 00000 n
0000113778 00000 n
0000115263 00000 n
0000120872 00000 n
0000125288 00000 n
0000131109 00000 n
0000132556 00000 n
0000136092 00000 n
0000139641 00000 n
0000143200 00000 n
0000150778 00000 n
0000147353 00000 n
0000147516 00000 n
0000147636 00000 n
0000147813 00000 n
0000147936 00000 n
0000148063 00000 n
0000148204 00000 n
0000148336 00000 n
0000148480 00000 n
0000148608 00000 n
0000148731 00000 n
0000148904 00000 n
0000149029 00000 n
0000149160 00000 n
0000149301 00000 n
0000149428 00000 n
0000149598 00000 n
0000149713 00000 n
0000149829 00000 n
0000150001 00000 n
0000150115 00000 n
0000150238 00000 n
0000150420 00000 n
0000150531 00000 n
0000150649 00000 n
0000150861 00000 n
0000150914 00000 n
0000150972 00000 n
0000151145 00000 n
0000152393 00000 n