Two Houses, One Home
Everyone out here is somewhere further down the page. Tap Starry, or Lil G.

The art

Everything here was drawn a pixel at a time in Aseprite for a world that has two people in it. Nothing is generated, nothing is bought, and nothing is traced. This is all of it, including the parts that have not made it into the game.

289 drawings. Pixel art is cheap to send and expensive to draw, and that trade is the entire reason a world like this can be made by one person.

Every piece on this page is © Sagar Singh, drawn by hand and not licensed for reuse. Look at it as long as you like. Taking it is a different thing, and the marks across each one are there to make that awkward rather than to make it pretty. If you want to use something, ask. I genuinely would love to share, and to see what you use my art on, so please, all I ask is to see. 🙂

Up close

The same drawing at one pixel per pixel, and then at eight. It is worth seeing how few pixels there actually are.

A mole
A mole16×16, actual size, then eight times
Something growing
Something growing16×16, actual size, then eight times
Starry
Starry32×32, actual size, then eight times

The ones who live outside

They wander the ground between the two houses on their own. Standing near one long enough gets you a hello, and enough hellos gets you followed home.

Lil G
Lil G32×32 · 4×
Lil G, walking32×32, 6 frames · 4×
Lil G, waving32×32, 8 frames · 4×
Starry
Starry32×32 · 4×
Starry, walking32×32, 5 frames · 4×
Starry, shining32×32, 7 frames · 4×
The panel for finding one
The panel for finding one64×32 · 4×

The ground

Two sheets of sixteen. Every tile is a corner mask rather than a piece of ground, which is what lets any two materials meet cleanly without drawing a border for every possible pair. There is more on that on the systems page.

Dirt, filled
Dirt, filled24×24 · 5×
Dirt, all sixteen corners24×24, 16 corners · 4×
Water, filled
Water, filled24×24 · 5×
Water, all sixteen corners24×24, 16 corners · 4×

The pond

The first thing in the whole world that got drawn, before there was anywhere to put it. Two of them have a swim cycle so far. The cycle is keyed to the drawing rather than to the species, so the day the other three bodies get one, every fish in the game starts swimming at once.

Blue
Blue32×32 · 4×
Blue, swimming32×32, 5 frames · 4×
Orange
Orange64×64 · 2×
White
White64×64 · 2×
Blob
Blob64×64 · 2×
The lucky one
The lucky one32×32 · 4×
The lucky one, swimming32×32, 3 frames · 4×
Lily
Lily64×64 · 2×
Lily
Lily64×64 · 2×
Lily
Lily64×64 · 2×
Lily
Lily64×64 · 2×
Rock
Rock64×64 · 2×
Rock
Rock64×64 · 2×
Sprout
Sprout64×64 · 2×
The shrine
The shrine64×64 · 2×
Trail
Trail64×64 · 2×
Trail
Trail64×64 · 2×
Trail
Trail64×64 · 2×
Trail
Trail64×64 · 2×

Fishing

The rod is held. Its grip is at pixel twenty one of thirty two, and that number is written into the code so the rod sits in a hand rather than near one.

The rod
The rod32×32 · 4×
Casting32×32, 10 frames · 4×
Reeling32×32, 7 frames · 4×
The bobber16×16, 13 frames · 8×
Something is down there16×16, 10 frames · 8×

Fires

A chicken, a dragon's worth of fire, and a bar that fills.

The bar is 96 by 32 and keeps no time of its own. It has seven states, from cold to full, and it moves when the fire you share does. When the fire tops out, nine more frames turn the flame from yellow to purple once, and it stays purple for as long as the fire is full. The lower half is drawn for mana, which the game does not have yet, so for now both halves fill together.

