Note: The character sprites here and most graphic assets were taken from other personal projects as place holders.
This is Flash game and a personal project in progress. I made everything in it. What makes this game unique is the way it handles collisions, and the way the map draws itself or modifies itself throughout the story because of user and npc input. This technique is reminescent of "Scorched Earth" and the early Worms games, I believe, but I came up with it myself with 0 reference. I have never heard of it or seen it in action elsewhere but I have to assume this is common practice because of how efficient and mathematically precise it is.
The video above is a display of what happens when pieces of the "visual" map is destroyed.
I used Photoshop, Illustrator, Fusion, Flash, Premiere, Sound Forge, Ableton Live, Apophysis, Cubase and Maya.
This being a supernatural horror game in the likes of classic terror movies, drugs, hallucinations, dream sequences, illusions and even building collapsing are partially implemented as shown here. Efforts were spent researching fractal imagery. I coded the fractal engine myself. Combining a perloin noise, displacement and my hand made map system, the demonstration above shows "drug" effects combined together, something only possible with fractal animation.
Since everything can be destroyed in this game and that there are more than one level above the ground, later on during development, building collapsing will inherit from this module for a more natural shattering effect.
This shows my inventory, mixer and music debug panel. Everything related to inventory, characters, objects, is managed in an efficient pipeline between excel and flash. This setup makes the bridge between game design and programming seemless. The mixer can create an item out of a mix of inventory items. This also shows the equip screen, with only bindable slot available by use. Some items have more than one use and can be combined in one or another slot. Again, this is all excel managed, making it also very easy to balance the game at any time in a familiar and user-friendly setup.
Next, you can notice how music is/will be handled. For now, I have 3 sets of 4 tracks (lead, bass, drum, kick) whose volume shifts with the character mood. This is a debug console but I included presets to be able to adjust the track values of certain events (party, chase, fight, fear, etc) based on 8 combined emotions. This will later on affect character performance and interaction.
The end of the video shows what actually loads, unloads as you move through the map. This map system is all by me also. Since everything is destroyable on this map except the ground, tiles that are empty of obstacle from the start of the game are managed differently, and if everything there is to destroy on an occupied tile is gone, this tile becomes treated as an empty tile. Those can be easily cloned as they have no property and they also have no hidden collision map. Another challenge is the fact that a maximum of 8 characters are always present on the map and act real time, interacting with their surroundings as the player would. This is voluntary and necessary to the mystery-murder aspect of the game. So, whatever tile management the character needs, the npc's need as well.
The two videos above reveal what's unique about this game. This is the collision map. It's a render of a chiseled Adobe Illustrator Object in Maya. I had heard of normal maps and how they were calculated while reading an article in the past, but nothing related to collisions in games. On a strike of inspiration, I started this game in the end of 2009 with a collision system that would be based on color. Red is X, Blue is Y, and Green is Z (the Green axis is not displayed here but is reserved to be used to calculate ground elevations above any given floor (buildings, a rollercoaster, bumps on the ground). I plan, if system performance allows, to use the alpha channel to represent pixel "hp", the life of an obstacle's pixel.
The 45 degree chisel on top of each wall, once clamped through code, indicates the angle of each pixel of an obstacle. By calculating an object's translating angle in relation to the wall pixel angle, you get a mathematically precise bounce angle. While most collision techniques involves using a rough representation of an object, here in Illustrator, I can draw whichever top view map scheme i need (curves, lines, complexe boolean) on a very large scale, in one file, update my illustrator object in Maya, render again, update my images in flash and publish.
Another noticeable advantage to my system is that projectiles, for instance, draw the inward damage of an attack both on the draw map and the collision map. When destroying something, the hidden "broken map" copies its damaged pixels over the "live map", using different techniques depending on the weapon. Applying destructions to the collision map was a great challenge as I had to find a way to draw the inward damage WITH the normals rainbow, but without the use of a render. I found great ways and made some by automation in Photoshop.