Pixelmusement Dev. Journal Entry 01 Last Updated:
April 9th, 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

01 - Concept to Public Alpha

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


v0.01a Screenshot 01

I've got to level with everyone; Trying to make a commercial-quality 2D game and a web show at the same time is pretty insane, especially when you're a one-man-band for the most part. (Thankfully, a friend of mine is helping with the tile art. He has a page on DeviantArt too you can check out.) Suffice to say, I'm not as far ahead on Vectorzone as I would like to be.

The actual concept for Vectorzone started in September last year. I was noticing that world-building games like Minecraft and Terraria were pulling in excessive crowds and I realized that if I didn't get in on this action ASAP with my own world building game I would never be able to get one noticed to the same extent. But even Terraria is extremely similar to Minecraft, and in fact, most world-building games so far have way too many similarities with each other. Even my initial designs for Vectorzone concerned me when I realized they were just turning into an overhead Minecraft/Terraria, and that didn't sit well with me at all. There's making something original that's similar to another game, and then there's flat-out copying.

Then, sometime around January this year, I came across Cube World, another indie game presently being worked on privately which at first glance, looked like just another Minecraft game, but upon checking out more of the gameplay videos and game details it quickly dawned on me that having a cubical world was the ONLY similarity, and that the game is actually more akin to Secret of Mana than anything else, focussing on exploration, killing monsters, finding equipment, and making yourself stronger... and then I realized that so long as I can make the gameplay of my own game unique, with a focus on playing the game rather than building stuff in the game, it would find its place....

...and then I realized that there were no 2D-shooter world-building games yet! (There is a world-building first person shooter though: Brick-Force)

v0.01a Screenshot 02

I also wanted my game to be playable with both a mouse and keyboard OR a joystick or gamepad, but this immediately ruled out my first choice for gameplay: Keep the player centred in the screen with the world in a fixed rotation. So I took a page from Seek and Destroy, a game where the player is situated at the bottom of the screen and the world rotates around them as they turn, giving the player as much forward-looking space as possible. While this type of game can cause a sensation of vertigo in some people, so can Descent, and people still love Descent, so I figured it was worth a shot.

I spent two more months on design and only got started programming in March. The design process still isn't complete as I've been reworking the weapon system constantly, though what I've come up with at present is pretty solid so I don't think I'll have to change it up again anytime soon. The first programming task was to actually learn how to use Allegro 5, the most recent version of the Allegro Game Programming Library, which provides all the basics for doing hardware accelerated graphics, music playback, input I/O and more, but then I ran into a snag with the version that was current at the time: No direct support for fragment shaders. (aka: pixel shaders)

The thing is, the graphical style I wanted in Vectorzone would be one with glowing, vector lines and filled-in shapes. I spent a little time experimenting with trying to do this effect without using fragment shaders, but I couldn't come up with any solutions that wouldn't eat away at video RAM like crazy, so I had to make a difficult decision: Limit the game to only OpenGL rendering and learn how to write fragment shaders.

v0.01a Screenshot 03

After a number of days of effort I made my first glow shader, but it was pretty sucky. I spent two more days investigating the raw pixels of the best glow effects I could find and refining the shader before it finally looked flawless. The shader itself is actually a combination of three shaders: The first does a vertical blur, the second does a horizontal blur, and the last combines the glow with the current scene in a special way so that areas that haven't been drawn to get extra intensity over areas that have been drawn to, thus preserving the intricacies of the tile graphics but still offering a very good looking glow on all of the edges of everything!

Once the shaders were in place, I copied over many of my old timing, randomization and math routines and began developing the engine itself. Since I'm not very good at matrix math it took awhile to figure out how to get the matrices working so that the camera would move and turn properly, plus I also had to take scales into account, since the game can be played at any desired resolution, so scaling the GUI and gameplay also had to be possible.

I started adding the inventory system just as April was closing in when I suddenly heard about Virtual Terraria, a texture mod for Terraria that has a similar graphical style to what I'm aiming for with Vectorzone. This was a bit disheartening because I wanted to get my game announced before anything like this showed up online, since surprisingly few games actually go for the glowing-vector approach. When I took a closer look at Virtual Terraria though it occurred to me that it doesn't really do anything practical, and that the way it changed the graphics around actually made things a little confusing, so I realized that I didn't really have to worry about it, but that I really can't be dawdling either, so I needed to get my first public alpha of Vectorzone out ASAP before anything else like this popped up!

v0.01a Screenshot 04

Because the random map generation took almost three times longer to figure out than I expected it to, this meant I had to skip on a couple of features I wanted in the first public alpha, notably being able to add and remove tiles as well as collision detection. These will likely be the next things I add.

And thus, here we are. I got my first public alpha out when I said I would and now I can go back to worrying about taxes and stuff and stop rushing to add features. I'm not a fast programmer, but my code usually doesn't break easily, if at all, so I expect to have new public alphas at least once or twice a month. Ancient DOS Games will remain my primary project through all of this and while I want to be done this game by October or November, I really have no idea how long it's all going to take. However, there's not many difficult things left to add and sooner than might be expected, all that will remain is GUI stuff, content and multiplayer!

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!