The chicken
The chicken32×32 · 4×
Walking32×32, 2 frames · 4×
The whole run32×32, 13 frames · 4×
The chicken's long range attack16×16, 9 frames · 8×
The chicken's close attack16×16, 9 frames · 8×
Smoke16×16, 3 frames · 8×
The hit marker16×16, 3 frames · 8×
The tree, swaying32×32, 7 frames · 4×
The bar, the way the game plays it96×32 · 2× · a state for every step of fire, then the flare, once
The bar, every state it has96×32, 7 states · 2×
All the way up, every frame of the flare96×32, 9 frames · 2×
Lantern, unlit
Lantern, unlit32×32 · 4×
Lantern, lit
Lantern, lit32×32 · 4×
Lantern, lit the other way
Lantern, lit the other way32×32 · 4×
The paper lantern, unlit
The paper lantern, unlit32×32 · 4×not in the game yet
Their initials
Their initials32×32 · 4×not in the game yet
And yours
And yours32×32 · 4×the same drawing hangs in the maze

Love Taps

Nine holes in one board. The middle row genuinely sits one pixel to the right, which the code had to be told rather than assume.

The board
The board32×32 · 4×
A mole
A mole16×16 · 8×
The hammer
The hammer32×32 · 4×
The swing32×32, 9 frames · 4×

The scratch cards

Drawn at forty three pixels across, which is not a round number, because the card was drawn before anything decided what size cards were.

Card
Card43×43 · 2×
Card
Card43×43 · 2×
Window
Window37×18 · 6×
Window
Window26×25 · 5×
Coin
Coin16×16 · 8×
Coin, with a planet on it
Coin, with a planet on it16×16 · 8×
Hearts
Hearts20×5 · 8×
Stars
Stars36×8 · 8×

The sky

Each house has its own sky and it follows that person's real local time, so you can look across the valley and see that it is already dark where they are.

A star32×32, 6 frames · 4×
Dusk
Dusk64×64 · 2×
Red
Red64×64 · 2×
Ringed
Ringed64×64 · 2×
Water
Water64×64 · 2×

The world outside

Standing ground between the two houses, with things on it you can walk up to.

The shop
The shop64×64 · 2×
Something growing
Something growing16×16 · 8×
The way up
The way up16×32 · 4×
A cloud
A cloud32×32 · 4×
An arch
An arch32×32 · 4×not in the game yet

Small things

The bits that turn up all over the app rather than in any one place: on a card, at the end of a line, on a button. Sixteen pixels is the whole budget, so a hand is four pixels and a flame is three, and getting one wrong is getting a quarter of the drawing wrong.

Whole
Whole16×16 · 8×
Half
Half16×16 · 8×
Empty
Empty16×16 · 8×
A coffee
A coffee15×16 · 8×
An envelope
An envelope16×12 · 8×
Locked
Locked11×15 · 8×
Weather
Weather14×13 · 9×
Tonight
Tonight9×16 · 8×

The cat

A wild one. It comes round now and then rather than living anywhere, and once it has come round you can ask it to stay. Drawn as four animations: standing, an idle with a tail and a blink, a walk, and the face it makes when you say hello.

The walk runs at two speeds and both are the real ones. Out in the world it ambles at 150 milliseconds a frame like everything else that lives out there, and in the boss fight it moves at 90. It is shown here at the ambling speed, because that is the one you see most days. The two attacks below only ever happen in the fight.

Standing
Standing32×32 · 4×
Idle32×32, 9 frames · 4×
Walking32×32, 11 frames · 4×
Pleased about it32×32, 15 frames · 4×
The cat's close attack32×32, 11 frames · 4×
The cat's long range attack32×32, 10 frames · 4×
What it coughs up
What it coughs up16×16 · 8×
The hairball turning along its path16×16, 5 frames · 8×

The tab bar

Five tabs, each drawn twice. The off state is an outline and the on state is lit, so moving between them reads as a tab turning on rather than as a colour changing: the book opens, the candle catches, and the light on the controller goes from red to green.

None of the ten is the same size as any other, and the pair for one tab is not always the same size as itself. The closed book is seven pixels across and the open one is eleven, because a book that opens gets wider, and squeezing the open one back into the closed one's box would have been the easy way to get that wrong.

The house, dark
The house, dark15×15 · 8×
The house, lit
The house, lit15×15 · 8×
The controller, red light
The controller, red light16×8 · 8×
The controller, green light
The controller, green light16×8 · 8×
The book, closed
The book, closed7×10 · 12×
The book, open
The book, open11×9 · 11×
The candle, unlit
The candle, unlit5×13 · 9×
The candle, lit
The candle, lit5×13 · 9×
You, in outline
You, in outline13×11 · 9×
You, lit
You, lit13×11 · 9×

