Pixelmusement Dev. Journal Entry 04 Last Updated:
October 8th, 2012

pixelmachine0
----------------
Home
News
Games & Software
* Ivxscape
  * Downloads
  * Development Journal
  * F.A.Q.
  --------------
* PixelShips Retro
* Super Minesweeper
  --------------
* Jade Fighter Arena
* PixelShips
* Space Fortress
* Star Gladiators 2
  --------------
* Megazeux Games
Ancient DOS Games
Shovelware Diggers
Miscellaneous Stuff
Support
Contact
About Gemini
Links
----------------
Follow @Pixelmusement on Twitter
RSS Feed

ulex
icon
Downloads
icon
Development Journal
icon
F.A.Q.
hbarleft hbarright
01 - Concept to Public Alpha 02 - Fundamental Problems 03 - Weapons are the Key 04 - Now We're Getting Somewhere!
05 - Shoot The Walls! 06 - Candy-Coated Particles 07 - Game Design is Hard 08 - Game Design is STILL Hard
09 - New Name and Progress! 10 - Transparent Features
hbarleft hbarright

Vectorzone --- Development Journal

04 - Now We're Getting Somewhere!

(Click on any of the screenshots below to enlarge them!)


v0.02a Screenshot 01

It's finally time to get Vectorzone back on track!

So, as stated previously, I spent the majority of time between the first public alpha and now trying to come up with some kind of redesign that would still work for Vectorzone, given the previous design was making a third of everyone who tried it motion-sick due to its spinning camera.

There were two massive problems I ran into upon removing the spinning camera. The first was that joystick/gamepad control was no longer possible, at least, in a way that made sense. The second was that the design of the game no longer felt unique. The spinning camera aspect was what gave the game its special identity. Removing it made it feel like some Terraria knockoff, which didn't sit well with me at all. This meant some major redesign work was in order.

My first attempt to redesign the game actually turned out really well... but then when I created a conceptual screenshot it no longer had a "vector" look, as the shapes were all filled in and there were fairly dynamic texture patterns going on. The idea was so good though that I'm going to pursue it immediately following the completion of Vectorzone. ;)

So, I spent even more time redesigning the game. I realized the weapon system would turn out to be the make-or-break aspect, so I focussed on making it as simple to use and as customizable as possible, as stated in my previous development journal.

Of course, weapons are just one aspect of a game. The next trick: How in the world was I going to make a vector-line environment dynamic and interesting without simply ripping off someone else's creations? Then I had a thought: If the tiles are small enough, they could be destroyed by stray weapon shots without altering the dynamics of the level. Destructible levels would add some depth, but there also needs to be some kind of way to enhance the graphical presentation beyond simple glowing lines.

v0.02a Screenshot 01

That's when I recalled an old idea of mine where the background would scroll and parallax with a depth effect of sorts. At first, only the floor areas would have this effect but then I realized that having the entire map perform this effect would look even better, like the floor was glossy and reflective in its own strange way. But, I know what my technical limitations are, and when I started to run the numbers I began to question how in the world was I even going to pull off the effect while maintaining 60 frames a second.

See, here's the thing: Hardware acceleration has historically (and likely always will be) optimized for rendering 3D shapes. To render something in 3D, you simply pass a texture, shaders, and a mesh to the video card, and it handles the rest. 2D shapes require almost the same sort of GPU overhead to handle, so rendering 5000 2D sprites is just as demanding on the GPU as rendering 5000 3D objects. I have a mid-range CPU/GPU combination, yet the most 2D sprites I could draw without my framerate dipping below 60 was 10,000 per frame. In order to render the mapping effect I had planned, given the small tile size I wanted, would require over 13,000 tile draws per frame... I'm pretty sure you can do the math and realize there was no way this was gonna run 60 FPS. :/

But then, I had a really awesome idea, which harkens back to the old days of 8-bit and 16-bit console games. Those old gaming systems had very weak processors, but dedicated graphics hardware that had all kinds of techniques in place to overcome these shortcomings. One such technique on the NES was referred to as the "name table", which was basically a sheet of sprites that could be drawn directly to the screen at any position as a background. However, this sheet could wrap around and was larger than the actual screen space. This meant that the only time the sheet needed to be updated was when the screen scrolled enough that new tiles would show up.

v0.02a Screenshot 01

If I could do the same thing with Vectorzone's mapping system, then the number of tiles which would need to be drawn per frame would be far lower while the camera was moving, and not a single tile at all would have to be drawn if the camera was moving slow enough or not at all! 13,000 to zero. Makes a huge difference! Granted, when going full speed the tile page would still have to be updated with 2 rows and 2 columns of new tiles per frame, but that still turns out to be only about 500 tiles a frame. Much less than the 10,000 my system could handle.

So, with this technique in place and plenty of new design work completed, programming has once again resumed on Vectorzone. The new public alpha available demonstrates the mapping effect extremely well and should run on even lower-end hardware than the original public alpha did! (I'm still aiming for a 256 MB video RAM minimum requirement though.) I also improved the glow shader to make it more noticeable without being overpowering, and the new map generation algorithm works like a charm, mind you there's only a handful of pieces maps can be made out of at the moment. When all is said and done, there will be tons more. ;)

One side note: I'm undecided on multiplayer at the moment. I would love for there to be multiplayer capabilities in this game, but it's not as critical as it once was now that the world-building element has been removed and it's now more about just shooting everything. We'll see how that goes.

The next public alpha won't be nearly as far away as this one was, so make sure you look forward to more development journals and more content in the days ahead! :D


drex
top

Copyright ©1995-2012 Pixelmusement, All Rights Reserved.

DISCLAIMER: Only HTML files may be linked to and only screenshots may be used on other websites without permission. No other files or images may be copied or linked to without permission. Pixelmusement cannot be held responsible for any computer damages that occur while visiting, downloading, or using material on or from this website, though proper usage should yield no computer damage whatsoever.

Remember to surf responsibly and virus scan all your downloads from ANY website you visit!