from food_spring.level.Level import Level

class Pineapple(Level):

    def __init__(self, parent):
        Level.__init__(self, parent, parent.PINEAPPLE)
from random import randint

from lib.pgfw.pgfw.GameChild import GameChild
from food_spring.level.platform.Platform import Platform

class Platforms(GameChild, list):

    def __init__(self, parent):
        GameChild.__init__(self, parent)
        self.display_surface = self.get_display_surface()
        self.edge = self.display_surface.get_width()
        self.load_configuration()
        self.reset()

    def load_configuration(self):
        config = self.get_configuration("platform")
        self.gap_range = config["gap"]
        self.width_range = config["width"]
        self.first_gap = config["first-gap"]
        self.buffer = config["buffer"]

    def reset(self):
        list.__init__(self, [])
        self.add_first()
        self.populate()

    def add_first(self):
        gap = self.first_gap
        self.append(Platform(self, self.edge, -gap))
        self.add_platform(gap)

    def populate(self):
        while self.get_end() < self.edge:
            self.add_platform()

    def get_end(self):
        if not self:
            return 0
        return self[-1].rect.right

    def add_platform(self, gap=None):
        if gap is None:
            gap = randint(*self.gap_range)
        x = self.get_end() + gap
        self.append(Platform(self, randint(*self.width_range), x))

    def update(self):
        self.retire_platforms()
        self.populate()
        for platform in self:
            platform.update()

    def retire_platforms(self):
        for platform in self:
            if platform.rect.right < -self.buffer:
                self.remove(platform)
from random import randint

from pygame import Surface
from pygame.draw import line

from lib.pgfw.pgfw.Sprite import Sprite

class Platform(Sprite):

    def __init__(self, parent, width, x):
        Sprite.__init__(self, parent)
        self.width = width
        self.load_configuration()
        self.rect.topleft = x, self.display_surface.get_height() - self.height
        self.add_frame()

    def load_configuration(self):
        config = self.get_configuration("platform")
        self.height = config["height"]
        self.thickness = config["thickness"]

    def add_frame(self):
        surface = Surface((self.width, self.thickness))
        surface.fill(self.parent.parent.background_color)
        self.draw_borders(surface)
        Sprite.add_frame(self, surface)

    def draw_borders(self, surface):
        width, height = surface.get_size()
        color = (255, 255, 255)
        line(surface, color, (0, 0), (width - 1, 0))
        line(surface, color, (0, 0), (0, height - 1))
        line(surface, color, (width - 1, 0), (width - 1, height))
        line(surface, color, (0, height - 1), (width - 1, height - 1))

    def update(self):
        self.move(-self.parent.parent.velocity[0])
        Sprite.update(self)
from random import randint, randrange

from pygame import Surface, Color

from lib.pgfw.pgfw.Sprite import Sprite

class Star(Sprite):

    def __init__(self, parent):
        Sprite.__init__(self, parent, randint(100, 1000))
        self.load_configuration()
        self.add_frames()
        self.place()

    def load_configuration(self):
        config = self.get_configuration("stars")
        self.size = config["size"]
        self.saturation = config["saturation"]

    def add_frames(self):
        size = randint(*self.size)
        color = Color(0, 0, 0)
        hue = randint(0, 360)
        for _ in xrange(10):
            color.hsla = hue, randint(*self.saturation), randint(0, 100), 100
            surface = Surface((size, size))
            surface.fill(color)
            self.add_frame(surface)

    def place(self):
        width, height = self.display_surface.get_size()
        self.location.center = randrange(0, width), randrange(0, height)
from random import randint

from lib.pgfw.pgfw.GameChild import GameChild
from food_spring.level.stars.Star import Star

class Stars(GameChild, list):

    def __init__(self, parent):
        GameChild.__init__(self, parent)
        self.load_configuration()
        self.populate()

    def load_configuration(self):
        config = self.get_configuration("stars")
        self.count = config["count"]

    def populate(self):
        for _ in xrange(randint(*self.count)):
            self.append(Star(self))

    def update(self):
        for star in self:
            star.update()
from food_spring.level.Level import Level

class Watermelon(Level):

    def __init__(self, parent):
        Level.__init__(self, parent, parent.WATERMELON)
from lib.pgfw.pgfw.GameChild import GameChild
from food_spring.level.door.Foreground import Foreground
from food_spring.level.door.Background import Background

class Door(GameChild):

    def __init__(self, parent):
        GameChild.__init__(self, parent)
        self.foreground = Foreground(self)
        self.background = Background(self)

    def reset(self):
        self.foreground.reset()
        self.background.reset()
216.73.216.129
216.73.216.129
216.73.216.129
 
September 30, 2015


Edge of Life is a form I made with Babycastles and Mouth Arcade for an event in New York called Internet Yami-ichi, a flea market of internet-ish goods. We set up our table to look like a doctor's office and pharmacy and offered free examinations and medication prescriptions, a system described by one person as "a whole pharmacy and medical industrial complex".

Diagnoses were based on responses to the form and observations by our doctor during a short examination. The examination typically involved bizarre questions, toy torpedoes being thrown at people and a plastic bucket over the patient's head. The form combined ideas from Myers-Briggs Type Indicators, Codex Seraphinianus and chain-mail personality tests that tell you which TV show character you are. In our waiting room, we had Lake of Roaches installed in a stuffed bat (GIRP bat). It was really fun!

The icons for the food pyramid are from Maple Story and the gun icons are from the dingbat font Outgunned. I'm also using Outgunned to generate the items in Food Spring.