I know it's been awhile since I last made a dev diary. I've been working steadily, but it took me a long time to get enough of my "Outlaws of Gravity" to be able to offer a working prototype. Quite a bit has changed since the last version! Note, too, that this is an executable file. I do plan eventually to make this playable in a browser, but there's some issues with inputs that I haven't worked out yet. The standalone versions allow the user to setup their own controls for joysticks, so that's what I'm going with for the time being. There's no online multiplayer (yet), so it shouldn't be an issue anyway. Download the prototype here. Okay, so here's what's new:
1. Choice of ships. I downloaded a "star fighters" pack from the assets store for $30. I got about 8 or so ships and was able to use all but one of them (it was oriented differently than the others, and I couldn't figure out how to change it).
2. Each ship type has a different speed, hull, energy, and bonus damage variable.
In my last article, I wrote at length about my experience making Retro-ZAP! on my near-ancient TRS-80 Model III computer. As I described, the experience was a fun and interesting one. It provided a mix of both high- and low-points, all of which were fun to write about. What I did not expect however, was the level of attention that would be generated by a Space Invaders knockoff, written in interpreted BASIC.
I'm feeling pretty good about this release; it really feels like the pieces are finally coming together. Pretty much all placeholders here for graphics and such, but I think the gameplay is pretty clear at this point. I've added increasingly difficult levels, a simple power-up to boost your ammo, lives, and of course a high score table. The high score table gave me a lot of trouble; I probably should have just got the one for $25, but free was hard to pass up. I had to modify it extensively to get it to work, and I'm still not very comfortable with it; but it SEEMS to work. Try it out and let me know what you think!
Well, I'm sad and sorry to report that my little Unity project has come to a grinding halt. It's agonizing, but even though I was making huge leaps towards realizing my game design, I've finally hit that wall that I just can't get over by myself. I've been working for two days trying to overcome it, but I sadly just simply lack the skill and the knowledge. I've ended up with a show-stopper glitch that I just don't understand, and the behavior just seems entirely random...It's either get help with this or give it up.
Here's the deal. Although the system works great at first...Occasionally a block will suddenly switch into "orphan" mode. I've stared at my code until I just can't stare at it anymore. I've combed through it, commenting out each component to try to find the culprit...Just can't do it. I've tried, and tried, and tried to no avail. I can't find a pattern in it; it just...does it sometimes. It just seems entirely random!
I can't find any logical reason why it doesn't work, so that leaves me to think it's either a glitch in Unity itself (unlikely) or just really bad optimization on my part. I suspect the issue is unnecessary collision checks and bad update routines--that is, out of ignorance, I'm asking the computer to run so many checks that it's overtaxing the system, resulting in missed collisions. To combat that, I've tried to reduce the updates, but nothing has worked.
Just a quick update, mostly to put to rest concerns that I've given up. First off, I have to thank TripHamer for pointing me to a series of videos on Unity called 3D Buzz. My initial impression of the site wasn't good; there are a LOT of videos there; so much, in fact, that it's easy simply to get overwhelmed and leave immediately. Eventually, though, I took the time to explore the site a bit, and found a series there called creating a simple 2D shooter in Unity with C#. I figured that project didn't sound too bad, and if I couldn't even figure out how to create a 2D shooter in Unity (something I can do in my sleep with Gamemaker), I was out of my league.