Old news page

Well I'd hoped to have something to tell you before I posted again... which is how it wound up being 20 days since my last post... well that and flying 3000km starting a new job, and finding a place to live. Funny how none of that seems like news worthy. Anyhow I've been working on the screensaver. Nothing too exciting a lot of fixing stuff up under the . The result of that will be an overall improvement, but not anything specific to see. Also I've been working on finishing up that improvement to vertex data management. All of this should pay exciting dividends... but will ultimately make for a pretty boring Beta 2 when I get around to releasing it. Though that may be a stickier question, and I'm still waiting for some outside sources on that one. But on a less ominous note, I've been working with New Hope of the screensaver, and he's been coming up to speed fantastically. Already he's pointing out all sorts of stupid and embarrassing things I've done in the code... <sigh> He's even been employing honest to god SHAME to get me into my current round of actually fixing things in the code base. So that's the good news. And finally a word of warning. This website will be going dark soon as I move to another address... now the good part of this is I'll probably actually go and get a domain name this time... so at least it shouldn't be too terrible an address.

-SDZ

 

Too many distractions.All of my things... well except for my good old powerbook, are now on a truck heading west. That was fun! Funny even with movers to pack, AND movers to... well move, I still ended up with all sorts of running around and organizing to do. Keep pulling up the ol' Strat Wars code, but then I usually fall asleep. Code... yah I remember code... Seriously maybe I'll try and code a little on the flight on friday. Its kind of been bugging me anyway since I've got this new vertex data management system about a third implemented... which of course means nothing works right now :) oh well. Time enough time enough. Besides I could so use the distraction, starting to get kindof nervous about walking into work at EA on monday. Oh and speaking of distractions you guys should ALL go check out one of the coolest blogs I've ever come across! Go... go now.

-SDZ

 

At last the story can be told! I realize I've been away from this site for too long. Been a bit busy, and I know I hinted at some dark mysterious dealings... well... err... ignore all of those hints of a fascinating mystery that is as compelling as it is forbidden. Giant robot ants? Who said anything about an army of giant robot ants?! I... I don't know what you're talking about... because... you're crazy, you can't prove anything!

Seriously, I've been pretty busy, and pretty tired, as the above attempt at humor demonstrates. So here's the deal, just as I was starting to settle into a bit of a rhythm for work, code, and this whole parenting thing something strange happened. Specifically I mean that, completely out of the blue, Electronic Arts called me up. I've had a series of interviews now (telephone mostly and a three hour in person interview)... and well long story short I'm now going to be a game developer for EA. Which I can assure you is nuts! I've been dreaming of being a professional game programmer since I was 12 years old. Its been on my list of childhood dream jobs right there next to working at NASA and being Captain of the Enterprise... And if you are wondering why Jedi Knight didn't make my list of dream jobs, well thats because Jedi is more of a calling then a profession. I've got to say this has all been quite whirl wind, it seems like I just got the first unexpected call and now I'm getting ready to up and move across the country to Vancouver! So thats my big news. There is a downside for you screen saver fans though (and for that I apologize) while I've been reassured that as personal projects go StratWars *should* be acceptable to EA, I won't know for sure till I ask my manager specifically. But even if this is the case, the fact is that I don't expect to have a lot of time to devote to StratWars, at least at first. So to that end I'm looking at bringing in another programmer to pick up the mantle of primary development on StratWars.... but more on that front later. I'll try and get at least one more beta out before I officially start. So who knew that the secret to getting a cool job and breaking into the game industry was to *not* apply for the job.

-SDZ

 

When a man with a newborn daughter tells you he's going to do something by a certain date he is most likely either an idiot, a liar, or both. Since I posted last I've gotten exactly 10 minutes of code in... well outside of work of course. Now don't get me wrong it was a good 10 minutes. And I got written one hell of a struct. I think I may have even opened a file. But on the grand scheme of things less progress then I had hoped. Oh well off I go again. Maybe some code will happen this week, I mean all I really am trying to do right now is to intigrate the code I already wrote in my test app into the screensaver... <sigh> a guy can dream can't he?

-SDZ

 

