Thursday, December 10, 2009

Final Lab (CS 1107)

As dictated by the sheet of paper in front of me, the final lab presentation I have just assembled must be linked to in this style:



In addition to this, I must now apparently embed it, as it will follow immediately after this sentence, which I will be ending as of right now.



Finally, though this may strike you as slightly nonsequitur, I have finally been told to link to my favorite professional Internet site. As this would be "not-safe-for-work" by most people's prudish standards, I will instead link to GamaSutra, a web site that promotes videogame news and analysis in a smart and sensible fashion.

To anyone reading this post, I appreciate you keeping up with this blog; by no means will this be the final post appearing on MTA -- I've put far too much effort into the supplementary graphics to have it just be for a single semester's class! Stay tuned, everyone; there's bound to be an update here sooner or later. :3

Thursday, December 3, 2009

CS 1107 Lab Assignment: Review for the Final

As the semester draws quickly to a much-deserved close, the students of this course have been compelled to compile various trinkets into workable presentations, and embed them here alongside a lovely paragraph of our impressions of the class.

To be frank, since I put myself into the class at the very last minute for the sole purpose of rounding out my earned credits to a not-so-even 16 for this semester, I didn't really put a lot of thought into my choice -- so it came as a sudden surprise that I'd signed up not for "Intro to Computers [in a scientific setting]", but "Intro to Computers [in general, for people who haven't consistently worked with one since they were six years old]". Even so, I learned a few things -- especially toward the back half of the semester, during which I finally learned a few marvelous tidbits (such as what the term BIOS stands for). It also helped prepare me for the base-2 notation assignments I would later face in CS 1309 - Problem Solving and Computer Science, giving me yet another opportunity to hold myself above everyone else for being slightly more simple-minded than I am.

Given the purpose of this course, I have no complaints about how it was laid out. It gave me an excuse to work in a light programming environment and focus a fair amount on game design; I wouldn't necessarily recommend it to someone as experienced with computers as myself, unless they (like me) had problems accommodating student loan requirements due to missteps made in a prototypical college career more than five years ago. I'd like to thank my professor (Christine Bakke) for putting up with my horrible lateness and crazy excuses; she's a very talented professor, even if she did refer to me with the incorrect pronouns a few times. :3

Presentations:





Finally, a bonus video of a bunch of awesome nerds messing around with emulators:

Thursday, November 12, 2009

Game Development Happenings

This week has been heavily laced with programming for me! I have, here, a few screenshots of things I've spent a few hours on each:



1) Chapter 3 of The Game Maker's Apprentice: Galactic Mail. In it, you pilot a slow-turning ship through a starfield to deliver mail to planets, avoiding asteroids along the way. The book encourages you to make the ship pilot like molasses, for some reason; the game is very difficult to beat unless you jump directly from planet to planet, abusing one of the central mechanics. Even so, it taught me how to use named variables to sort out movement parameters, and how to use multi-layered .gifs to create dynamic sprites -- both useful skills I intend to exploit in the future.



2) Chapter 4 of the Game Maker's Apprentice: Lazarus! Despite its somewhat cool-sounding name, it's a stupid game about stacking falling crates. However, it taught me one important thing: when creating a character, you can easily make him/her a series of connected objects that only appear under certain circumstances and, if the transition is seamless, no one will be the wiser! When I read this, a supernova of ideas went off in my head, which are all saved on a Google Document to which only I have the working link. ;3



3) All this work has made me decide to mess with Photoshop to create a series of sprites for that Dream Tower demo level, the concept art of which I uploaded to my Picasa a while ago. This is all the work I've done so far: Fritz standing/running, and four ground sprites to simulate perfect diagonal surfaces. I haven't gotten to animating or programming any mechanics for these, though -- I still have quite a few chapters to go before I stand a chance of having it control how I want. Still, this was fun! I hope I get some more time to continue this work in the near future.



4) I started messing around in Scratch at home! I came up with a few ideas for making this into something you'd call a "game" -- I'm rather proud of them, actually -- but there are a couple of things I need to figure out first. Still, exciting! (the sprites are mine, of course)

CS 1107 Assignment: Post About Alice



Above is a screenshot of the web site for Alice, a classy-looking programming language developed at the Carnegie Mellon university. Much like Scratch, it was created as an object-oriented interface through which students can learn the basics of computer programming in a fun and helpful environment.



Unlike Scratch, however, Alice is capable of rendering three-dimensional objects in real time. Students pick from libraries of 3D objects -- many user-created, others provided by massive companies like Electronic Arts -- and arrange and animate them as the student sees fit. Personally speaking, I don't like to work in 3D; the complexity of the graphic elements can be very complicated and lack the longevity desired of a truly lasting product. Despite this, Alice is clearly a helpful resource for those who don't feel the same way as I do, and for this reason its existence alone should be commended.



They also have a separate program called Storytelling Alice! It is focused less on game development and more on higher-level animation scripting, making it more ideal for telling complex stories. Again, for those who prefer not to have their stories told by set clusters of pixels in the shapes of robots, vikings, or cute animals, it looks extremely recommendable.