Sunday, October 23, 2011

Boilerzerker features

Here's a quick list of the essential features to be included in Boilerzerker. Sorted by what is currently implemented and what will be implemented.


Implemented:

  • Physics simulation
    • collision
    • thrusters/movement
  • Moving Body
  • Steam Cannon
  • Animation
  • Editable Players
    • Robot Editor
  • Gamestates
    • Title Menu
    • Host Game
    • Connect to Game
    • Editor
To Come:
  • 4 Player Networking
  • Main Server for host list
  • PowerUps
  • Special Weapons
  • Destroy-able environment
  • Better Robot Editor
    • Color Selection
    • Persistent data(doesn't erase when you close the game)

Saturday, October 22, 2011

List of Needed/Completed Sprites

1. Player robots [check]
1a. Robot "breathing" [check]
1b. Robot moving [check]

2. Steam gun [check]
2a. Steam gun firing [don't think it's necessary]

3. Steam sprite, animated [check]

4. Environmental sprites [needed]:
4a. Blocks to make up walls [maybe check]
4b. Pillars [maybe check]
4c. Large chain links [check]
4d. Spikes. [needed] (These could just line the outside ring of the level, and players win by bashing their opponents through walls into them :D)
4e. Traps [possibly needed] (spinning buzz saw, big log battering ram, ...maybe think of more)

5. Special weapons [needed]:
5a. Missile launcher, to be attached to the side of the cannon sprite [needed]
5b. Wrecking ball [maybe check]
5bi. Small chain links for wrecking ball [maybe check]
5c. Shield, to be attached to cannon [maybe check]

6. Icons [needed]:(1024x768 = resolution target)
6a. Game icon6b. GUI Special weapon icons:
6bi. Missile launcher icon6bii. Wrecking ball icon
6biii. Shield icon6c. GUI PowerDown icons
6ci. Steam Leak (disable cannon)
6cii. Oil Slick (decrease friction)
6ciii. Grinding Gears (reduce thruster power)
6d. GUI PowerUp icons6di. Steam Boost (increase thruster power)
6dii. E-Brake (hold robot in place)
6diii. Dematerialize (pass through walls and steam)

7. Backgrounds [needed] (1024x768 = resolution target)

8. Title Screen Background [needed] (1024x768 = resolution target)

This, Plus Some Animation


Equals player sprite.

Saturday, October 15, 2011

TEST TEST

1

2


3


...mic mic test

Friday, September 10, 2010

In the Meantimes

Here's what I've been working on:


and


and

another game that is almost, almost almost done. HMM

In the Meantimes

Here's what I've been working on:


and


and

another game that is almost, almost almost done. HMM

Thursday, July 8, 2010

Oh Tiny Knights




Forgot to post these before - I basically just want them on here for the little thumbnail image on the gallery. They are Chain Knights icons- and thumbnails-in-progress. Yes. Good.

Wednesday, June 23, 2010

Rules Explained: Armor and Weapons and Stats

The purpose of this post is to explain some of the basic gameplay mechanics working behind the scenes in Chain Knights. I hope you like charts!

WEAPONS

There are a total of 25 different weapons in Chain Knights, divided amongst 5 different Weapon Types and 3 and a half different Damage Types.

Chain Knights Weapon List!
Weapon Type | Damage Type | Weight | Damage
Blunt Objects:
  1. Battle Mug | B | 2 | 2
  2. Cricket Bat | B | 3 | 3
  3. Mace | B | 4 | 4
  4. Warhammer | B | 5 | 6
  5. Bone Club | B+M | 6 | 7
Pointy Objects:
  1. Punch Claw | P | 1 | 1
  2. Anchor | P | 2 | 2
  3. Bone Pick | P | 2 | 3
  4. Spear | P | 3 | 4
  5. Longinus Spear | P+M | 4 | 5
Swords:
  1. Short Sword | S | 1 | 1
  2. Curved Sword | S | 2 | 2
  3. Buster Sword | S | 3 | 4
  4. Bastard Sword | S | 4 | 5
  5. Great Sword | S+M | 7 | 8
Axes:
  1. Shovel | S | 2 | 2
  2. Chopper | S | 2 | 3
  3. Battleaxe | S | 3 | 4
  4. Halberd | S | 4 | 5
  5. Great Axe | S+M | 7 | 8
Exotic Weaponry:
  1. Spine Whip | B/P | 1 | 1
  2. Lobster Claw | B/S | 3 | 3
  3. Nunchucks | B+M | 2 | 4
  4. Wrecking Ball | B | 9 | 8
  5. Buzz Saw | P/S | 4 | 6


Weapon Stats:

Weight, which opposes a Knight's Swing Speed stat. As the weight of his gear increases, a Knight can jump less high and swing his weapon less quickly.

Weapon Damage is the damage, in hit points, that the weapon causes when swung at full speed. Actual Damage is determined upon contact with a target. Actual Damage = Weapon Damage * (Actual Swing Speed /Max Swing Speed) [I think - - you get it]

Weapon Type affects the Damage Type a weapon causes and determines the proficiency that the weapon uses. Weapon Types include Blunt Objects, Pointy Objects, Swords, Axes, and Exotic Weapons. There is a proficiency for each Weapon Type, and each Weapon Type holds 5 weapons of increasing badassedness.

Damage Type determines the damage done by specific weapons to specific types of enemies. There are 3 regular damage types: Blunt, Pointy, and Sharp, as well as a Magic damage type that "stacks" with the others. Blunt Objects do Blunt damage, which is particularly effective against Leather armor but weak against Primitive armor (those savages have thick skulls). Pointy Objects do Pointy damage, which is good at finding chinks in Metal armor but weak against Leather. Axes and Swords do Sharp damage, which is effective against Primitive armor but not so much against Metal. Exotic weapons do different damage types depending upon the weapon (and some do more than one damage type!). Each Weapon Type contains a Magical weapon as well, which is especially effective against everything but Steam armor.




ARMOR

There are a total of 21 different armor sets (each set = a grouping of four quadrants) in Chain Knights, divided into 3 different "tracks," each of which affects a Knight's stats in different ways.

Chain Knights Armor List!
Weaponmaster | Rangemaster | Armormaster
  1. Tribal (WM1, P) | Shamanic (RM1, P) | Turtle (AM1, P)
  2. Masochist (WM2, P) | Beastmaster (RM2, P) | Light Leather (AM2, L)
  3. Bone (WM3, P) | Buckle Monk (RM3, L) | Studded Leather (AM3, L)
  4. Mercenary (WM4, L) | Explorer (RM4, L) | Spiked Metal (AM4, M)
  5. Stone Warrior (WM5, M) | Heavy Leather (RM5, L) | Splintmail (AM5, M)
  6. Samurai (WM6, M) | Chain (RM6, M) | Holy Knight (AM6, M)
  7. Full Throttle (WM7, S) | Stovepipe (RM7, S) | Pauldron (AM7, S)
(WM = Weaponmaster, RM = Rangemaster, AM = Armormaster, P = Pointy, B = Blunt, M = Metal, S = Steam)

Armor Stats:

Weight, which opposes a Knight's Jump Strength stat (or his Swing Speed stat for weapons). As the weight of his gear increases, a Knight can jump less high and swing his weapon less quickly.
Weight should increase based on the level of the armor and the type of material it is made of. An example formula for this might be Weight = Armor Level + (0 for Primitive, 1 for Leather, 2 for Metal, 3 for Steam). Using this example, a set

Armor Strength is the # of hit points a piece of armor has. Collecting 200% of the armor's hit points allows it to evolve.

Armor Material determines which damage types are strong against the armor, and which are weak. As stated above, Primitive Armor is strong versus Blunt damage but weak versus Sharp and Magic, Leather Armor is strong versus Pointy but weak versus Blunt and Magic, Metal Armor is strong versus Sharp damage but weak versus Pointy and Magic, and Steam Armor is strong versus Magic and not weak versus anything.
--A handy chart!--
Armor Material | Good vs: | Weak vs:
Primitive (light) | Blunt | Sharp, Magic
Leather (medium) | Pointy | Blunt, Magic
Metal (heavy) | Sharp | Pointy, Magic
Steam (superheavy) | Magic | None

Armor Track adds stat bonuses based on the "chain" of armor progression the piece of armor belongs to, as well as its "level" in that chain. There are three different Armor Tracks: Weaponmaster (Berserker), which adds to Weapon Damage and Swing Speed; Rangemaster (Scout), which adds to Chain Length and Jump Strength, and Armormaster (Tank), which adds to the disposable shield objects' hit points and gives a small overall damage resistance per level.

Armor Level tells how much of an Armor Track bonus this particular piece of armor gets. For example, a piece of Level 3 Scout Armor might add +3 chain links and +30% jump strength. That's not exactly how the progression will go, but you get the idea...

How Armor Progression Will Maybe Go:
(Each bonus listed is TOTAL bonus for that level armor, not bonus accrued for that level)
Weaponmaster | Rangemaster | Armormaster
    Level:
    1. Swing Spd + 1 | Jump Height + 1 | Shield HP +10%
    2. SSpd + 1, Weapon Dmg +0.25| JmpH +1, Chain Lngth +1 | ShHP + 10%, DRes + 5%
    3. SSpd + 2, WDmg + 0.25 | JmpH + 2, ChnL + 1 | ShHP + 20%, DRes + 7%
    4. SSpd + 2, WDmg + 0.50 | JmpH + 2, ChnL + 2 | ShHP + 20%, DRes + 9%
    5. SSpd + 3, WDmg + 0.50 | JmpH + 3, ChnL + 2 | ShHP + 30%, DRes + 11%
    6. SSpd + 3, WDmg + 0.75 | JmpH + 3, ChnL + 3 | ShHP + 30%, DRes + 13%
    7. SSpd + 4, WDmg + 1 | JmpH + 4, ChnL + 4 | ShHP + 50%, DRes + 15%
    Note that the bonuses listed are for one piece of that armor, so, for example, a full set of 4 Level 7 Armormaster quadrants would increase one's shield hit points by + 200%, and their damage resistance by 60%!

    Also note that these probably need to be fiddled with. They are just harmless examples.


    CHAIN KNIGHTS HAVE STATS TOO

    Chain Knights carry a certain amount of stats with them, as well. Weapon Proficiencies can be built up by hitting things with corresponding Weapon Types, and Armor Proficiencies can be gained by having corresponding quadrants of armor get hit by things.

    Chain Knight Permanent Stats:

    Chain Length is, obviously, the length of the Knight's weapon's chain. A bonus of +1 in this stat adds a single link to the chain.

    Jump Strength is the maximum height the Knight can jump, without armor.

    Swing Speed is the maximum speed (in rotations or whatever you like) that a weapon can be swung around the Knight, as well as how sensitive the swing control is (if a Knight's Swing Speed is maxed, he should be able to swing his weapon blindingly fast with little mouse/joystick effort; the sensitivity is basically a function of the max speed).

    Weapon Proficiencies (for each stat point in a proficiency, Weight decreases and Damage increases by a set amount when wielding that weapon type):
    - Blunt Objects -
    - Pointy Objects -
    - Swords -
    - Axes -
    - Exotic Weaponry -

    Armor Proficiencies (for each stat point in a proficiency, damage taken when wearing that armor type is reduced by a small set amount- say 2%):
    - Primitive Armor -
    - Leather Armor -
    - Metal Armor -
    - Steam Armor -

    Quick Refresher

    Okay, I'm going to start posting the actual design stuff here and keep the art stuff on my art blog.
    (Links go to a refresher of Chain Knight art done so-far.)

    Welcome to the development of Chain Knights, a game about godless, sweaty paraplegic psychopaths dismembering one another and everything else they find!

    RESET

    Okay, this time for real.

    Friday, December 14, 2007

    Sweaters

    Thomas: class Vector(object):
    def __init__(self, a=0, b=0 ):
    if _is_numeric(a):
    self.x = a
    self.y = b
    else:
    self.x = b[0] - a[0]
    self.y = b[1] - a[1]
    def __getitem__(self, index):
    if index == 0:
    return self.x
    elif index == 1:
    return self.y
    else:
    raise IndexError
    def __add__(self, other):
    return Vector(self.x + other.x, self.y + other.y)
    def __sub__(self, other):
    return Vector(self.x - other.x, self.y - other.y)
    def __mul__(self, other):
    try:
    other = other - 0
    except:
    raise TypeError, "Only scalar multiplication is supported."
    return Vector( other * self.x, other * self.y )
    def __rmul__(self, other):
    return self.__mul__(other)
    def __div__(self, other):
    return Vector( self.x / other, self.y / other )
    def __neg__(self):
    return Vector(-self.x, -self.y)
    def __abs__(self):
    return self.length()
    def __repr__(self):
    return '(%s, %s)' % (self.x, self.y)
    def __str__(self):
    return '(%s, %s)' % (self.x, self.y)
    def dot(self, vector):
    return self.x * vector.x + self.y * vector.y
    def cross(self, vector):
    return self.x * vector.y - self.y * vector.x
    def length(self):
    return math.sqrt( self.dot(self) )
    def perpindicular(self):
    return Vector(-self.y, self.x)
    def unit(self):
    return self / self.length()
    def projection(self, vector):
    k = (self.dot(vector)) / vector.length()
    return k * vector.unit()
    def angle(self, vector=None):
    if vector == None:
    vector = Vector(1,0)
    return math.acos((self.dot(vector))/(self.length() * vector.length()))
    def angle_in_degrees(self, vector=None):
    return (self.angle(vector) * 180) /math.pi
    def re
    that helps
    i googled that!
    alright, time to knit some sweaters
    later
    me: laters

    Tuesday, December 11, 2007

    Dragon Starver: The Beginning of Starvation



    import sys, os
    import pygame
    from pygame.locals import *
    from cgkit.cgtypes import vec3

    def load_image(name, colorkey=None):

    fullname = os.path.dirname(sys.argv[0])
    fullname = os.path.join(fullname, 'data')
    fullname = os.path.join(fullname, name)
    try:
    image = pygame.image.load(fullname)
    except pygame.error, message:
    print 'Cannot load image:', fullname
    raise SystemExit, message
    image = image.convert()
    if colorkey is not None:
    if colorkey is -1:
    colorkey = image.get_at((0,0))
    image.set_colorkey(colorkey, RLEACCEL)
    return image

    class Spritesheet:
    def __init__(self, filename):
    self.sheet = pygame.image.load(filename).convert()
    def imgat(self, rect, colorkey = None):
    rect = Rect(rect)
    image = pygame.Surface(rect.size).convert()
    image.blit(self.sheet, (0, 0), rect)
    if colorkey is not None:
    if colorkey is -1:
    colorkey = image.get_at((0, 0))
    image.set_colorkey(colorkey, RLEACCEL)
    return image
    def imgsat(self, rects, colorkey = None):
    imgs = []
    for rect in rects:
    imgs.append(self.imgat(rect, colorkey))
    return imgs

    class AnimatedSprite:
    def __init__(self, images, rect):
    self.images = images

    class Dragon:
    def __init__(self):
    self.surface = load_image("Dragon.bmp", (255,255,255))
    self.pos = vec3(0,0,0)

    def main():
    pygame.init()

    screen = pygame.display.set_mode((1024, 768),1)
    pygame.display.set_caption('Dragon Starver')

    fnt = pygame.font.Font(pygame.font.get_default_font(),18)

    back = pygame.Surface((1024,768),1)
    back = back.convert()
    back.fill((200,200,200))

    keys = {K_a:False,K_d:False,K_w:False,K_s:False}

    dragon = Dragon();

    while True:
    for event in pygame.event.get():
    if event.type == QUIT:
    sys.exit(0)
    elif event.type == KEYDOWN:
    keys[event.key] = True
    elif event.type == KEYUP:
    keys[event.key] = False

    if keys[K_a]:
    dragon.pos.x -= 1
    if keys[K_d]:
    dragon.pos.x += 1
    if keys[K_w]:
    dragon.pos.y -= 1
    if keys[K_s]
    code to load images, and pull images off of a sprite sheet
    and it moves a dragon around on the screen
    Sent at 4:58 PM on Tuesday
    me: sweet
    haha
    Sent at 5:15 PM on Tuesday
    me: meh
    took me a while because i haven't actually opened Flash before
    but i have a little placeholder
    do you need transparency in the image?
    it's a bmp right now
    Sent at 5:30 PM on Tuesday
    Thomas's new status message - I'm not here right now 5:36 PM
    Thomas: I can do transparency on bitmaps now
    didnt you read the code!
    Sent at 5:55 PM on Tuesday
    me: nope
    haha
    sorry
    i will now
    though
    hang on

    Thursday, December 6, 2007

    Dragon Starver, Chain Combo System


    Thomas: simple to program that!
    i donno about graphics
    me: so the other thing i was thinking of
    is, what if, instead of adding +1 ricochet ability, the critters in your belly were your ammo?
    or both?
    Thomas: I would say there is no point in eating them then
    just kick them
    me: the aiming and firing could work like yoshi's island- a toggle that brought up a little timing minigame
    no i mean, no kicking- just firing
    Thomas: eating should be different from kick to enforce the player doing both
    oh
    me: just an idea
    Thomas: well, thats not a bad idea
    maybe you have to aim at the villi!
    meh
    me: or maybe kicking never ricochets, but firing does!!!
    OO
    Thomas: nice
    but random
    me: how so>
    Thomas: why wont kicking ricochet? not that it won't work for a game.
    me: oh i see
    well, i guess maybe the juices in your belly make the things bouncy
    you coat them with slime specially-adapted for this purpose
    haha
    but then there's the "getting fat as a level goal" thing- it would have to change probably
    because you'd have to use the ammo for firing (and we would want to encourage it anyway)
    eh FUCK IT
    too complex
    kicking is good
    i think the chain combo system should have a bonus system attached- like if you get a certain number of chains, you get a cake!
    which makes you fatter faster?
    or maybe it's just a bonus item
    that can be the scoring system
    Thomas: ueaj
    guh
    me: number of cakes
    and size of cakes! haha
    Thomas: typing is hard while masturbating!
    haha
    me: yeah it sure is
    i'm pretty good at it though
    Thomas: foosho
    me: i can switch hands and gain a stroke
    like george carlin
    Thomas: NICE
    me: anyway- cakes?
    Thomas: so when are you going to have all the game art done by!?
    me: good/bad? i think cakes are better than points
    Thomas: tomorrow!
    cakes are great
    me: no, i think i'll probably start the art once my finals are done, depending on when my art history final turns out to be
    next week is critiques and study time, so i'm in crunch time right now
    my shit's due tuesday
    i've got to get some big ass things printed tomorrow morning and mounted in the afternoon
    Thomas: sounds fun
    im going to calculate some taylor series
    yay
    me: nioce
    i'm going to shower and go to class i think
    got my first final ceramics crit this evening

    Dragon Starver, Further Explained


    me: i think it would be really cool if the character is just this blobby circle kinda thing, with a tiny head,
    and a see through belly
    whenever a powerup creature is eaten, it would drop in the belly
    you'd just have to make it draw a circle around this collection of sprites- possible?
    Thomas: because that would be simple to program...
    me: no oh well
    haha
    i always do that
    Thomas: I need to keep ideas simple
    me: yeah, i suppose
    Thomas: which makes game dev boring
    me: well, how about making the character grow bigger? possible?
    Thomas: sure
    thats not hard
    I just dont want to model a stomach digesting food
    me: maybe need to make diff. sprites though,
    hm?
    model a stomach digesting food?
    which do you mean-
    the level or the character
    Thomas: I thought you said something about seeing the food in his stomach
    me: yeah, but not anything particularly complicated- well maybe
    basically all that needs to happen is for the food to stick together underneath the head sprite,
    and then have a line drawn around the food-ball
    that would be the hard part
    but whatever, minor detail
    Thomas: that would be cool
    Actually, it might be do-able.
    I have a algorithm written for convex hall which is exactly that.
    Sent at 4:04 PM on Thursday
    me: well shit son
    SHIT
    that sounds like a good use for it
    "hey look at this algorithm i can make it appear to be a see through belly"
    haha
    aw, this is gonna be fun
    drawing little critters is awesome
    Thomas: haha
    me: and the other parts are easy- just need to make a couple of different wall sprites (which will stack together- basically it's the same mechanic we were thinking of using for Necro., but it actually makes sense and is on its side)
    and those are just fleshy blobs, basically
    then the character- basically its head, unless you don't want to do the belly thing, in which case it'll just be a series of progressively larger sprites
    and the background,
    and the creatures
    Thomas: Okay
    me: and the acid, i guess- however you want to do that (animated sprite at the bottom, i'm thinking? doesn't need to be too fancy, but i think some green bubblings would be nice)
    oh and explosions i guess
    EXPLOSIONS
    Thomas: Cool
    me: maybe some sort of graphic to represent the chains that form?
    like a shiny blue line that connects the things that get hit?
    i donno
    Thomas: Shit, I'm confused.
    me: and there should be some text that tells the size of the chains as they develop
    man, i really just need to draw some pictures of it
    so you can see what i mean?
    i'm just thinking of the graphics, what all would need to be done
    Thomas: Yeah, I havent read the text on necro
    me: which is why it sounds more complex than it is
    oh okay
    you should... check it out?
    Thomas: Okay
    me: the working name i came up for is "dragon starver!"
    it's about this:
    you are a critter that has adapted to eat your prey directly from the bellies of these giant dragon things
    so you go down in there,
    and it's just a box, with acid on the bottom, and contracting stomach walls
    critters fall from the sky,
    and you need to eat enough of your preferred critters to grow fat and fly back out of the dragon's mouth
    Thomas: cool
    me: but the walls are constantly closing in on you, so you need to keep em at bay
    Thomas: thats my favorite word! COOL!
    me: and you do this by kicking non-eatable critters into the walls, to make them explode
    whenever you eat an edible critter, it goes in your belly and you get more powerful- which means you are able to kick things and have them ricochet off whatever they hit one more time (per edible)
    Sent at 4:16 PM on Thursday
    me: so if you have a lot of edibles in your belly, you can kick the other critters around and have them bounce off one another (all this has to happen in midair, before they fall in the acid) and explode multiple stomach walls at once
    the only point of contention is the acid thing: should it kill you to fall in it? i think maybe yes, but that means there has to be some sort of system to keep you from falling
    which means either you can just fly around, or you can jump around and there are platforms...
    hm.
    Thomas: platforms would be weird
    me: that would be an easy way to make new levels
    Thomas: yeah
    me: just make new platforms
    Thomas: true
    me: reuse the same level, add new furniture
    level design at its finest! haha
    Thomas: by gum!
    me: actually, since the walls are just made of multiple sprites, it would be really easy to reshape those for the levels too
    Thomas: how the F are you going to draw intestines
    me: i'll show you
    um
    hang on
    Thomas: AIGHT
    me: can i send you a quick sketch?
    Thomas: sure
    Sent at 4:20 PM on Thursday
    me: sent
    wow that took me a long time
    Thomas: Im doing calc, so its fine
    Sent at 4:33 PM on Thursday
    Thomas is typing…

    Wednesday, December 5, 2007

    Dragon Starver?

    me: oy
    so
    here's what i came up with while i was in the shower:
    you are a critter
    in this other critter's stomach
    (represented by a box with acid at the bottom and slowly-contracting walls)
    in order to avoid being digested, you need to fight back against the walls.
    to do this, you utilize the creatures that are constantly falling down into the box (stomach)
    you kick the things that are falling, and when they hit a wall segment, they explode and destroy it
    however, you can also kick the creatures into other creatures, to build up chains and destroy more of the wall segments at once.
    also, you can collect certain creatures falling from the mouth to make yourself bigger (and therefore have more powerful kicks)
    the power of your kicks determines how many times the things you kick ricochet before they themselves explode
    so with a more powerful kick, you could hit a bunch of critters at once, which would all hit wall segments and destroy them.
    Sent at 3:53 PM on Wednesday
    me: your objective is to 1. not get digested and 2. get fat off of your falling prey (that is why you are there- you are a specialized creature that eats a certain type of animal, and the easiest place to obtain it is in the bellies of these giant beasts)
    when you are fat enough, you can fly out of the stomach.
    also, you have to hit the critters/eat the prey in midair, otherwise they are dissolved by the stomach acid at the bottom of the stomach-box
    you are not dissolved by it, because you have specially adapted to eat from this larger creature's stomach?
    (?!)
    or maybe you are dissolved by it, but there is a series of platforms to hop around on. what do you think?
    Thomas is offline. Messages you send will be delivered when Thomas comes online.

    Saturday, October 20, 2007

    Oshka

    Tom said:

    I had a dream I'm suppose to make a game about Russian Matryoshka dolls. Simple run n jump gameplay like Mario with the added feature of Matryoshka doll shells.

    So the player would benefit from the shells:
    You could nest yourself in shells for strength
    Different shells have different abilities
    ect.

    Pros of leaving the shells:
    Enter tiny doors
    Go underwater
    Leaving a shell gives you upward momentum, so you could do a Nshells-1 jump (ex. quad jump).
    ect.

    I call it Oshka.

    I said:

    I like it.

    Have you thought about how the dolls should look?
    There are the traditional ones, of course, but there are also alternatives.

    The idea of the nested shell as gameplay element is interesting- in addition to the different abilities that different shells could grant (which would open up different areas of the levels, a la Castlevania or Tomba or Megaman or other platformer/rpg/puzzle games), the "extra jumping" ability could be a huge part of the gameplay and level design. For instance, you might have the player run around and collect enough shells so that they could eventually reach a very high ledge (while solving smaller puzzles/levels with the shells they collect in the meantime).

    I have a suggestion (if I may be so bold): instead of straight platform jumping, perhaps you could have the player be able to "launch" themselves from their largest shell: they could hold down a button which would initiate a little "aiming mode" (like in Yoshi's Island, when you launch an egg, or like in a golf or bowling game), release it when they believed their aim was true, and then all of the shells inside the "sacrificed" one would be flung in that direction. Then, if properly skilled, they could hold the button down again, which would stop them in midair and initiate another launch sequence. In this way, the player could propel themselves around, reach oddly-placed areas, and generally have a good ol' time.

    Initial ideas for the dolls' aesthetics:
    Different people (they could each be specialists of a nesting-doll strike team, or members of a family- each with unique abilities and personalities)
    Different animals (easy to figure out the different shells' specializations)
    Shell-bots (we could still make this steampunk)

    I see the shells' walking animations as them tipping to the side opposite the one they are heading towards, as if they were being pulled around by their "feet." Like if you put a big magnet in a bowling pin and then used another big magnet to pull it around.

    The dolls themselves would be easy as all hell to make art for- I could sketch them out and scan them, and then make two sprites (the head and the body) for each. Effects like battle damage could be incorporated with separate semi-transparent sprites layered over the top, as could different facial expressions (if we go with little people as the dolls). "Launching" and other animations could be accomplished with the engine. Levels could be made with small tiles (the overall style sounds as though it's meant to emphasize simplicity, so blocks might be a good way to start out and get our feet wet with level design).

    I have some questions, though: How will the player get new shells, exactly? Will they just be lying around the level, or would the player start with all the shells, and then have to use them up and/or recollect them? What happens when the player comes across a shell that is more than one size larger? Will there just be generic shell icons/powerups that the player can run across, and when they do, a shell of that type of the next largest size is placed over the player's current shells? This would mean that the player would sometimes be forced to sacrifice multiple shells in order to get back down to the specialized shell they need. This would not necessarily break the game (with clever level design, that is), but it would make the levels more difficult to balance.

    I'm putting this stuff on the blog.

    Tree Fight!

    Come on, you know it's a good idea.

    Here's how I think it would work:
    Players take turns placing new branch segments. They can make a branch taller by extending it, or they can split the branch by adding a joint. Sunlight comes down from the sky, nutrients come up from the earth (I suppose roots should be able to be grown, too), and you also need to have a water source (lack of any of these causes your tree to shrink or die).

    Fighting involves blocking the other trees from vital resources by outmaneuvering them in growth. Every certain-number-of-turns, you are allowed to pick a survival adaptation (which you have earned from your years in the wild). These survival adaptations might allow you to store water more efficiently, fend off annoying animals, grow your roots deeper or your branches higher, or even live longer. Some adaptations would be fantastic, like the ability to grow explosive-fruit-launching branches and attack your rivals directly. Some would be taken from nature, like the ability to grow runners underground (and then start a new trunk elsewhere on the battlefield).

    Each turn might also bring with it random events or hazards- animals, disease, forest fires, lumberjacks, or even a guerrilla war causing collateral damage. These are obstacles to avoid or even plan your strategy around (some plants thrive and spread with fires, for example).

    Winning could be as simple as lasting a certain number of turns, or as complex and fantastical as evolving sentience or growing into space.

    COME ON

    ---

    You could have the background flow up, so you could break through the clouds and eventually the atmosphere (after picking the appropriate adaptations), and then evolve little space-marine pods that you could send out against other space trees!

    ---

    And you could have the camera scale, so that you could see your whole tree at once (which would be really cool if, for example, your tree could grow from one planet to the next). You could conquer whole worlds! Maybe each world could be a new level, which you would have to conquer (remove all competition from), with space growing sequences in between. It could all just be one map! We could do this with simple, reusable graphics (unlike Necropopolis).

    Thursday, October 4, 2007

    Isla Peril

    Got inspired again. Check your emails.

    Epic Psykadelia

    Hey, I make another song.

    Just in the zone lately I guess. Check yo emails.