Skip to content

A PLAY EXPERIENCE MAKER'S WORK LOG FOR FUTURE SELF©2001 – 2023 Kyle Li 李肅綱 All Rights Reserved.

Playsentation

Posted on May 29, 2015February 16, 2026 by Kyle Li

I was invited to be a part of the design panel in LEVEL UP 2015 TAIWAN GAME DESIGN FESTIVAL (http://levelup-twgs.com/) at TECO New York. The curatorial team made a great effort to gather all the talented hard-working Taiwanese Indie game developers in New York. I really wanted to participate but was caught up with other projects and commitments. In order to contribute to this great event, I decided to give my presentation a playful kick by hacking together an 8-bit presentation on a NES cartridge!

I dug out my tool bag and all the sample codes I used to teach in class. With a little bit of CHR mashup, I was able to put the overall look-and-feel plus the basic platform mechanic together quickly. I soon ran into a problem on placing all the text in the presentation. Letters and symbols are treated as graphic tiles in NES, so if I want to write stuff on the screen I have to arrange and place them on the screen letter by letter. It is a PIA to do so. I decided to write a tool to do this for me – a typing tool for editing nametable.

The only challenge in building this tool is to decode CHR file with limited/raw binary support in Processing in comparison to C++. This could be fixed by writing my own shifting functions which turned out to be a breeze. I am started to see the potential of this tool and want to develop it further with extra functions like color picking, stamp, and creating nametables from an image file or from camera.

parsons

trickyCHR

Playsentation

Every row (8 pixels across) in the 8×8 tile is 2 bytes of information. In order to get the wanted bits, I left shifted both bytes, masked the first byte for the least significant bit, right shifted the second byte by 1, added the two byte together, and lastly masked the sum for 2 least significant bits. This will give me either 0, 1, 2, or 3, which matches the 4  palette colors.

(((byte01 >> 7) & 0x01)+(((byte02 >> 7)) << 1)) & 0x03

Posted in 8-Bit

Post navigation

Automa-Te + Processing + Littlebits
高雄實踐光雕工作營 Summer Workshop 2015: Little Things In Life

Recent Posts

  • BMP – Rearrange Colormap
  • Reset Allow USB Debugging? Notification
  • 8-bit Notes
  • AT29C256 90PI
  • Super-Toys Last All Summer Long

Archives

Proudly powered by WordPress | Theme: MiniZen by Martin Stehle.