WIP
This commit is contained in:
parent
278b48b68d
commit
0b828d8a46
|
@ -1,3 +1,7 @@
|
|||
# art-lost-in-time
|
||||
# Art lost in time
|
||||
|
||||
a short game about challenges of digital art preservation
|
||||
a short game about challenges of digital art preservation
|
||||
|
||||
> I like to hear the people joke about that all we do all day is moving bits around our harddisks...
|
||||
>
|
||||
> Michael Dille (who helped to retrieve lost Warhol's digital art)
|
||||
|
|
|
@ -0,0 +1,193 @@
|
|||
title = "Art lost in time"
|
||||
|
||||
cont=verb{
|
||||
n="click to continue",
|
||||
act = function()
|
||||
walk(here().cont)
|
||||
end
|
||||
}
|
||||
|
||||
intro = room{
|
||||
d = [[
|
||||
ART LOST IN TIME
|
||||
|
||||
a short game about challenges of digital art preservation
|
||||
]],
|
||||
cont = 'intro2'
|
||||
}
|
||||
|
||||
intro2 = room{
|
||||
d = [[
|
||||
In 1985 Andy Warhol created a portrait of singer Debbie Harry using brand new Amiga 1000 computer. This was just a publicity stunt organized by people from Commodore.
|
||||
|
||||
But Warhol kept the computer he was given by Commodore and actually used it to make some art.
|
||||
|
||||
Now after 30 years is up to you to use all your retrocomputing skills to retrieve ART LOST IN TIME.
|
||||
|
||||
But be aware - these old disks are fragile!
|
||||
]],
|
||||
img = "painting.png",
|
||||
cont = 'museum'
|
||||
}
|
||||
|
||||
museum = room{
|
||||
n = 'in Andy Warhol Museum',
|
||||
d = [[
|
||||
You brough all your retrocomputing stuff to the museum to hack into these ages old disks.
|
||||
]],
|
||||
img = "museum.png"
|
||||
}
|
||||
|
||||
examine = verb{
|
||||
n = "examine",
|
||||
params = {"desc"},
|
||||
act = function(what)
|
||||
local description = game[what].desc
|
||||
p("You look closely at " .. game[what].n .. ":")
|
||||
if type(description)=='string' then
|
||||
p(description)
|
||||
elseif type(description)=='function' then
|
||||
description()
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
put = verb{
|
||||
n = "put",
|
||||
params = {"floppylike", "_into", "computerlike"},
|
||||
act = function(what, _into, where)
|
||||
if where == 'amiga' and (floppy_workbench.w == 'amiga' or floppy_graphics.w == 'amiga') then
|
||||
p "(You first ejected floppy which was in Amiga's drive.)"
|
||||
if floppy_graphics.w=='amiga' then move("floppy_graphics", "museum") end
|
||||
if floppy_workbench.w=='amiga' then move("floppy_workbench", "museum") end
|
||||
end
|
||||
|
||||
if what == 'floppy_workbench' and where == 'notebook' then
|
||||
p "You don't need this. As Amiga enthusiast you have already installed official WORKBENCH copy on your computer."
|
||||
elseif what == 'floppy_workbench' and where == 'amiga' then
|
||||
p "You put WORKBENCH floppy into Amiga."
|
||||
move("floppy_workbench", "amiga")
|
||||
elseif what == 'floppy_graphics' and where == 'amiga' then
|
||||
p "You put GRAPHICSART floppy into Amiga."
|
||||
move("floppy_graphics", "amiga")
|
||||
elseif what == 'floppy_graphics' and where == 'notebook' then
|
||||
p "You put GRAPHICSART floppy into your computer and created bit copy of it."
|
||||
notebook.bitcopy = true
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
use = verb{
|
||||
n = "use",
|
||||
params = {"use"},
|
||||
act = function(what)
|
||||
local fun = game[what].use
|
||||
if type(fun)=='string' then
|
||||
p(fun)
|
||||
elseif type(fun)=='function' then
|
||||
fun()
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
into = item{
|
||||
n = "into",
|
||||
_into = true,
|
||||
w = "museum"
|
||||
}
|
||||
|
||||
amiga = item{
|
||||
n = "Warhol's Amiga",
|
||||
d = 'There is original Amiga 1000 which was used by Andy Warhol himself.',
|
||||
w = 'museum',
|
||||
desc = [[Amiga 1000 - the first multimedia computer ever. It has stunning 256KB of RAM, CPU clocked at 7.09MHz. Such a great machine!
|
||||
Also this one was used by Andy Warhol.]],
|
||||
computerlike = true,
|
||||
use = function()
|
||||
if amiga.dead then
|
||||
p "You pressed the power button hard but Amiga seems to be dead forever."
|
||||
p "Good job - you bricked museum piece!"
|
||||
return
|
||||
end
|
||||
|
||||
if floppy_workbench.w == 'amiga' then
|
||||
p "You tried to power up Warhol's Amiga."
|
||||
p "It actually started and Workbench interface appeared on the screen."
|
||||
p "But when you clicked on PROGRAMS icons whole thing freezed and screen went black."
|
||||
p "(also you smell some smoke)"
|
||||
amiga.dead = true
|
||||
elseif floppy_graphics.w == 'amiga' then
|
||||
p "You tried to power up Warhol's Amiga."
|
||||
p "It actually started and but then it made horrible floppy noise."
|
||||
p "(Image Floppotron going really wild.)"
|
||||
p "Ouch! It sounds like it eaten the floppy."
|
||||
p "Which means you are unable to found Andy's art. GAME OVER!"
|
||||
p "(also you smell some smoke)"
|
||||
amiga.dead = true
|
||||
else
|
||||
p "It will not start without floppy in it."
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
floppies = item{
|
||||
n = "floppies",
|
||||
d = "There is a stack of floppies in front of you.",
|
||||
w = "museum",
|
||||
desc = function()
|
||||
img "floppies.png"
|
||||
if floppies.searched == 0 then
|
||||
p "You found floppy labeled WORKBENCH."
|
||||
p "(WORKBENCH was operating system for Amiga.)"
|
||||
move('floppy_workbench', 'museum')
|
||||
elseif floppies.searched == 1 then
|
||||
p "You found floppy labeled WORMS."
|
||||
p "Wow! I did not expect to find out that Andy Warhol played Worms."
|
||||
elseif floppies.searched == 2 then
|
||||
p "You found floppy labeled DELUXE PAINT."
|
||||
elseif floppies.searched == 3 then
|
||||
p 'You found yellow floppy with label "GRAPHICSART".'
|
||||
move("floppy_graphics", "museum")
|
||||
elseif floppies.searched == 4 then
|
||||
p 'You found floppy labeled "tax reports".'
|
||||
p "Nothing interesting here."
|
||||
-- elseif floppies.searched == 4 then
|
||||
-- p 'You found floppy labeled "PORN".'
|
||||
-- p "Seriously?"
|
||||
else
|
||||
p "There is nothing interesting anymore."
|
||||
p "It's just a stack of floppies."
|
||||
end
|
||||
floppies.searched = floppies.searched + 1
|
||||
end,
|
||||
searched = 0
|
||||
}
|
||||
|
||||
notebook = item{
|
||||
n = "your notebook",
|
||||
d = "You have your own notebook.",
|
||||
desc = "Your trusty Toshiba notebook running modern Windows XP. It's equipped with external floppy drive.",
|
||||
w = "museum",
|
||||
computerlike = true,
|
||||
use = function()
|
||||
if not notebook.bitcopy then
|
||||
p "I have no idea what to do with my computer now."
|
||||
return
|
||||
end
|
||||
|
||||
p "I started my computer and loaded bitcopy of GRAPHICSART floppy into WinUAE emulator."
|
||||
-- TODO - zde bude samotná hra
|
||||
end
|
||||
}
|
||||
|
||||
floppy_graphics = item{
|
||||
n = 'floppy "GRAPHICSART"',
|
||||
desc = "It's yellow floppy with handwritten letters GRAPHICSART. I wonder what's on it.",
|
||||
floppylike = true
|
||||
}
|
||||
|
||||
floppy_workbench = item{
|
||||
n = 'WORKBENCH floppy',
|
||||
desc = "There is a printed label: Amiga Workbench 1.3",
|
||||
floppylike = true
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 9.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
27
index.html
27
index.html
|
@ -2,7 +2,7 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>Vlak ve 4:20</title>
|
||||
<title>Art lost in time</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style>
|
||||
* {
|
||||
|
@ -20,13 +20,17 @@
|
|||
}
|
||||
|
||||
#all {
|
||||
width: 642px;
|
||||
width: 1282px;
|
||||
height: 480px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
#img {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#all:after {
|
||||
content: "";
|
||||
display: table;
|
||||
|
@ -63,9 +67,10 @@
|
|||
<body>
|
||||
|
||||
<div id="all">
|
||||
<img src="art/titulka.png" id="img">
|
||||
<div id="texty">
|
||||
<p>Demo hry vlak ve 4:20</p>
|
||||
<p>Pokud se hra nespustí, dejte vědět Severákovi a napište mu, jaký prohlížeč používáte.</p>
|
||||
<p>Art lost in time</p>
|
||||
<p>If the game does not start, please report it back to Severák. Please include info which browser (and version) did you used.</p>
|
||||
</div>
|
||||
<div id="menu">
|
||||
</div>
|
||||
|
@ -107,13 +112,18 @@ function ui_errormsg(txt)
|
|||
el_texty.scrollTop = el_texty.scrollHeight;
|
||||
}
|
||||
|
||||
function ui_img(src)
|
||||
{
|
||||
document.getElementById('img').src = 'art/' + src;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<script type="application/lua">
|
||||
local js = require "js"
|
||||
local window = js.global
|
||||
|
||||
gamefile = "syrecky.lua"
|
||||
gamefile = "art.lua"
|
||||
|
||||
-- Hagen game engine
|
||||
-- (c) Severák 2019-2021
|
||||
|
@ -164,6 +174,10 @@ function cls()
|
|||
window:ui_cls()
|
||||
end
|
||||
|
||||
function img(src)
|
||||
window:ui_img(src)
|
||||
end
|
||||
|
||||
local function split_lines(str)
|
||||
local result = {}
|
||||
for line in str:gmatch '[^\n]+' do
|
||||
|
@ -189,6 +203,9 @@ end
|
|||
|
||||
function walk(where, nocls)
|
||||
assert(game[where], "room " .. where .. " does not exist")
|
||||
if game[where].img then
|
||||
img(game[where].img)
|
||||
end
|
||||
move("me", where)
|
||||
if not nocls then
|
||||
cls()
|
||||
|
|
Loading…
Reference in New Issue