I think I'm at a good milestone where I can talk a bit about what I've been recently working on.
So, the Week 0 project for Harvard/edX's CS50 course is to make a project in Scratch, MIT's kid-friendly programming interface. We do this in the course to come to grips with programming logic, before we actually handle the syntax. I'm alright with syntax, but logic has always been my problem, so I wanted to do a program I would be super proud of. Having already failed the course once, my previous Scratch project was utter stuff. This time, I decided to make a full-boar Point-and-Click adventure. It's only 1 room, but it's already proving to be a decent enough challenge.
This has already taken 3 weeks, and so far this is just the framework to the actual game. I'm having a lot of fun with it though, adding special effects and interesting elements as I go along. I recently just solved a giant 2 week problem in about 5 minutes, and that's kept me dedicated enough to push forward.
Some interesting stuff includes:
- The objects you can collect include "Zappo! Shaving Cream", the "Space Launcher" and a "Tear Gas Grenade Launcher".
- There's a cutscene mode and a dialogue mode which hide certain elements of the interface and popup the dialogue options.
- All the characters have different idle and dialogue animations (and sounds) they switch between, and Ego has a proper and random walk cycle.
- The inventory only appears when you collect an item, and then it plays a special cutscene.
- The laptop will be the in-game options menu. There's going to be a Main Menu, and potentially even a basic network-based save system.
- Objects highlight correct, have labels and can be used on everything else (for the time being; will probably break in the next iteration). Interface items like the laptop, inventory and the dialogue buttons all have roll-over and mouse-down sprites.
- The sound system plays Voice, SFX and Music at independent levels. I've also been working on a smart music manager which can automatically shift tracks based on what state elements of the game are in (and possibly I might even get the glue system working, which would allow me to layer tracks together to make more dramatic sounds).
- The dialogue buttons randomise, and the inventory objects are listed in the order you collect them, not predefined locations.
- It's broken now, but basic code has been implemented for the space cutscene.
- The entire dialogue system now uses a few arrays which form a Language Database. This simplifies coding since I can now use a generic dialogue loading engine and simply pass the dialogue number values to the engine, and I can even implement a translation system for multiple languages.
- Currently at 100 scripts, 12 sprites.
Honestly; compared to the stuff you guys are doing, this is really stuff. However, I'm proud of myself for getting this far with no tutorials and no help; just by referencing my own memory of playing Point-and-Clicks, and a bit of testing and ingenuity. I'm hoping the final result is actually decent enough to get some praise from David, the guy who runs the course.