Pixelmusement Dev. Journal Entry 06 Last Updated:
November 6th, 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

06 - Candy-Coated Particles

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


v0.027a Screenshot 01

Finally, the public alpha's starting to feel like, you know, a GAME. ;D

One big thing I had to do after the previous public alpha release was fix the collision detection, because it was possible to pass through solid walls if they were just a single tile big. I actually ended up rewriting the entire collision detection code, though surprisingly, the new code is less complex yet works perfectly, so hey, probably a good thing I had to rewrite it! :)

Following that came particle effects. I've had particle effects in every single game I've made since Space Fortress onwards. Yep, even Super Minesweeper! To me, particle effects are a great way to make the visual presentation more dynamic, though I've noted many developers shy away from them because they handle them in a traditional way: Using particle generators, each of which handle their own particles. This method has always confused me because it means every time you want to make some particles you have to make a new generator, and the generator has to then make, process and draw its own particles.

My method has always been to just skip the generator process entirely and have all particles belong to a global system. When I need to add some particles to the scene, the object simply tells the global system to add some. To me, this just makes more sense and greatly simplifies the process of programming particle systems. Perhaps it's not completely OOP (Object Oriented Programming) compliant, but then, my programming methodology has always been a mix of C and C++ together and I go with whatever approach is the simplest for a given coding scenario. ;)

As for the particles themselves, they look like candy! ;D

v0.027a Screenshot 02

Following this, the next task was to get the enemy structures implemented. This was when I began to discover some rather confounded issues with the code base. Specifically, every single object type had to be aware of every single object type and it was becoming a mess to try and keep it all organized properly. So I created two systems to solve this: A unified class system to provide basic properties and functions to each object, like positional data, acceleration, bitmap data, etc., and an interaction system that would actually handle ANYTHING which would require one object to know about another, such as weapon shots colliding with enemies or particles colliding with map tiles. Basically, a lot of boring work that the player's never going to notice or care about, but that's why there hasn't been as much progress these past couple weeks as expected. :P

Still, with this busywork done, I was able to get the enemies in. The first enemy type is the exact kind you see in the Vectorzone logo and is known as a Crawler. Its purpose in the Vectorzone is to crawl around, searching for breaches into the networks of our own world, and if it finds one, to crawl around on the other side to see what kind of data lurks there. If it manages to find its way back, and in one piece, it signals an invasion force to that breach and then causes havoc with the data on the other side. So they're like scouts, basically. This also means they're easy to shoot down and not very powerful on their own, though in groups they can do considerable damage.

When you get into the more dangerous sections of the Vectorzone you'll start to see differently coloured varieties of enemies which will be more powerful or have capabilities unlike their weaker counterparts, like higher speed, armour, shielding, etc. There's only going to be about 30 to 40 unique enemy types, but each type will have at least 3 or more variants. Crawlers have about 7 variants since they're such a basic enemy and one of the first you'll encounter.

v0.027a Screenshot 03

I also added the ability to adjust the rapidity of the basic Blaster you start with by pressing the 1 through 4 keys. Normally, these keys will switch to different weapons. For now, they switch between rapidity rates of 8, 12, 20 and 40 shots per second. Note that as rapidity increases, damage per shot decreases, as the total damage you can do per second never changes. This means lower rapidity weapons do more damage per shot, but you have to be more precise to do any damage at all, whereas higher rapidity weapons are easier to hit enemies with, but do less damage per shot so you have to score more hits to do more damage.

I'm gonna be spending the next week or two going over my older games to see if I can fix them up to run better on modern Windows systems, so it may be longer than usual before the next Vectorzone update. For the next update though, I intend to get some more map stuff implemented along with the minimap/radar. I want to get joystick/gamepad support implemented soon but I think I'm gonna need to have the UI going first before I can do that. UI stuff should be ready to go before the month is over and most of December will probably be spent getting all the different UI systems implemented.

In the meantime, have fun shooting down lots of Crawlers! ;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!