The game logos

All cut out of one interface sheet and shown at 2x on the game night list. There were five of these when this page was last written. There are eighteen now, and the three games still without one keep the SVG glyph the app shipped with, so a card with no drawing on it reads as one still waiting rather than as a different kind of card.

Only six of them are actually square. A rod is taller than it is wide, a controller is twice as wide as it is tall, and the app scales each one by whatever whole number fits rather than stretching it to a box, which is the same rule the game itself uses.

Evol
Evol16×16 · 8×
How Well Do You Know Me
How Well Do You Know Me16×16 · 8×
Constellation Swap
Constellation Swap16×16 · 8×
Sudoku
Sudoku13×13 · 9×
Dots and Boxes
Dots and Boxes16×16 · 8×
Draw & Guess
Draw & Guess16×16 · 8×
Star Courier
Star Courier16×13 · 8×
The Cafe
The Cafe16×16 · 8×
Two Little Fires
Two Little Fires16×16 · 8×
The Deep Water
The Deep Water16×15 · 8×
Running For Love
Running For Love12×16 · 8×
Twelve Frames
Twelve Frames12×15 · 8×
Love Taps
Love Taps14×15 · 8×
Beat Me To It
Beat Me To It10×16 · 8×
The Long Way Round
The Long Way Round12×14 · 9×
Date Night
Date Night13×13 · 9×
Scratched Out of Love
Scratched Out of Love15×16 · 8×
I Got Faster
I Got Faster38×40 · 3×not off the sheet: its own card, frame and heart

Inside the house

A kit, not a picture. Every piece is 32x32 and the top of one is a 32x16 diamond, which means a cell of this grid is a cube: that is what lets a room be sorted back to front with nothing but arithmetic. A full block lifts the floor 16 pixels and a half block lifts it 8, so a half is one stride up and a full one is not, which is what the stairs are for. Two colours, and both orientations: the wall and the staircase that face the other way are drawn rather than flipped, so a room can have two real walls and stairs that climb either way.

A block
A block32×32 · 4×
Half a block
Half a block32×32 · 4×
A wall
A wall32×32 · 4×
Stairs
Stairs32×32 · 4×
The same, in purple
The same, in purple32×32 · 4×
Half
Half32×32 · 4×
Wall
Wall32×32 · 4×
Stairs
Stairs32×32 · 4×
The wall the other way
The wall the other way32×32 · 4×
Stairs the other way
Stairs the other way32×32 · 4×
The same, in purple
The same, in purple32×32 · 4×
Stairs
Stairs32×32 · 4×
Stairs for the corner
Stairs for the corner, coming toward you32×32 · 4×
The corner stairs, in purple
The same, in purple32×32 · 4×

Our Little Shop

A second isometric kit, and a different one. A floor tile here is a 32x16 diamond with six pixels of side drawn under it, on a 32x22 canvas, so the floor has a thickness you can see at the front edge. The footprint is the same diamond the house kit uses, which is the whole reason this needed no new renderer: the projection, the camera and every rule about walking carried straight over, and the only thing the engine had to learn was that one kit can hold pieces drawn on different sized canvases. The walls are 32x32 and the corner is 64x32, because the corner is drawn where the two ridges meet rather than where the two cells do.

Planks
Planks32×22 · 4×
Wood
Wood32×22 · 4×
Pale wood
Pale wood32×22 · 4×
Dark wood
Dark wood32×22 · 4×
Brick
Brick32×22 · 4×
Checkers
Checkers32×22 · 4×
Checkers, offset
Checkers, offset32×22 · 4×
Red carpet
Red carpet32×22 · 4×
Blue carpet
Blue carpet32×22 · 4×
Grass
Grass32×22 · 4×
A wall
A wall32×32 · 4×
The wall the other way
The wall the other way32×32 · 4×
Green
Green32×32 · 4×
Green, the other way
Green, the other way32×32 · 4×
The corner
The corner64×32 · 4×
The corner, green
The corner, green64×32 · 4×

The two of you, in the shop

