An NES homebrew game written in 6502 assembly. For the nesdev compo 2016.
Assembly Python Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
third_party Music added to title screen. Jan 31, 2017
.gitignore Flies move in arbitrary directions. Pre-calculate trigonometry for mo… Nov 10, 2016
Makefile Blender jumps when it spits out gunk. Mar 29, 2017
README.md README fixes Mar 28, 2017
alpha.png Add alpha to title and gameplay chr. Jan 10, 2017
bg1.png More detail in the outdoors graphics Mar 31, 2017
bg2.png Add more details to levels 2 and 3 Mar 31, 2017
bg3.png Add more details to levels 2 and 3 Mar 31, 2017
bg4.png More details in graphics of level 4 Mar 31, 2017
bg_fade_1.png Fade in level Jan 30, 2017
bg_fade_2.png Fade in level Jan 30, 2017
bg_pal.png Dirty splotches on the wall drop gunk downwards. Jan 18, 2017
blender.asm Blender jumps when it spits out gunk. Mar 29, 2017
blender.h.asm Add blender object, no behavior for now except collision Mar 28, 2017
boot.asm Random seed setup during intro. Feb 22, 2017
boss.png Update boss graphics Feb 4, 2017
boss2.png Animate boss wings Feb 7, 2017
boss_pal.png Render end boss, and prevent camera from moving. Jan 31, 2017
broom.asm Cut level 5, cant fit it with the space available Mar 31, 2017
broom.h.asm After collecting broom, and broom flashes, explode it into stars. Jan 28, 2017
build_boss_delta.py Animate boss wings Feb 7, 2017
build_collision_spawn.py Second level Jan 30, 2017
build_level.py Only use the letters in the chr that are needed in the hud Mar 7, 2017
build_move_data.py Blender jumps when it spits out gunk. Mar 29, 2017
build_pictures.py Use throwing hand while ducking, in order to save another CHR tile. Mar 22, 2017
build_structs.py Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
camera.asm Properly fix bug where level corruption or bad camera updates would o… Jan 31, 2017
camera.h.asm Camera, scrolling, nametable selection. Oct 12, 2016
chars.png The boss's horrible smell kills you if you try to go underneath it Mar 31, 2017
chars_boss.png The boss's horrible smell kills you if you try to go underneath it Mar 31, 2017
chars_stars.png Dynamically load stars for level outro, saving even more chr Mar 16, 2017
collision_data.asm Redo collision detection in order to make colliding with food more easy. Dec 5, 2016
collision_data.h.asm Player can duck, with smaller collision box, but they can't move left… Nov 3, 2016
convertln.py Copy starter project Oct 4, 2016
debug_display.asm Remove debug display and auto-death special command Feb 8, 2017
debug_display.h.asm Debug mode activated by pressing select. Shows CPU usage per section … Nov 6, 2016
detect_collision.asm Tweak bg collision detection so player won't zip up through the floor Jan 30, 2017
detect_collision.h.asm Vertical wall collision that stops horizontal movement. Nov 27, 2016
digit.png Extract text from title and hud, function to render messages. Jan 13, 2017
dirt.asm Animate boss spit objects Mar 30, 2017
dirt.h.asm Pause game by pressing start. Feb 22, 2017
draw_picture.asm Fix another drawing overflow bug Dec 6, 2016
draw_picture.h.asm Draw the player using DrawPicture Oct 14, 2016
dynamic_star_loader.asm Dynamically load stars for level outro, saving even more chr Mar 16, 2017
dynamic_star_loader.h.asm Dynamically load stars for level outro, saving even more chr Mar 16, 2017
endboss.asm The boss's horrible smell kills you if you try to go underneath it Mar 31, 2017
endboss.h.asm Add level stubs for 4 and 5, reachable only by level select code Mar 28, 2017
explode.asm Pause game by pressing start. Feb 22, 2017
explode.h.asm Pause game by pressing start. Feb 22, 2017
extract_msg.py Game over screen when player runs out of lives Jan 30, 2017
fader.asm Render end boss, and prevent camera from moving. Jan 31, 2017
fader.h.asm Render end boss, and prevent camera from moving. Jan 31, 2017
famitone.asm Stop playing music at death or level completion Feb 1, 2017
famitone.h.asm Play sound effects for most events Feb 1, 2017
fixed_point.py Flies move in arbitrary directions. Pre-calculate trigonometry for mo… Nov 10, 2016
flash.asm Collecting the broom freezes all objects, and just flashes the broom. Jan 17, 2017
flash.h.asm Collecting the broom freezes all objects, and just flashes the broom. Jan 17, 2017
fly.asm Flies move down if they're too high up. Adjust steak in level 3 Mar 31, 2017
fly.h.asm Flies in level 1 Jan 26, 2017
food.asm Bacon and eggs in level 4 Mar 31, 2017
food.h.asm Pause game by pressing start. Feb 22, 2017
game_over.png Game over graphics Mar 27, 2017
gameplay.asm Boss level music Mar 31, 2017
gameplay.h.asm Title screen, change main.asm into gameplay.asm Dec 27, 2016
general_a53.asm Mapper 28. Jan 31, 2017
general_mapper.h.asm Mapper 28. Jan 31, 2017
general_mmc3.asm Fix mmc3 initial startup state Feb 4, 2017
general_unrom.asm Unrom mapper Feb 4, 2017
gfx.asm Compress chr data. Mar 6, 2017
gfx.h.asm Compress chr data. Mar 6, 2017
graphics_compress.py Compress chr data. Mar 6, 2017
gunk_drop.asm Player hurt function, used for getting damaged by something. Mar 29, 2017
gunk_drop.h.asm Pause game by pressing start. Feb 22, 2017
health.asm Merge hud before level so that hud chr appears at top of chr. Jan 17, 2017
health.h.asm Health meter. Take damage from flies, gain life from food. Dec 1, 2016
hud.png Render score, level, lives on the marque screen Feb 22, 2017
hud_display.asm Add level stubs for 4 and 5, reachable only by level select code Mar 28, 2017
hud_display.h.asm Render end boss, and prevent camera from moving. Jan 31, 2017
hurt_player.asm Throw bugs, render correctly during pause, cancel throw when hurt Mar 31, 2017
hurt_player.h.asm Player hurt function, used for getting damaged by something. Mar 29, 2017
include.branch-macros.asm Jumping and falling animation for player. Nov 27, 2016
include.const.asm Cut level 5, cant fit it with the space available Mar 31, 2017
include.controller.asm Player stick figure that can be moved with controller and gets drawn. Oct 4, 2016
include.mov-macros.asm Dynamically load stars for level outro, saving even more chr Mar 16, 2017
include.scroll-action.asm Level builder compresses better by interning more strips of data. Dec 15, 2016
include.sprites.asm Player stick figure that can be moved with controller and gets drawn. Oct 4, 2016
include.sys.asm Copy starter project Oct 4, 2016
include.tiles.asm Animate boss spit objects Mar 30, 2017
intro_outro.asm Remove 'demo' from title screen Mar 31, 2017
intro_outro.h.asm Game over screen when player runs out of lives Jan 30, 2017
level_data.asm Cut level 5, cant fit it with the space available Mar 31, 2017
level_data.h.asm Fill and render level data using pointers. Jan 19, 2017
link-a53.cfg Mapper 28. Jan 31, 2017
link-mmc3.cfg Mapper 28. Jan 31, 2017
link-unrom.cfg Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
lint_objects.py Collecting the broom freezes all objects, and just flashes the broom. Jan 17, 2017
marque.asm Marque message before level 4 Mar 31, 2017
marque.h.asm Marque screen which just displays text before each level. Jan 30, 2017
memory_layout.asm Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
memory_layout.h.asm Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
merge_chr_nt.py Only use the letters in the chr that are needed in the hud Mar 7, 2017
meta1.png Level 4 Mar 30, 2017
meta2.png More obstacles at the ending of level 2 Mar 28, 2017
meta3.png Flies move down if they're too high up. Adjust steak in level 3 Mar 31, 2017
meta4.png Bacon and eggs in level 4 Mar 31, 2017
move_trig.h.asm Move by trig moved into common function Mar 6, 2017
movement.asm Blender jumps when it spits out gunk. Mar 29, 2017
msg_catalog.asm Marque message before level 4 Mar 31, 2017
msg_catalog.h.asm Marque message before level 4 Mar 31, 2017
music.ftm Stop playing music at death or level completion Feb 1, 2017
object_list.asm Toaster collision was backwards before. Normal position is high. Mar 30, 2017
object_list.h.asm Trash can releases gunk when jumped on Mar 23, 2017
one.png Add drop shadow and better letters to title screen Feb 27, 2017
pictures_player.info Use throwing hand while ducking, in order to save another CHR tile. Mar 22, 2017
pictures_player.png Player hair fixes Mar 30, 2017
pictures_swatter_food.info Bacon and eggs in level 4 Mar 31, 2017
pictures_swatter_food.png Bacon and eggs in level 4 Mar 31, 2017
pixel_font_ocr.py Add blender object, no behavior for now except collision Mar 28, 2017
player.asm Fix glitchy fly swatter that happens when too many objects are on-screen Apr 13, 2017
player.h.asm Clear data when gameplay restarts after death. Rearrange vars in zero… Dec 27, 2016
points.asm Bacon and eggs in level 4 Mar 31, 2017
points.h.asm Bacon and eggs in level 4 Mar 31, 2017
prologue.asm Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
punc.png Add copyright to title screen Feb 8, 2017
random.asm Random seed setup during intro. Feb 22, 2017
random.h.asm Random seed setup during intro. Feb 22, 2017
read_controller.asm Remove duplicated chr pages. Simplify interface to memory_layout libr… Mar 5, 2017
read_controller.h.asm Improve jump Oct 10, 2016
render_action.asm Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
render_action.h.asm Game over screen when player runs out of lives Jan 30, 2017
samples.asm Music added to title screen. Jan 31, 2017
score_combo.asm Clear combo flash at start of level, so it doesnt start flashing Feb 22, 2017
score_combo.h.asm Clear combo flash at start of level, so it doesnt start flashing Feb 22, 2017
sfx.ftm Fix bad sfx that plays when start is pressed at title screen Feb 4, 2017
shared_object_values.asm Fix bugs caused by draw_frame being overwritten Jan 28, 2017
sound.asm Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
sound.h.asm Sound effect for fly being killed Feb 1, 2017
spawn_offscreen.asm Fix glitchy fly swatter that happens when too many objects are on-screen Apr 13, 2017
spawn_offscreen.h.asm Fix glitchy fly swatter that happens when too many objects are on-screen Apr 13, 2017
split_level.py Larger level map. Oct 11, 2016
sploosh.asm Extract tile definitions into a single header Mar 7, 2017
sploosh.h.asm Sploosh the gunk drop when it hits the floor Feb 27, 2017
sprite_fade_1.png Fade in level Jan 30, 2017
sprite_fade_2.png Fade in level Jan 30, 2017
sprite_pal.png Explicit palettes created using --makepal Dec 14, 2016
sprite_space.asm Move more memory around. Static data (nt, chr, levles) is banked in, … Mar 22, 2017
sprite_space.h.asm Fly wings on the title screen. Jan 31, 2017
star.asm Blender jumps when it spits out gunk. Mar 29, 2017
star.h.asm After collecting broom, and broom flashes, explode it into stars. Jan 28, 2017
swatter.asm Play sound effect when combo ends Mar 30, 2017
swatter.h.asm Display the swatter still when the broom is collected Jan 26, 2017
text_pal.png Marque screen which just displays text before each level. Jan 30, 2017
title.png Game over graphics Mar 27, 2017
title_chars.png Object for fly wings in the intro screen. Jan 31, 2017
title_pal.png Add copyright to title screen Feb 8, 2017
toaster.asm Toaster collision was backwards before. Normal position is high. Mar 30, 2017
toaster.h.asm Pause game by pressing start. Feb 22, 2017
trash_gunk.asm Bacon and eggs in level 4 Mar 31, 2017
trash_gunk.h.asm Blender aggro state that shoots out gunk Mar 29, 2017
utensils.asm Player hurt function, used for getting damaged by something. Mar 29, 2017
utensils.h.asm Pause game by pressing start. Feb 22, 2017
vars.asm The boss's horrible smell kills you if you try to go underneath it Mar 31, 2017
wing.asm Add drop shadow and better letters to title screen Feb 27, 2017
wing.h.asm Pause game by pressing start. Feb 22, 2017

README.md

The kitchen is so dirty, clean it up!

Filthy Kitchen is a homebrew NES game, written in 6502 assembly. You control the hapless kitchen owner, who needs to find the broom, picking up unspoiled food along the way. Avoid anything dirty if you want to succeed. Kill flies using your boomerang-like swatter; if you kill multiple flies without catching it, you'll get a high scoring combo!

Dependencies

Building

  • Install the dependencies

  • Make sure ca65, make, makechr, and python are in your PATH as well.

  • Modify your PATH so it includes Famitracker.exe and the utilities from famitone2: nsf2data.exe and ftm2data.exe. Alternatively, copy those executables to a folder that your PATH already points to.

  • For OSX builds using wine, create scripts that call these exe's using wine, and put those in your PATH.

  • For example:

wine famitracker.exe "$@"

in a file called "famitracker" in your PATH. Make sure the executable bit is set:

chmod a+x famitracker

Make

Once ready, call make to build:

make

Secret password

You've found a secret at the end of the README. Tell the title screen why the kitchen needs to be clean. Say "dirt bad" (D-U-R-D-B-A-D).