diff --git a/.gitignore b/.gitignore index dda5207..b08e791 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ dist/ build/ *.mp4 venv/ +lib/fonts +favicon.ico +scrapeboard_new.webm diff --git a/NS.py b/NS.py index c89c248..afef657 100644 --- a/NS.py +++ b/NS.py @@ -70,8 +70,8 @@ class NS(Game, Animation): self.subscribe(self.respond, KEYDOWN) self.subscribe(self.respond, KEYUP) self.subscribe(self.respond) - for bgm in self.audio.bgm.values(): - bgm.volume = 0.65 + # for bgm in self.audio.bgm.values(): + # bgm.volume = 0.65 ds = self.get_display_surface() self.background = Surface(ds.get_size()) self.background.fill((0, 0, 0)) @@ -341,7 +341,7 @@ class Tony(Sprite): w, h = dsr.w + 40, int(dsr.h * .65) glow = Surface((w, h), SRCALPHA) for ii, y in enumerate(range(h, 0, -8)): - hue = range(200, 140, -5)[(ii - offset) % 12] + hue = range(240, 200, -2)[(ii - offset) % 12] alpha = min(100, int(round(y / float(h - 10) * 100))) color = get_hsla_color(hue, 100, 50, alpha) if ii == 0: @@ -1070,10 +1070,10 @@ class Platform(GameChild): self.border.load_from_path(self.get_resource("DancePadClear.png"), True) self.border.location.midbottom = dsr.centerx, dsr.bottom self.lights = [ - Light(self, "cyan", NS.LNW), - Light(self, "magenta", NS.LNE), - Light(self, "yellow", NS.LSE), - Light(self, "white", NS.LSW) + Light(self, self.get_configuration("pads", "nw_color"), NS.LNW), + Light(self, self.get_configuration("pads", "ne_color"), NS.LNE), + Light(self, self.get_configuration("pads", "se_color"), NS.LSE), + Light(self, self.get_configuration("pads", "sw_color"), NS.LSW) ] def reset(self): diff --git a/config b/config index 7b1a10b..53f6c7a 100644 --- a/config +++ b/config @@ -5,14 +5,14 @@ url = http://shampoo.ooo/games/esb version = 0.2.3 init-script = OPEN-GAME additional-packages = lib -data-exclude = local/, *.pyc +data-exclude = local/, *.pyc, .git*, README, build/, dist/, *.egg-info, *.py, MANIFEST*, PKG-INFO, *.pyc, *.swp, *~, changelog, scrapeboard, OPEN-GAME, lib [display] caption = Scrapeboard -show-framerate = no +show-framerate = False dimensions = 640, 480 -fullscreen = no -attract-gif-alpha = .95 +fullscreen = False +attract-gif-alpha = 0.95 [mouse] visible = False @@ -22,12 +22,14 @@ quit = K_ESCAPE up = K_u [audio] -sfx-volume = .8 +sfx-volume = 0.8 +panel-enabled = True +volume = 1.0 [input] buffer = 0 -arduino-port = /dev/ttyACM0 -serial = yes +arduino-port = /dev/ttyACM1 +serial = True [time] timer-max-time = 10000 @@ -36,3 +38,16 @@ timer-addition = 1000 sword-delay = 300 attract-gif-length = 10000 attract-board-length = 3600 + +[bgm] +title = resource/bgm/title.ogg, 1.00 +level_0 = /home/frank/storage/audio/bgm/bat-tree-habitat-key/level-0.wav, 1.00 +level_1 = /home/frank/storage/audio/bgm/esp-hadouken/Cube-Levers.ogg, 1.00 +level_2 = /home/frank/storage/audio/bgm/esp-hadouken/Bog.ogg, 1.00 +end = /home/frank/storage/audio/bgm/phone-call-from-dark-magnet.wav, 1.00 + +[pads] +nw_color = #00FF88 +ne_color = #FF88FF +se_color = #2222FF +sw_color = #FF2222 diff --git a/config.backup b/config.backup new file mode 100644 index 0000000..128f481 --- /dev/null +++ b/config.backup @@ -0,0 +1,47 @@ +[setup] +license = Public Domain +title = Scrapeboard +url = http://shampoo.ooo/games/esb +version = 0.2.3 +init-script = OPEN-GAME +additional-packages = lib +data-exclude = local/, *.pyc, .git*, README, build/, dist/, *.egg-info, *.py, MANIFEST*, PKG-INFO, *.pyc, *.swp, *~, changelog, scrapeboard, OPEN-GAME, lib + +[display] +caption = Scrapeboard +show-framerate = False +dimensions = 640, 480 +fullscreen = False +attract-gif-alpha = 0.95 + +[mouse] +visible = False + +[keys] +quit = K_ESCAPE +up = K_u + +[audio] +sfx-volume = 0.8 +panel-enabled = True +volume = 1.0 + +[input] +buffer = 0 +arduino-port = /dev/ttyACM1 +serial = True + +[time] +timer-max-time = 10000 +timer-start-time = 7000 +timer-addition = 1000 +sword-delay = 300 +attract-gif-length = 10000 +attract-board-length = 3600 + +[bgm] +title = resource/bgm/title.ogg, 1.00 +level_0 = /home/frank/storage/audio/bgm/bat-tree-habitat-key/level-0.wav, 1.00 +level_1 = /home/frank/storage/audio/bgm/esp-hadouken/Cube-Levers.ogg, 1.00 +level_2 = /home/frank/storage/audio/bgm/esp-hadouken/Bog.ogg, 1.00 +end = /home/frank/storage/audio/bgm/odoboe/odoboe-2.wav, 1.00 diff --git a/www/Ink.png b/www/Ink.png new file mode 120000 index 0000000..3c981a2 --- /dev/null +++ b/www/Ink.png @@ -0,0 +1 @@ +../resource/Ink.png \ No newline at end of file diff --git a/www/ad_description_transparent_0.png b/www/ad_description_transparent_0.png new file mode 100644 index 0000000..02112e1 Binary files /dev/null and b/www/ad_description_transparent_0.png differ diff --git a/www/ad_description_transparent_1.png b/www/ad_description_transparent_1.png new file mode 100644 index 0000000..e504fdd Binary files /dev/null and b/www/ad_description_transparent_1.png differ diff --git a/www/ad_description_transparent_2.png b/www/ad_description_transparent_2.png new file mode 100644 index 0000000..81e95c6 Binary files /dev/null and b/www/ad_description_transparent_2.png differ diff --git a/www/ad_description_transparent_3.png b/www/ad_description_transparent_3.png new file mode 100644 index 0000000..d379105 Binary files /dev/null and b/www/ad_description_transparent_3.png differ diff --git a/www/ad_head_transparent_0.png b/www/ad_head_transparent_0.png new file mode 100644 index 0000000..46e2d83 Binary files /dev/null and b/www/ad_head_transparent_0.png differ diff --git a/www/ad_head_transparent_1.png b/www/ad_head_transparent_1.png new file mode 100644 index 0000000..8713457 Binary files /dev/null and b/www/ad_head_transparent_1.png differ diff --git a/www/ad_head_transparent_2.png b/www/ad_head_transparent_2.png new file mode 100644 index 0000000..eb02745 Binary files /dev/null and b/www/ad_head_transparent_2.png differ diff --git a/www/ad_head_transparent_wide.png b/www/ad_head_transparent_wide.png new file mode 100644 index 0000000..86b2d73 Binary files /dev/null and b/www/ad_head_transparent_wide.png differ diff --git a/www/ad_instructions_transparent_0.png b/www/ad_instructions_transparent_0.png new file mode 100644 index 0000000..6626203 Binary files /dev/null and b/www/ad_instructions_transparent_0.png differ diff --git a/www/ad_instructions_transparent_1.png b/www/ad_instructions_transparent_1.png new file mode 100644 index 0000000..e9ff898 Binary files /dev/null and b/www/ad_instructions_transparent_1.png differ diff --git a/www/background.png b/www/background.png new file mode 100644 index 0000000..e23e371 Binary files /dev/null and b/www/background.png differ diff --git a/www/index.php b/www/index.php index b84465c..fc0e44d 100644 --- a/www/index.php +++ b/www/index.php @@ -1,63 +1,182 @@ - - - Electric Scrapeboard - - - -
- - - -
-
- So you think you can skateboard, but can you scrapeboard, you slime bag? -
-
- - - - - -
-
-
- We have the technology to put you on a board which is a - wireless electric video game controller. Do you have the - moves to skate through a gauntlet of goons all the way - to Tony Hawk? - @diskmem - @snakesandrews - @ClementShimizu -
-
- We have the technology to put you on a board which is a - wireless electric video game controller. Do you have the - moves to skate through a gauntlet of goons all the way - to Tony Hawk? -
-
- We have the technology to put you on a board which is a - wireless electric video game controller. Do you have the - moves to skate through a gauntlet of goons all the way - to Tony Hawk? -
-
- We have the technology to put you on a board which is a - wireless electric video game controller. Do you have the - moves to skate through a gauntlet of goons all the way - to Tony Hawk? -
-
- We have the technology to put you on a board which is a - wireless electric video game controller. Do you have the - moves to skate through a gauntlet of goons all the way - to Tony Hawk? -
-
-
- -
- + + + + + + + + + + + + + + + + + + + Scrapeboard + + + + + +
+ + + +
+ +
+ + + + + +
+ + +
+ + +
+ +
+ +
+
+ video by @beachethan +
+
+ Scrapeboard is created by @diskmem and + @snakesandrews
+ with engineering by @ClementShimizu
+
+
+ +
+ diff --git a/www/instructions.png b/www/instructions.png new file mode 100644 index 0000000..29d0271 Binary files /dev/null and b/www/instructions.png differ diff --git a/www/open_graph_card.jpg b/www/open_graph_card.jpg new file mode 100644 index 0000000..292f66c Binary files /dev/null and b/www/open_graph_card.jpg differ diff --git a/www/scrape_logo.png b/www/scrape_logo.png new file mode 120000 index 0000000..131bfb9 --- /dev/null +++ b/www/scrape_logo.png @@ -0,0 +1 @@ +../local/scrape_logo.png \ No newline at end of file diff --git a/www/style.css b/www/style.css index fb06d02..f102033 100644 --- a/www/style.css +++ b/www/style.css @@ -4,143 +4,257 @@ body { - /* background: url("../resource/Ink.png"); */ - background-size: 100% auto; - margin: 15px; + background: url("background.png"); + background-repeat: repeat; + margin: 0px; + font-family: NotCourierSans; + color: #000; } -div#title +body a { - text-align: center; - position: relative; - margin-bottom: 40px; - overflow: hidden; + color: #000; + text-decoration: underline; } -div#title img#plank +body a:hover { - border-top: 13px dotted lime; - border-radius: 100px; - border-bottom: 18px dashed lime; - z-index: 0; + text-decoration: none; } -div#title img#board +video#landing_video { - width: 100px; - transform: rotate(70deg); - background-color: yellow; - border: 3px groove pink; - position: absolute; - z-index: 1; - top: 50px; - left: 52%; - border-radius: 40px; + width: 100%; } -div#title img#lizard +div#hero { - width: 1000px; - background-color: rgba(255, 100, 100, .2); - opacity: .9; - position: absolute; - top: 0px; - z-index: 2; - left: 40%; - border-radius: 40px; -} - -div#question -{ - width: 65%; + display: grid; margin: auto; - border: 5px double cyan; - background: #B0D0D0E0; - line-height: 28px; - color: #282828; - padding: 50px; - border-radius: 18px; - font-family: NotCourierSansBold; - font-size: 34px; - margin-bottom: 18px; - position: absolute; - top: -10px; - z-index: 0; + margin-top: 20px; } -div#blob +div#hero img { - position: relative; + width: 100%; + margin: auto; } -div#detail +div#instructions { - font-family: NotCourierSans; - font-size: 80px; - text-align: justify; + margin: auto; + width: 75%; } -div#detail a +div#instructions img#line { - position: absolute; - top: 80px; - left: 30px; - font-size: 12px; - z-index: 3; + display: block; + width: 100%; } -div#detail a#blake +div#instructions img#diagram { - top: 95px; + display: block; + margin: auto; + width: 60%; + margin-top: 40px; + border-radius: 30px; } -div#detail a#clement +img#description { - top: 110px; + display: block; + margin: 40px auto; + width: 75%; } -div#detail2 -{ - font-family: NotCourierSans; - font-size: 80px; - text-align: justify; - position: absolute; - top: 1px; - left: 1px; -} +/* div#description */ +/* { */ +/* width: 75%; */ +/* margin: auto; */ +/* margin-top: 20px; */ +/* } */ -div#detail3 -{ - font-family: NotCourierSans; - font-size: 80px; - text-align: justify; - position: absolute; - top: 2px; - left: 2px; -} +/* div#description */ +/* { */ +/* position: relative; */ -div#detail4 -{ - font-family: NotCourierSans; - font-size: 80px; - text-align: justify; - position: absolute; - top: 3px; - left: 3px; - /* color: gray; */ - /* opacity: .5; */ -} +/* } */ -div#detail5 -{ - font-family: NotCourierSans; - font-size: 80px; - text-align: justify; - position: absolute; - top: 4px; - left: 4px; - /* opacity: .3; */ -} +/* div#description img */ +/* { */ +/* width: 100%; */ +/* } */ + +/* div#description div.text */ +/* { */ +/* text-align: justify; */ +/* text-align-last: center; */ +/* } */ + +/* div#description div.text:after */ +/* { */ +/* content: ""; */ +/* display: inline-block; */ +/* width: 100%; */ +/* } */ + +/* div#description div#first */ +/* { */ +/* font-size: 55px; */ +/* font-weight: bold; */ +/* } */ + +/* div#description div#second */ +/* { */ +/* font-size: 36px; */ +/* } */ + +/* div#description div#third */ +/* { */ +/* font-size: 28px; */ +/* } */ + +/* div#description div#fourth */ +/* { */ +/* font-size: 24px; */ +/* } */ + +/* div#heading div#title */ +/* { */ +/* text-align: center; */ +/* position: relative; */ +/* margin-bottom: 40px; */ +/* overflow: hidden; */ +/* } */ + +/* div#heading div#title img#plank */ +/* { */ +/* border-top: 13px dotted lime; */ +/* border-radius: 100px; */ +/* border-bottom: 18px dashed lime; */ +/* z-index: 0; */ +/* } */ + +/* div#heading div#title img#board */ +/* { */ +/* width: 100px; */ +/* transform: rotate(70deg); */ +/* background-color: yellow; */ +/* border: 3px groove pink; */ +/* position: absolute; */ +/* z-index: 1; */ +/* top: 50px; */ +/* left: 52%; */ +/* border-radius: 40px; */ +/* } */ + +/* div#heading div#title img#lizard */ +/* { */ +/* width: 1000px; */ +/* background-color: rgba(255, 100, 100, .2); */ +/* opacity: .9; */ +/* position: absolute; */ +/* top: 0px; */ +/* z-index: 2; */ +/* left: 40%; */ +/* border-radius: 40px; */ +/* } */ + +/* div#heading div#question */ +/* { */ +/* width: 65%; */ +/* margin: auto; */ +/* border: 5px double cyan; */ +/* background: #B0D0D0E0; */ +/* line-height: 28px; */ +/* color: #282828; */ +/* padding: 50px; */ +/* border-radius: 18px; */ +/* font-family: NotCourierSansBold; */ +/* font-size: 34px; */ +/* margin-bottom: 18px; */ +/* position: absolute; */ +/* top: -10px; */ +/* z-index: 0; */ +/* } */ + +/* div#blob */ +/* { */ +/* position: relative; */ +/* width: 100%; */ +/* overflow: hidden; */ +/* word-break: break-all; */ +/* } */ + +/* div#detail */ +/* { */ +/* font-family: NotCourierSans; */ +/* font-size: 80px; */ +/* text-align: justify; */ +/* } */ + +/* div#detail a */ +/* { */ +/* position: absolute; */ +/* top: 80px; */ +/* left: 30px; */ +/* font-size: 12px; */ +/* z-index: 3; */ +/* } */ + +/* div#detail a#blake */ +/* { */ +/* top: 95px; */ +/* } */ + +/* div#detail a#clement */ +/* { */ +/* top: 110px; */ +/* } */ + +/* div#detail2 */ +/* { */ +/* font-family: NotCourierSans; */ +/* font-size: 80px; */ +/* text-align: justify; */ +/* position: absolute; */ +/* top: 1px; */ +/* left: 1px; */ +/* } */ + +/* div#detail3 */ +/* { */ +/* font-family: NotCourierSans; */ +/* font-size: 80px; */ +/* text-align: justify; */ +/* position: absolute; */ +/* top: 2px; */ +/* left: 2px; */ +/* } */ + +/* div#detail4 */ +/* { */ +/* font-family: NotCourierSans; */ +/* font-size: 80px; */ +/* text-align: justify; */ +/* position: absolute; */ +/* top: 3px; */ +/* left: 3px; */ +/* /\* color: gray; *\/ */ +/* /\* opacity: .5; *\/ */ +/* } */ + +/* div#detail5 */ +/* { */ +/* font-family: NotCourierSans; */ +/* font-size: 80px; */ +/* text-align: justify; */ +/* position: absolute; */ +/* top: 4px; */ +/* left: 4px; */ +/* /\* opacity: .3; *\/ */ +/* } */ div#photo { @@ -154,27 +268,76 @@ div#photo img border: 18px ridge pink; } +div.credits +{ + margin-top: 40px; + font-family: NotCourierSans; + font-size: 24px; + text-align: center; +} + +div.credits a +{ + font-weight: bold; + font-family: Cantarell; + font-size: 28px; +} + div#boarding { - text-align: center; + display: grid; + margin: 40px auto; } div#boarding img { + box-sizing: border-box; border-radius: 30px; - margin: 40px 5px; border: 8px solid black; - width: 200px; + width: 100%; } -div#video +div#comedy { + max-width: 889px; + max-height: 500px; + width: 90vw; + height: 50.85vw; text-align: center; + margin: auto; margin-top: 50px; } -div#video iframe +div#comedy iframe { - border: 8px solid black; + /* border: 8px solid black; */ border-radius: 30px; + width: 100%; + height: 100%; +} + +div#comedy_credits +{ + font-size: 16px; + text-align: center; +} + +div#ink +{ + width: 100%; + margin: 0; + margin-top: 50px; + padding: 0; + text-align: center; + background: rgb(253, 255, 125); + overflow: hidden; +} + +div#ink img +{ + width: 100%; + max-width: 700px; + margin: -40px auto -55px; + padding: 0; + border: 0; }