Everywhere else in this game a person is assembled from slots: a hair style, a build, a colour for the top. That is a good answer to what you look like when nobody has drawn you, and the wrong answer here, because somebody has. Two specific people in two specific hoodies, and only in the shop. Away from you is the only direction with its own drawing, so left and right use the front and get their sense of direction from a mirror. He has no standing back view yet, so the first frame of his walk away stands in for it.

Him, standing32×32, 14 frames · 4×
Him, walking32×32, 4 frames · 4×
Him, walking away32×32, 4 frames · 4×
Her, standing32×32, 14 frames · 4×
Her, walking32×32, 5 frames · 4×
Her, standing, away32×32, 12 frames · 4×
Her, walking away32×32, 5 frames · 4×
Her, one frame
Her, one frame32×32 · 4×

What is in the shop

The booth is the one in the photos, drawn leaning into the corner, and it overhangs its cell the way a real one pushed into a corner does. The plants are the stock rather than the decoration: one standing in the shop is one somebody can buy, and when they do it leaves with them.

The photo booth
The photo booth64×64 · 2×
The booth, flashing64×64, 4 frames · 2×
The torch16×32, 18 frames · 4×
Fruit basket
Fruit basket24×24 · 5×
A cup16×16, 7 frames · 8×
A cup, steaming16×16, 7 frames · 8×
Planter
Planter16×16 · 8×
The torch bracket
The torch bracket16×16 · 8×
Leafy thing
Leafy thing16×16 · 8×
Cactus
Cactus16×16 · 8×
Snake plant
Snake plant16×16 · 8×
Succulent
Succulent16×16 · 8×
The purple one
The purple one16×16 · 8×
One flower
One flower16×16 · 8×
Leafy, no pot
Leafy, no pot16×16 · 8×

What they ask for

Sixteen square, floating over somebody's head, and that is the whole of a customer saying what they came in for. Fourteen of them drawn, four of them in the game so far. The rest are what the shop turns into: money, reactions, somebody needing a hand.

Purple, no pot
Purple, no pot16×16 · 8×
Coffee
Coffee16×16 · 8×
Boba
Boba16×16 · 8×
Something to eat
Something to eat16×16 · 8×
A plant
A plant16×16 · 8×
Liked it
Liked it16×16 · 8×
Did not
Did not16×16 · 8×
Loved it
Loved it16×16 · 8×
Needs a hand
Needs a hand16×16 · 8×
Still waiting
Still waiting16×16 · 8×
Noticed the mess
Noticed the mess16×16 · 8×
Paying in dollars
Paying in dollars16×16 · 8×
Paying in euros
Paying in euros16×16 · 8×
Thinking16×16, 6 frames · 8×
An empty one16×16, 7 frames · 8×

The toko

Groceries, a belt and a paper bag. The bag is the whole game: Sagar drew a grid into it, four squares by four, and then drew every item at a whole number of those squares. Nobody wrote a rule to make the packing interesting. It fell out of things being drawn at the sizes things are, and a chicken eating a quarter of a bag is a decision rather than a motion. Everything below is at four times, all of it, so the footprints here are the footprints in the game.

