Sunday, October 25, 2009

Its Econapo, Not 3d

The 'Econapo' Project

Originally consider for a competition and then I realized I don't have that kind of time. Now its a slow cook but progressing project. Shield Breaker is on hold due to creative block.

Code named Econapo, for lack of a good title, is a simple Game Maker project that simulates effects I've played with in Freebasic. The freebasic experiment was a simulation of voxels(3d pixels) but used flat planes and a fixed perspective. Econapo simulates a voxel like effect through panning of 20 individual tile layers at various speeds, creating an illusion of 3d depth. Another feature is that the world map exist as a perceived 3d space, as you can go the four main directions (north, south, east and west) at the ends of a map or at alleys and crosswalks.

Each city block usually consists of 4 directional views, maps are labeled as such: 'o_south00x00', with o standing for outside, and the coordinates loosely based on a drawn out map. Effects like fog, rain and snow benefit from the multi-layer approach to create nice effects.

Basic Concept and Plans

Simulating a 3d world in a low-res form, the actual rendering view is 160x120, projected to 400x300, with full screen and stretching working just fine. I used views to keep the pixelation from being dithered, as expanding the view in GM's option tends to add a blur over the pixelation. The blocky look is key to making the panning look nice and keep a general classic look to it.

Levels are based of a sample map and some concept drawings of buildings, positions are placed with objects in the map(deleted after processing) and then tiles painted to the layers with offset depending on the start position of the view.

The current concept of the story involves the player arriving to a city left near deserted by economic collapse. Some drifters, squatters and residents lurk with the city while wild creatures have begun to take over the vacant streets. Your vehicle is out of gas, and of course the station is closed and possibly bone dry.

There will be simple combat in the form of melee weaponry against the wild animals, fighting is not always the best option as there will be no firearms at hand, and you must find your first weapon. Running and darting down street or entering buildings may be your only escape. However not all animals encountered will be hostile, some will just watch you, but others may chase you if you're running by. You can use food items to distract or gain the trust of some animals.

Items will have multiple uses, some can be combined with others, some act as containers for fluids. You will need to consume food and water from time to time to surive and heal. You can also get sick, so you may need to find some kinds of medicine.

Humans you meet in the city will have impression values that change depending on your interaction with them, some may dislike you from the start or simply not trust you.

Navigation is pretty straight forward, you can walk/run/crouch/crawl. No plans on jumping really. No gravity or friction is being used, nor are there any blocker objects.

Possible Future Development

I would eventually like to break from GM to produce the project on a different code base. Currently leaning towards Java and possible Android developement, which may be feasable due to low color usage of the images(tile map total under 200 unique colors) and thus small png files, additionally tools be Kevin Silverman to further optimize and shrink said files. The major challenge would be to project the image pixelated like the gm version, and have Android handle 20 layers of 674x180 sized maps. Grant it not all space will be used. So resource size shouldn't be an issue, but graphical techniques will be a little tricky.

Additionally, using one of those dandy GM port to web, not the Yoyogames one, I do plan to imbed a playable version of the final.

Screenshots and Video Captures

Early development stage

Interior design testing w/ unlimited FPS rate.

The rain man stress test
Object on screen stress test on a Acer with Intel Atom, stopped once FPS hit 30 from an unlimited setting.

Snow effects
Snow testing, still kind of bogs down things.

Samples of raining.

Run around the block.

Snow test in action, even though its has a live recorder sucking up cpu, the FPS loss is due to over population of tile sprites from the snow...needs some kind of trick to speed it up.

Thursday, October 8, 2009

Computer art, a style in its own.

Long time ago, art was always a tangible entity, made of materials, touchable, created through tireless effort and passion. Then computers came around. No big change to art really occurred in the beginning, but we were introduced to the concept of the pixel. A single block of on a projected screen with(at the time) limited color capability.

The kids of the 70-80s era played with these new video games with focus on the game play and not always so much on the art. But in reality, even if resolutions were low and color capability was little to none, a sort of style was created from limitation.

Consider ASCII art, composed of predefined characters, with a large enough space you could create a vista, portrait or any type of image. Sure there were limits, but consider the best of art is self limiting.

Of course breaking limits became a focus of the computers evolution. Even though they were originally designed for writing and data storage, computer games began to steer the evolution of systems. Memory, audio, visual and input became a factor. The consumer was always amazed at each new generation of game that worked upon the evolution of computers.

Yet for a long time pixel art was the norm. Some works were done in vector, defining points to create lines and ultimately images. Asteroids being the most memorable, and later on flight simulations and their likes.

Consoles highly depended on pixel artwork to evolve, Nintendo and Sega both assisted their developers with newer systems with more colors and memory, allowing more elaborate works do be done. In the early 90s, pixel art had become far more mature than its Atari days. Even the first generations of first person shooters relied on pixel art as they rendered their environments.

Polygons were around for awhile, but largely unused. Their abilities in the early days did no catch up to pixel art's quality until much more recently. We began to see the return of inferior or ugly looking games do to limitations in polygons. It was really a slow climb back to quality after that. While 3d was...3d, it still did not have the developed style that pixel art had. Characters were now blockly and spiky, color usage was low, gradient usage was high and levels and areas seemed vacant and bland.

Another big issue, in my opinion at least, was game areas got too large. Were in the past you may of found yourself crammed in a hall way, or even having to go from one block to another(Metroid), now you found yourself walking into concert sized living rooms, hallways you could drive a truck through and in general, no real scale between objects.

Of course I could be critical of pixel based art's past, but its a different story there. When polygon based 3d engines started popping up, focus was put on the fact that it was 3d, not that it looked any good. There were games that did manage to use 3d when it was young and weak, but the best quality 3d game of the mid to late 90s didn't always hold a torch to either pre-rendered(which is unfair to compare) and pixel based artwork.

There were some exceptions, some were able to meld a polygon system and sprite system to create a decent harmony of the two. Two older games used vectors to create smooth animated characters and impressive cut scenes for its time, Flashback and Out of this World. While they made use of solid colors and no shading, the visuals were impressive and the animation was smooth.

However memory was always an issue, but polygons required complex calculations, demanding more of CPUs, so video cards have become a mandatory aspect of game playing. Complex games tend to suck up CPU with basic unseen routines, take the Sims games, lots of stuff goes on in them, now throw in 3d graphics and you've killed your pc.

A third system was also devised, in the late 90s we had a game called Outcast(never played it sadly..) which used a new style of creating 3d, voxel. A 3d pixel cube which allowed the artist to create, in a sense, a more organic look. Some flight sims used it for height maps as well. Ken Silverman, creator of Duke3d's base engine, the Build engine, started to work on a voxel engine around or before 2000 was coming about. Unfortunately theres been no big takers in the industry, now that polygon based engines have near movie quality looks.

Its unfortunate because of the power that a voxel system has over polygons. If we ever see more of voxel based engines, we can look forward to a resurrection of pixel art, in a 3d form without the sacrifices and excessive reprocessing that current 3d polygon engines have today.

Personally I'd like to see, and have been interested by the big industries renewed interest in voxel visuals, Id software seems to be coming up with something using it, but I do like the classic look of old games. Realism can sometimes make a game hard to play. In real life, most things tend to blend together, picking out people in a 3d fps from the background is sometimes impossible. Another downfall is games start looking the same, improvements become less noticeable.

So in conclusion, we may keep seeing all styles stay in existence. Pixels will always be part of screens, until we devise a newer systems. And like classic music, movies and other stuff of old, what people enjoy tends to stick. Mozart made his music centuries ago, but people in this day still love it. Likewise people love Tetris, a game that looks good in near any form and most likely will survive the test of time as well.