game skeleton
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
// Package character registers the game's characters.
|
||||
//
|
||||
// Tapes are characters too, not props — the wiki is explicit about it. They
|
||||
// have no body in the scene, so they carry no W/H and never appear in
|
||||
// Scene.Actors; their voice lives in the tape channel (see world.TapeSay).
|
||||
package character
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
|
||||
"realworld/internal/world"
|
||||
)
|
||||
|
||||
// Register adds every character to the game.
|
||||
func Register(w *world.World) {
|
||||
for _, c := range []inkwell.Character{
|
||||
paul(),
|
||||
dex(),
|
||||
mysteryTape(),
|
||||
supportTape(),
|
||||
} {
|
||||
w.G.CharacterManager.Register(c)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package character
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
|
||||
"realworld/internal/names"
|
||||
"realworld/internal/theme"
|
||||
)
|
||||
|
||||
// dex is the personality imprint of a dead friend, permanently in slot 1 of
|
||||
// Paul's Armilla. Constant commentary, hint system, dialogue partner.
|
||||
func dex() inkwell.Character {
|
||||
return inkwell.Character{
|
||||
Name: names.Dex,
|
||||
SpeechColor: theme.Amber,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package character
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
|
||||
"realworld/internal/names"
|
||||
"realworld/internal/theme"
|
||||
)
|
||||
|
||||
// mysteryTape is the tape found in the alley — in truth Norman's Personal
|
||||
// Tape, but the player only learns that in the finale.
|
||||
//
|
||||
// Its voice is a colder, greyer amber than Dex's. That pays off in reverse:
|
||||
// it never once spoke in the same voice as the friend.
|
||||
func mysteryTape() inkwell.Character {
|
||||
return inkwell.Character{
|
||||
Name: names.TapeMystery,
|
||||
SpeechColor: theme.RGB(0xB9A98A),
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package character
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
|
||||
"realworld/internal/names"
|
||||
"realworld/internal/theme"
|
||||
)
|
||||
|
||||
// paul is the player character: a junk dealer and street survivor, technically
|
||||
// competent, living on the edge of the city.
|
||||
func paul() inkwell.Character {
|
||||
return inkwell.Character{
|
||||
Name: names.Paul,
|
||||
Speed: 96,
|
||||
W: 28,
|
||||
H: 68,
|
||||
Start: inkwell.Point{X: 120, Y: 232},
|
||||
// Bone white: the world and Paul. If something is amber, a tape said
|
||||
// it — see the colour rule in README.
|
||||
SpeechColor: theme.Ink,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package character
|
||||
|
||||
import (
|
||||
inkwell "git.teletypegames.org/engines/inkwell"
|
||||
|
||||
"realworld/internal/names"
|
||||
"realworld/internal/theme"
|
||||
)
|
||||
|
||||
// supportTape answers everything with basic information, insufferably. Dex
|
||||
// hates it. Acquired in Chinatown (beat 5) — not reachable yet.
|
||||
func supportTape() inkwell.Character {
|
||||
return inkwell.Character{
|
||||
Name: names.TapeSupport,
|
||||
SpeechColor: theme.RGB(0xE8C86A),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user