quinta-feira, 16 de setembro de 2010

Sprite Databases

For those not in the know, in game development and computer graphics in general, the term "sprite" refers to 2D images and animations which are put together to produce scenes as their generating software runs. In other words, when a certain plumber envoys on rescuing that princess gal, it is all about sprites: he is a sprite, she is a sprite, the turtles in between are sprites, even the ground and the sky are. Generally, sprites are either whole images which display, each, a character or object wholly, or tiled, in which case they portray sections of larger objects that must be organized and repeated in order to build things - as is usually the case with the floors in most platformers.

Even though the use of sprites for displaying graphics dates back to the late seventies, they are still a recent art form and thus remain contemporary and full of potential for aesthetic and technical innovation. Being so, I prepared a careful selection of online sprite databases for your reference. It is a great journey from the past to our days, regardless of your being a developer or merely an enthusiast. On the other hand, if you are a developer, those are the best of such resources I know and use as reference for drawing my own.


CAUTION: Be aware that the absolute majority of the sprite sheets you will find belongs to others! Being so, be respectful as you use that material as reference. Moreover, you do not want people to look at your work and recognize its been ripped right out of Mega Man, do you? Nonetheless, be creative and good luck!


Sprite Database:

domingo, 12 de setembro de 2010

Thoughts on Programming as a Common-Place Ability and Independent Game Development

I find it somewhat intriguing that, in despite of us being on the brink of omnipresent computing, most people do not know how to make computers do what they are supposed to - which is, at least in principle, what the user wants them to do. Of course, everyone is listed in one social network or another; people chat online, tweet, write texts, send e-mails, watch movies, listen to music downloaded from the net, maintain blogs - but very few are capable of coding a quick app to assist them with one task or another.

In other words, I get the impression that most people tend to visualize computers like they did with television sets, refrigerators, or any domestic appliance which conceals its internal mechanism within an easy-on-the-eye, hermetically closed shell of technological mystery. On the other hand, it also occurs to me that many PC users no longer rely on technicians to repair, maintain, and upgrade their systems: the very nature of the open standards on which the x86-compatible personal computing market was based from scratch allowed those individuals to learn how to deal with the guts of the machine by themselves - some by attending to specialized classes, others by sheer trial and error.

Unfortunately, gone are the days when school Math books came with BASIC exercises at the end of each chapter to reinforce the last presented concepts and to show how they could be applied practically. Do not take me wrong: born in 1982 in Brazil, my school books rarely featured such appendixes, but I have heard from some older foreigners that it used to be pretty common in their high-school days. On the positive side, I was lucky enough to have studied in an establishment which taught BASIC to kids right after alphabetization - which is probably one of the main reasons why I am still so fond of green phosphor CRT displays. Moreover, during the nineties, most small business owners I knew wrote their own Visual Basic management software - which was made possible, I assume,  by their previous acquaintance with BASIC.

As far as I know, QBasic was shipped along with Windows up to Windows Me - although I skipped that one at the time and switched from 98 to XP later on, as I am sure many of you did. I admit it was already quite dated then, and most people did not even know it was lying there, untouched, urging to shout "Hello, world!", but it was there and whoever wanted to use it could. How come most kids never really put it to any use?

Well, even though my experience with QBasic is one of long compilation times and slow performance for graphics, I am aware that, at the time, I used to code my little BASIC thingamabobs on a 75MHz Performa 6200CD by means of SoftPC, a software emulator of x86 hardware which allowed me to run Windows 3.11 and the correspondent version of DOS - somewhere in-between 5.0 and 6.0, as far as I recall. I am sure kids playing around with the interpreter focused herein on native hardware may have different memories of their results, probably more positive ones, but I also heard from a bunch that it was just too sluggish and consequently frustrating for them to put something together that was on par with the commercial software already considered vintage back then. In my case, even though having access to QBasic was fruitful, the blue color of the IDE annoyed me - due to, I assume today, its likeness to what I was used to see in video stores and operated by a wide variety of cashiers. Quite frankly, these facts and some other circumstances made me much more of a player than a programmer for a few years, until, finally, life and the professional opportunities I aimed for simply required me to study programming, get myself up-to-date and ready to realize what I wanted.

I have got some really nice food for thought from what John Romero said in a recent interview published in Gamesauce: the tools and the market circumstances independent developers need have always been available to whoever wanted to follow that path. In a matter of fact, Romero - one of the founders of id Software and lead designer of Doom, let us not forget - recognizes his first steps in the career as an indie endeavor, albeit a specially successful one.

Based on that premise, what a sole programmer or a small indie group can achieve depends much more on the quality of the efforts put into development than on millionaire budgets and huge teams. The facts that there are many great engines out there that are either free or low-cost, that distribution is now dealt directly between developers and publishers, and many other positive aspects that congregate to form a very favorable period for independent game developers are all here, in our days - regardless of the existence of similar opportunities in the past, even though I start to think this sensation of being before a great opportunity at the right time is more a matter of attitude towards existence than anything to do with the particularities of a specific time span.

I will develop these subjects much further as I post more about my actual experience as a developer and a handful of precious suggestions for others following similar roads. Game engine lists, indie gems, obscure software with wondrous qualities, mobile development, etc. - even tutorials are on the works and will be made available here progressively. Besides, there is also the unpredictable - so stay tuned and add //Coding Reality to your favorites!

Thank you for reading!