isharacomix

LD27

Howdy, everybody~

Greetings from Raleigh, North Carolina! I kept telling myself that I’d do a Ludum Dare at some point, so here I am, ready for Challenge #27 this weekend!

My name’s Barry, and I’m a Ph.D. Student in Computer Science studying Computer Science Education. In addition to my research, I teach programming to pay the bills, and I’m currently developing a course to teach assembly programming – the catch is that this course teaches assembly for the Nintendo Entertainment System. I actually gave a workshop on this topic last week, and was terribly afraid that nobody would be interested in it, yet I had a pile of people attend not only the high-level intro, but the hard-core programming portion! This was super-validating, and now I can’t wait to teach my course! 馃榾

So for this Ludum Dare, whatever the theme may be, I will be developing an NES game in Assembly. I’ll be limiting myself to only 16 KB of PRG ROM and a single 512 x 256 pixel sprite sheet, so I’m expecting this to be a heck of a challenge. The idea is that by participating in this challenge, I’ll actually get some mastery making NES games before I try to teach students how to do it.

I’ll be tweeting my progress from @isharacomix, so if this piques your interest, I’ll be sharing demos and screenshots throughout the compo. :)

Tags: 8bit, nes

Comments

namrog84
19. Aug 2013 路 20:44 UTC
I recently have been working on a ‘warm up’ type game. and was restricting myself to 3 colors(total) and very limited other aspects as well. It can help you focus more on gameplay/fun value much more than trying to make it fun by making it eye candy pretty.
soulrot
19. Aug 2013 路 20:55 UTC
And here my Ludum Dare teammate was joking we should create a game in Assembly…

There isn’t some kind of ‘track’ button on this website is there? Would love to follow your progress on this (as I love Assembly even though I’m a complete newbie), but I don’t have a Twitter account!
22. Aug 2013 路 06:33 UTC
Interesting!

Game Idea: CLIMB UP!!

; In the game of CLIMB UP!!, you want to reach the macguffin at the top of
 ; the stage. But you don't want to get your hands dirty, so you send your
 ; lil'dudes to get it for you. Lil'dudes can push blocks around and jump
 ; pretty high, but have tremendously short lifespans. After 10 seconds, they
 ; die. But luckily, dead lil'dudes are particularly useful as stepping stones,
 ; as they can be pushed around and jumped on.
 ;
 ; How many lil'dudes do you have to go through to reach the macguffin?

For this game, I have the following checklist items:

  1. Create a stage loader and draw the stage.
  2. Write game physics (control lil’dudes).
  3. Add game mechanics (death and movable blocks)
  4. Make some basic sprites
  5. Add sound effects
  6. OFFICIALLY DONE
  7. Extra credit: make different lil’dudes with different powers

CAN I DO THIS? I HAVE NO IDEA!

Tags: 8bit, assembly, lil'dudes, nes

CLIMB UP!! Post-mortem

Three cheers for me for my first successful Ludum Dare! And my first successful NES game! A lot of first successes this time around – my body will forgive me for the missed meals. :)

So a bit of post-game analysis – I had a lot of reasons for wanting to make this game the way I did. As I said in my initial post, I’m developing an online course in NES ASM programming (#8bitmooc), and part of the course is all about making a game all by yourself from scratch! So I wanted to make sure that I could develop the game using the same tools that I expect my students to use, which are the 8bitmooc playground and the documentation that I’ve been writing! I’ve been taking the text from the NESDev wiki, and rewriting it to be more accessible for people who are just interested in programming by describing the NES as if it were an API. Normally I use that wiki when I need help, but for this project, I made it a point to only use my own documentation, which I think went pretty well!

A few folks have indicated some problems with the ROM image, such as it failing in some emulators. It works perfectly in Mednafen, jsNES, and John’s Android NES Emulator, but a friendly fellow from the NESDev forums told me about some not-so-great things I was doing in my code, like writing the sprites way too late. I still have a lot to learn about the NES, but the best way to learn about something is to teach it, and I obviously know quite a bit considering that I was able to make a game in the end!

I really wanted to get a fast-paced game with goofy sounds and graphics when I made this game, and that’s why the controls are so twitchy. I spent most of the time on the physics engine and the “feel” of the game until I was happy getting a little dude bouncing around, pushing blocks, and dying every 10 seconds. Having to do collisions between 16 solid objects is tricky and takes up a lot of clock cycles. But for a simple game written in 48 hours, I am extremely pleased with my output, and that I was able to take the two top themes and run with them so quickly! I think I might have spent 16 hours at the computer in total or so. I definitely did NOT spend much on the level design, which is my least favorite part of game making.

All things considered, I’m amazed that my game has managed to get 67 ratings in just one day after submission – I’ve really appreciated everyone’s feedback! Granted, it’s hard to play others’ games when you’re running Linux, but I’ve enjoyed many of the ones I’ve gotten to run! LD really brings out the creativity in people, so I’m glad I participated this time around. :)

Tags: 8bit, nes, post-mortem

Comments

soulrot
28. Aug 2013 路 07:01 UTC
Amazing job, congratulations! Seeing you actually finish a game in assembly gives me motivation to try such a thing myself, although not with a time limit since I only have a little bit of experience so far. And “I still have a lot to learn about the NES, but the best way to learn about something is to teach it”: you did not learn from participating in LD? I certainly did learn a lot of things, about both code (I can get things working even without being a perfectionist :P) and organization!