Well I've been pretty busy lately. Back to work... and well still with the larva and stuff. And a couple of other things that I'll get into more later. But a couple of things I wanted to say. What time I've had to work on the screen saver has gone into test app after test app. I started out with a quick test on a slight modification to how vertex data was being handled. But each test gave me ideas for a slightly different variant to test. But the worst part was that my actual results never quite matched the expected results. The new approaches provided a general performance gain (though in some large meshes it caused a slight performance drop) but more importantly provided a little bit more flexibility to me. So here's my dilemma; I've got a nice clean approach that reduces file sizes and improves overall performance (in most cases) but I'd be breaking backwards compatibility so to make use of it you'd need to resave ships with a new copy of the ship editor, and then the files would only work on Strat Wars v0.7.5 or newer. Ultimately it's no big deal, and I'll probably just wind up going with one of the slightly more compatible systems I've been playing with... still an improvement, but a little bit less radical of a change. Now, I just need to do it. Between work and the larva, I only get short bursts of time to code. Hopefully I should have something else to talk about by Monday. Also I recently just restarted a project from a couple of years ago that could yield some interesting benefits to the screen saver. Best part is that this new project is, in its current form, it's a lot easier to fit into my schedule and I'm pretty excited about it. But more on that later.

Now I'd like to ask you two important questions. Firstly, have you checked out the PSP yet, and secondly why not?!! Sure it's not a perfect device... no device is. But it's so very slick. I knew it was impressive, but actually holding it made me feel giddy. If it had made tricorder noises I would have been helpless against it. As it is I couldn't think of a reason why I needed one. But, boy I tried. Bottom line it's too distracting to take to work, I don't commute as a passenger much, don't take a lot of business trips, and when I'm gaming I'm usually at home and so don't really need the whole portable aspect. And well that's a whole 'P' out of PSP! But it is a device I just want, OH so badly. If Sony goes through with it's rumored plans to make an iTunes-like store for movies using the PSP as a player, well... I'm not made of stone, at that point I'd probably have to get one. After all I can make my own tricorder noises until Sony fixes that particular shortcoming of the device.

-SDZ

 

Ok then, I figured I get out some screen caps of the new beam effects. The differences are subtle but *I* can see them.... These screen shots might not look like much, but it's all I've done in the past three weeks that hasn't required anti-bacterial soap afterwards. So I wanted to post some shots. And speaking of the princess of goo, she is still happy and well and spewing forth for her subjects. Thanks again to everyone who's written or posted their good wishes. Oh and as usual ignore all the cool unreleased ships.

 

-SDZ

 

Well, well, time does fly. You'd think that not sleeping would give you a whole extra eight hours in the day, but yet what's happened is that the days have gone by in a blur. Night, day, one day, the next... wow. Though the sleep deprivation has sure made all the other stuff easier cause man some of it's been pretty gross! But there even has been some time stolen away there for the writing of code. So far I've rewritten the weapons and damage effects for better performance. Also I've reinterpreted the beam effects, especially the beam hit splash. I think the new effect looks a bit better. I'd originally been going for a sort of crackling shattering on the shields kind of effect, but have decided to try for more of an impact dissipation effect now. The new approach is a bit more usual, so I'm not sure I like that aspect, but it scales better then the old way. It had always bugged me how minimal a splash really big beams made. I'm also working on some sketches and studies for some new ship effects and a general redo to the object rendering support structure. I'd say its all going slowly what with most of my time being used for other purposes. But the truth of it is that even with only getting a little time to code every day or two, and then only for short bursts before I'm called away again, I'm *still* getting more actually done then before the new arrival...err... arrived. Ok I'm still pretty sleepy, but not going to work is actually a real boost to the old creativity. Though I've still not gotten around to fixing up the old PC. Sorry to all the Windows users out there who want to check out the new beta. On top of the fact that fixing a messed up machine is not the most fun thing in the world to do with my limited free time, it's also worth noting that the stupid machine lives in the guest room... previously occupied by my mother in law, and now occupied by my mother. I know, you'd think they'd help out by fixing the computer for me, but guests today... which is extra funny if you'd ever seen either one of them at a computer.

-SDZ

 

Well I know I've been a little quiet here. And I've not produced those delicious screensaver updates that I've promised. Well those of you who've been reading the forum may know my PC has suffered an injury that is slowing down the path to a Windows beta. I tried, and once I get that beast fixed (or replaced) I'll get right on that. But mostly what's been slowing me down, programming wise, has been another project that I've been a part of for a while now. Well a few days ago we managed to get to a 'first beta' milestone, and since then has been taking up all of our time. Here's a 'screen shot':