Cherries
Cherries16×16 · 4× · one square
A coconut
A coconut16×16 · 4× · one square
A kiwi
A kiwi16×16 · 4× · one square
A pear
A pear16×16 · 4× · one square
A pomegranate
A pomegranate16×16 · 4× · one square
An orange
An orange16×16 · 4× · one square
A banana
A banana16×16 · 4× · one square
A strawberry
A strawberry16×16 · 4× · one square
Cup noodles
Cup noodles16×16 · 4× · one square
A tin of fish
A tin of fish16×16 · 4× · one square
Lollipops
Lollipops16×16 · 4× · one square
Broccoli
Broccoli16×16 · 4× · one square
Sprouts
Sprouts16×16 · 4× · one square
A tomato
A tomato16×16 · 4× · one square
A carrot
A carrot16×16 · 4× · one square
A mushroom
A mushroom16×16 · 4× · one square
Butter
Butter16×14 · 4× · one square
A long loaf
A long loaf32×16 · 4× · two, lying down
A chocolate bar
A chocolate bar32×16 · 4× · two, lying down
Juice
Juice16×32 · 4× · two, standing
A bottle of water
A bottle of water12×32 · 4× · two, standing
Milk
Milk16×32 · 4× · two, standing
A tin of tomatoes
A tin of tomatoes16×26 · 4× · two, standing
A loaf
A loaf32×32 · 4× · four
A chicken
A chicken32×32 · 4× · four
A chicken leg
A chicken leg32×32 · 4× · four
Toilet paper
Toilet paper32×32 · 4× · four
Flour
Flour32×32 · 4× · four
Cereal
Cereal32×32 · 4× · four
Cat food
Cat food32×32 · 4× · four
Washing liquid
Washing liquid32×48 · 4× · six
Washing liquid, the blue one
Washing liquid, the blue one32×48 · 4× · six
The bag, and its grid
The bag, and its grid128×128 · 2× · four by four of sixteen
The belt unloader
The belt unloader128×128 · 2× · the same tray again
The belt, from the shop floor
The belt, from the shop floor25×60 · 2×
Where you stand to work it
Where you stand to work it16×16 · 4×
Toko floor
Toko floor32×32 · 4×
Toko floor, checked
Toko floor, checked32×32 · 4×
Toko floor, green
Toko floor, green32×32 · 4×

What is on the belt

Seven goods at eight pixels square, the smallest drawings in the whole project. They ride the belt in the isometric shop and none of them means anything: something moving on the belt is how the toko says from across the room that there is somebody waiting to be served, without a word of interface. Which one you get is not a hint. Here is the strip as it plays, and then every frame of it on its own, because at eight pixels across you cannot see what any of them are until somebody stops them.

Goods riding the belt8×8, 7 frames · 16×
A pink carton8×8 · 12× · frame 1 of 7
A bread roll8×8 · 12× · frame 2 of 7
A red and yellow tin8×8 · 12× · frame 3 of 7
A blue crate8×8 · 12× · frame 4 of 7
A pink box8×8 · 12× · frame 5 of 7
Something leafy8×8 · 12× · frame 6 of 7
A dark red carton8×8 · 12× · frame 7 of 7

The maze

The things standing in the dark in there. They are lit by whatever you are carrying, so most of the time you meet them one at a time and closer than you wanted to.

A lamp
A lamp32×32 · 4×
A tree
A tree32×32 · 4×
A rock
A rock64×64 · 2×
A shrine
A shrine64×64 · 2×
A swing
A swing64×64 · 2×
Starry, walking it with you32×32, 5 frames · 4×
The one that asks
The one that asks7×10 · 8×

I Got Faster

A tapping race, five rounds of ten seconds, with a card before each round. Sagar drew the card whole in lace and then cut it into nine, so the corners stay his corners however tall a card gets: it only ever grows by a whole tile of lace at a time. Green helps you, red goes after them, brown is the rules, and gold is the rare one, which is why it is the only frame with a glint crossing it in the game.

Helps you38×40, nine pieces · 2×
Goes after them38×40, nine pieces · 2×
The rules38×40, nine pieces · 2×
Rare38×40, nine pieces · 2×

Each round walks on with its own banner. They run once in the game; here they loop.

Round 196×24, 27 frames · 3×
Round 296×24, 27 frames · 3×
Round 396×24, 27 frames · 3×
Round 496×24, 27 frames · 3×
Round 596×24, 27 frames · 3×
The button
The button64×64 · 2×
The button, pressed
Pressed64×64 · 2×
A spark16×16, 14 frames · 6×

Putting things down

Four corners that close in on the cell you are about to use, three frames and a quarter second each. In the shop the thing in your hands floats inside them before it goes anywhere, and they stop and fade when the cell is taken.

Pre-selection64×64, 3 frames · 2×

Out for the first time

None of this is in the game, and until this page none of it had been anywhere but Aseprite. Some of it is waiting on the thing it was drawn for: a boss fight, a customer who brings a dog, a tab in a browser. Some of it was practice, and says so. The ones that move play at the speed saved in the file, since there is no game yet to ask.

