About isharacomix (twitter: @isharacomix)

Howdy everyone! My name's Barry, and I'm a Ph.D. student studying Computer Science Education at NC State University! I don't make games very often, but recently I've been developing a course to teach assembly programming using the NES, and I figure that making games is a good way to keep my programming skills in shape. :)


Ludum Dare 27

isharacomix's Trophies

isharacomix's Archive

CLIMB UP!! Post-mortem

Posted by (twitter: @isharacomix)
Monday, August 26th, 2013 8:26 pm

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. :)

24 Hours into CLIMB UP!!

Posted by (twitter: @isharacomix)
Saturday, August 24th, 2013 6:09 pm

Man, nothing is as much fun as writing a game in raw assembly code! Check this out!

If you want to see the insane source code or play it yourself, visit http://dev.8bitmooc.org/playground/12

Game Idea: CLIMB UP!!

Posted by (twitter: @isharacomix)
Friday, August 23rd, 2013 7:44 pm
; 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
  7. Extra credit: make different lil’dudes with different powers


Howdy, everybody~

Posted by (twitter: @isharacomix)
Monday, August 19th, 2013 3:20 pm

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. :)

[cache: storing page]