So you can see I've been kind of busy. But I'm taking time off of work to help acclimate all three of us to this new situation (two of us to having her, one of us to existing) and hope to get to back to an, albeit more moderate, programming and Warcraft schedule soon... gotta do *something * when I'm up at 3 in the morning right? Oh well gotta go, duty calls!

-SDZ

 

FOR SALE: 1 late model computer programmer. Good condition, loaded options C/C++ , Java, OOD, OpenGL, SQL, and much more. Low mileage. Many new parts. Best offer.

Which is to say that I am yet again job hunting. The contract I'm on is coming due, and more then anything I'm really sick of working contract. Though it does look like I'll be extending it. If for no other reason then my incredibly bad job hunting karma. So far I've only had one serious nibble and man did I tank the interview.
Let's just say I didn't exactly demonstrate the true depth and nature of my understanding of the field of computer science. Furthermore I don't feel I really communicated my mastery of walking upright, or tying my own shoes. So let's just leave it at not my best moment and move along.

Screensaver wise there's not much to say. I'm getting some great feedback on 0.7.5 beta 1 (mostly positive) and having very little time to work on 0.7.5beta 2. Still, I've got some more test code to write... and I've got to make a Windows build... oh and I've got to investigate all the issues that were brought up in beta 1... but as soon as I do all that... and get my night elf to level 40... and get my blacksmithing up to a useful level... then I'll have a new beta out for you all.

-SDZ

 

Beta time again. First off this is beta 1 of 0.7.5 so there's still not a lot of implemented features yet. But there will be. Second, there is now Windows beta1 yet... this is entirely due to me loaning my video card and monitor to a friend for a little while. I've gotten both back... but while the video card is back in its warm little nest, and the monitor has been heaved back onto its perch on my desk... I can't find the monitor video cable. But it must be around here somewhere. Soon as I find that I can do a Windows build. Basic specs on the update, not too exciting. Improved performance on the collision detection system (particularly for >3Km long ships), updated weapons effects for beams and torpedoes, new formation type (delta), new light map effects for illuminated windows and engines (best viewed when the ship itself is in darkness), and a few other fixes and improvements.. Oh, and be sure to download the additional ships file that has lightmap enabled versions of a couple of the ships. These versions will run fine in the ordinary 0.7.0.3 version but obviously without the fancy new lighting. I want to say something more amusing at this juncture, but I'm just now getting over a cold and I don't feel very amusing. I promise to raise my entertainment factor to 5.06 for the next post.

-SDZ

 

Ok, ok... I... I think I'm better now. I seem to have shrugged off the thrall of World of Warcraft... ahhhhhh... sweet, sweet Warcraft... maybe just login for a few minutes... you know to see if anything new has shown up at the auction house... and there's this one quest I'm *almost* done....NO! ok I'm better now. I mean I'm still playing... you know a lot, but I'm managing to talk to human beings, who don't call Ironforge home, too now. And of course I'm squeezing in some time get back to work on this update. So I've been keeping pretty tight lipped on it, but figure you deserve an update. So the one optimization I was trying didn't turn out to be much of a win in itself, but it did lead me to a way that I can integrate bump mapping into my existing rendering system with out too much of a performance hit or requiring to much in the way of minimum equipment... well still have some stuff to work on for that one (a few more integration issues, like having a consistent loading/rendering system for the now two levels of default models as well as regular loaded models, though I may just bight the bullet and restructure the two defaults by hand... take me an evening to do probably) but its going well. Also have another idea for an optimization to the rendering bottleneck I alluded to earlier, but I've got some tests to do before I want to comment on that. And of course there's a couple of other issues I want to look at in the soon and now (such as disabling multi-monitor rendering on Windows... which would be easier to work on if I had a multi-monitor Windows setup but such is life). If the spirit moves me I may churn out a limited demo this weekend... nothing too exciting but just so you don't think that all I've been doing with my time is taking my Night Elf hunter on exciting adventures taming exotic animals and slaying ferocious monsters (and the odd other player)... uhhhh ok maybe a quick jaunt through the Stonetalon before bed...

-SDZ

 

Warcraft warcraft warcraft warcraft. warcraft, warcraft warcraft? warcraft warcraft warcraft warcraft warcraft! World of warcraft, world of warcraft... Warcraft warcraft warcraft, warcraft "warcraft warcraft warcraft world of warcraft." Warcraft warcraft world of warcraft; warcraft warcraft warcraft warcraft.