The Cling
The Cling64×64 · 2×waiting on a boss fight
A heart, and the glint on it32×32, 2 frames · 4×
The same heart, darker
The same heart, darker32×32 · 4×
A splash13×12, 5 frames · 8×
The chicken, asleep32×32, 6 frames · 4×
The chicken, pecking at the ground32×32, 7 frames · 4×
A nest
A nest32×32 · 4×
The nest, lighter
The nest, lighter32×32 · 4×
A dog
A dog32×32 · 4×for a customer, later
A rose in a pot
A rose in a pot16×16 · 8×
The same rose, open
The same rose, open16×16 · 8×
Somebody eating an apple16×16, 7 frames · 8×
Wants fruit
Wants fruit16×13 · 8×
Wants grapes
Wants grapes16×13 · 8×
Wants a scratch card
Wants a scratch card16×16 · 8×practice
The belt, planned out
The belt, planned out76×75 · 2×before the belt was drawn
The torch, the other way16×32, 18 frames · 4×
A wall, from the other side
A wall, from the other side32×32 · 4×
The same, in purple
The same, in purple32×32 · 4×
The two houses, small
The two houses, small16×16 · 8×meant for the browser tab
I Got Faster's card, whole, in all five colours64×64 each · 2×
The same card, cut into nine
The same card, cut into nine64×64 · 2×the nine are what the game stretches
A hanging chair, drawn big
A hanging chair, drawn big315×335 · 1×
The interface sheet, three days later
The interface sheet, three days later221×221 · 1×
The ground, while it was being worked out
The ground, while it was being worked out96×96 · 2×practice

The pile

Drawn, kept, and then either used somewhere it was never drawn for or not used at all. When this page was first written the whole pile was waiting. Since then the maze needed five landmarks and got all five out of here rather than out of anything new, so a fair amount of what follows has quietly shipped. Where it has, it says so underneath.

The rest is still waiting on somewhere to put it, or was practice. The two sheets at the end are the pages the scratch cards were cut out of, with the symbols, the plate and the lettering all still together.

A house, the first attempt
A house, the first attempt64×64 · 2×it is the shop now
A tree
A tree32×32 · 4×the green landmark in the maze
The same tree, swaying32×32, 7 frames · 4×the tree in Two Little Fires
Bamboo, quite big
Bamboo, quite big159×457 · 1×
Lamp
Lamp32×32 · 4×
Lamp
Lamp32×32 · 4×the pink lantern in the maze
A hanging chair
A hanging chair64×64 · 2×the middle of the maze
Rock trail, dark
Rock trail, dark125×31 · 2×
Rock trail, light
Rock trail, light161×26 · 2×
Small rock
Small rock64×64 · 2×a rock in the pond, and the blue landmark
Small rocks
Small rocks64×64 · 2×the other rock in the pond
An early lily
An early lily64×64 · 2×the first of the four lilies
The first star ever drawn for this32×32, 6 frames · 4×it is the star in both skies
The same one, without the twinkle32×32, 2 frames · 4×
Lil G's long range attack16×16, 15 frames · 8×
Lil G's close attack32×32, 20 frames · 4×
The sheet Lucky in Love was cut out of
The sheet Lucky in Love was cut out of43×43 · 2×
The same, for Written in the Stars
The same, for Written in the Stars43×43 · 2×
A sheet of interface bits
A sheet of interface bits221×221 · 1×

How it gets out of Aseprite

There is no Aseprite command line on the machine this is built on, so the .aseprite files are read directly and written out as PNGs by a script. Animations come out as one horizontal strip and the page above steps through them a frame at a time, at the speed the game plays them. That speed lives in the game, not in the file: nearly every drawing here was saved at Aseprite's default of a tenth of a second a frame, and the game sets its own pace sprite by sprite, so the bobber drifts at 140 milliseconds a frame and the reel spins at 80. The drawings that are out for the first time have no game to ask yet, so they play at the speed saved in the file. The exceptions are the fight in Two Little Fires and the hammer in Love Taps, which advance a frame per turn of their own loop rather than on a clock, so those are shown at a readable speed instead, and the fire bar, which only moves when the fire does and is shown here filling at half a second a state. Nothing is ever scaled by a fraction: every sprite on this page is at a whole multiple of its real size, so no pixel is ever wider than the one next to it.

How the systems behind it work, or open the app.