Project Title: Vampire Killer NES
Platform: Nintendo 8-bit NES
Coding Language: 6502 Assembly
Tools Used:
FCEUX (emulator, hex editor, debugger, tracer, data logger)
YYCHR Tile Editor (edit graphics)
Visual Code Studio (converting hex to assembly)
Summary: With a strong desire to learn 6502 assembly, we challenged ourselves to recreate the MSX game Vampire Killer on the NES. Choosing Vampire Killer allowed us to concentrate on coding rather than design choices. This resulted in a custom game engine that could eventually become its own unique property.
Some Techniques used:
- CHR bank switching for more complicated sprite animations.
- PRG bank switching for varied level and physics data.
- IRQ Interrupts for added color count, and special effects, top status bar, and parallax scrolling.
- Background graphics were loaded into memory so they could be drawn during VBLANK.
- Writing directly to VRAM for some special effects (points earned and debris)
- Writing code with a HEX Editor and play testing. (re-wrote most of the entire game engine.)
- Creating graphics with YYCHR Tile editor
Completed game features:
- Reworked the main character into Simon Belmont by altering graphics and refining the physics and collision routines.
- Revamped the weapon system, introducing 5 whip upgrades (Leather, Thorn, Chain, Morning-Star, Fire, and Ice).
- Increased on-screen enemies from 10 to 16, featuring classics like Ghoul, Panther, Mermen, Bat, and Treasure Mimic.
- Added 8 new sub-weapons and allowed up to 3 on screen simultaneously (Knife, Cross, Holy Water, Axe, Bible, Stake, Stopwatch, Diamond).
- Introduced special items like the Shield (reflects projectiles), Boots (enabling running, sliding, and head-stomping), Wings (providing double jump and mid-air control), Candle (revealing hidden blocks), and keys for unlocking chests and doors.
- Imported the sound engine from Castlevania 1.
- Improved the scrolling engine and added parallax scrolling.
- Introduced a Day/Night cycle, 24hr clock, random item drops, a heart/sub-weapon system, a treasure chest/key system.
- Memory now saves found items, destroyed blocks, and explored rooms that get added to a castle map as you progress.








Leave a comment