-WoW

 

Ok sorry it's been so long. Man the last ten days have just been a massive blur of turkey family and World of Warcraft. Which brings me to a dire warning, I have been afflicted with a terrible terrible addiction. Which is another way of saying that I got World Of Warcraft for Christmas and now all other uses of time seem like a horrific waste of breath. <sigh> I had managed to avoid the MMORPG brand of digital crack for some time but now I'm hooked. Hopefully it will settle out in a few days and I'll regain my ability to think in non-warcraft terms. It's really embarrassing to keep trying to right click on things around the office, and I'm not even going to talk about my attempts to use 'shadow meld' to get out of meetings. But I have been struggling to make myself start programming again. I had some good inertia going before the holidays and I'd like to get back to that. Beyond that I've got clear ideas on how to do all the features I still plan to implement for this version, and I've been reading some very interesting discussions among game developers that has given me some ideas of ways around some of the rendering pipeline bottlenecks. This would be a big win since the actual rendering cycle has become the biggest single slowdown in the program thanks to the recent updates. Anyhow an interim beta of the Saver should be along sometime next week, with an updated ShipEditor to support some of the new features. Until then its back to my quests!

-SDZ

 

So ok, been a productive week. I've completed another feature for the screensaver update, *and* I've finally finished Halo. I've gotta say It was a generally fun game, but it still strikes me as a game that got some stuff very right and a lot of other stuff very wrong... oh well. I also have to say that the ending was a little on the weak side, but then I've been lead to believe that that is a feature of the Halo series. Actually you could make a case that Bungie has always been a little weak on the endings, going all the way back to the Marathon days. Still don't get me wrong, I still consider myself a Bungie fan, and I'm very glad they still are out there making games. Now on a much lamer note, I've got to admit one feature I wanted to get into the update that I really don't think I'll be able to. I had hoped to get bump mapping into this update, but I've been having some performance issues that I haven't been able to get around yet. I dunno, I'm sure I'm just doing something dumb, because other people seem to be able to get them to work without a huge performance hit or having to resort to shaders. Well we'll see, I'm probably going to back burner this one if I don't get it straightened out by the end of this weekend... oh uh... hmmnn well just looking at the calendar and that seems a little less likely now... oh well

-SDZ

 

Ok, I know it's been a while since I've updated this. I really just lost track of time. Been busy at work, and been busy working on this Strat Wars update. Specifically this reworking of the collision system. Over the past ten days or so I've rewritten it three times. But I've finally gotten the new system working, it's done as in "there's still a lot of optimizations that I could do but I am so sick of this system that I don't want to touch it again for a little while"... that kind of done. Don't get me wrong, I think it's a good improvement. In my tests, the new system if faster in almost all circumstances, an many by 3-4 times, and because the cpu usage of the new system grows at a much smaller rate then the old system, for the largest objects I've tested the new way gains by more then 8 times. So it's good... but it could be better. But I probably wont be further optimizing the collision detection system until I add a convex hull layer to it. That is not likely to happen for this update. But progress is being made. Next up I think I'll do something purely graphical, just as change of pace from all this performance critical spatial code. But I've got to say this part that's been done was the biggest single risk of the changes I plan, and the one that was the most experimental. So having completed that is a major step forward. Well ok I've got one more thing to do but it's not fully collision detection work. I've got to back apply some of the improvements I made to the first collision sub-system I changed (nearest point) but that shouldn't take long.

In other news I'm a bit of a Battlestar Galactica fan. Granted I'm not as big a fan as some people, but I have an appreciation of it. In fact I like a LOT of science fiction, and I've never seen a problem with that. Why some people feel that if you like Star Wars it means you can't like Star Trek has always baffled me. I find that the Sci-fi I like all have very different strengths and weaknesses, and so don't really come in conflict (Star Wars, Star Trek, Battlestar Galactica, Babylon 5, Dr Who, Blakes 7, Farscape, Stargate... to name a few). Now lately I've been watching the new Battlestar Galactica series.... and no I do NOT mean that "Battlestar Galactica 1980" atrocity! Frankly I avoided it for a while because I have a problem with remakes that show disdain for the thing they are remaking. While the original WAS deeply flawed, it was not without merits. But that being said the new one has a lot to like. It also has some deep flaws, but still it shares a number of aspects with things like Babylon 5. It has a societal realism that is fairly compelling. You can believe that this is a real army, but also that there are real people who do real other things (a real problem with Star Trek where you rarely got the idea that there was much point in doing anything that wasn't associated with Starfleet). I do wish they hadn't thrown the baby out with the bath water on the new series is all. Making the Cylons humanoid... and even built by humans removes the whole xenophobia angle... plus the Cylons always had the potential to feel like the Borg in that they are an unsympathetic uncaring force that will just keep coming for you, grinding you down. And I feel a lot of that is gone. And aside from some non-optimal resource allocation of making the Cyclon Raiders into droid fighters, I have to say I hate the new 'realistic' way the Vipers fight. And here's another place where it feels like the creators have disdain for what they are making. It is sci-fi, the Viper is a very cool sci-fi fighter plane... and yes I said plane. Long, thin and arrow shaped it looks like it should move as a jet does. It's shape is all wrong for the 'realistic' movements of end over end flips firing back along your path, vertical or lateral acceleration... if you wanted to depict fighters moving like that then make them look like they are designed to move that way. Make them pods with a fairly symmetric arrangement of weapons and thrusters to allow for 6 degree of freedom movements. X-Wings fight like spitfires, Vipers fight like spitfires. A conceit of space combat in sci-fi is that we are actually watching the equivalent of WW2 fighters. And it may seem odd, but if you are going to violate that conceit then you really need to violate it all the way. If you are going to make your space fighters have 6 degrees of freedom because in real outer space you can go in any direction and don't need to be aerodynamic, then don't depict arrow shaped planes with wings and all the engines in the back. It just feels like they threw in realistic flight models to look more sophisticated then 'regular' sci-fi, it just feels to me that the creators have disdain for 'ordinary' sci-fi. Now I'm not against dramatic innovation, I don't feel that things always have to be done how they've always been done. Basically I feel that if you have a point make it, but if your point is that you are going to make REAL science fiction because you have contempt for how everyone else does science fiction... then you really need to start asking yourself is it really science fiction you're trying to make? That being said the new Battlestar Galactica is actually worth watching... it's just not really Battlestar Galactica.

-SDZ

 

Well it's been awhile, but I've been hard at work. I don't want to ruin any of the surprise but there is one aspect of the upcoming update that I want to talk about. If you remember (or if you really can't remember you can just scroll down) a while back I was talking about some concepts that became clear to me about search spaces. I used these ideas to dramatically speed up calculating lighting normals in the Ship Editor from the previous level of "Crappy" to the new improved standing of "normal". This was a major win and it got me thinking. The meat of the insight, if I can call it that, was that for an aggregate search key the dimensionality of the search space had to be proportional to the sub elements of the key aggregate. What this means is for a key aggregate with three elements, you need a three dimensional space. So an example of a three element aggregate value would, in this context, be a point in space (x,y,z coordinates). Now the three dimensional form of a binary tree is, as it turns out an "Octree". And octrees are great things, that I already made heavy use of in the collision detection system. Where this all gets interesting is that the collision detection system is currently the bottleneck for computational performance of the screensaver (there's another bottleneck in the rendering system but thats another story). So I got to wondering if this new approach could yield the same sort of magic for collision detection that it did for lighting normal computation. Well to make a long and tedious story slightly less long while retaining all the tedium, I just finished implementing this approach for the simplest of the collision detection routines and the results were impressive. The new system requires only 4% of the time of the older one, to do the same task. So now that the idea has been validated, I need to try and implement it on the really complicated method... that's going to take some time, but I really think it's going to be worth it.

Now on an unrelated note, I've said some harsh things about Enterprise in my time. And all of them completely deserved (I mean evil alien Nazis? come on!) But I have to admit, this season has really impressed me so far. I legitimately enjoyed the whole three episode augment story, and the current Vulcan story arc is not only quite compelling, but finally offers some reason for why the previous seasons depictions of Vulcans have been so different from what we've seen from the rest of Trek. I've actually found myself eagerly looking forward to watching Enterprise. Don't get me wrong the show still has some issues, but at least now it consistently is starting to feel like Star Trek.

Oh also some great new updates on the ship/scenario front from some of you out there, so I'm going to add a links section to the goodies page since I just can't seem to update my own files...<sigh>

-SDZ

 

-SDZ

Win98/ME/2K/XP
ver 0.7.0.3
Mac OS X
ver 0.7.0.3
Old version
v0.55 Windows v0.6 Mac