Planet X3 Status Update - Part 3
Today. I'm gonna give you the third official, update on the progress of Planet X 3 my real-time strategy game for ms-dos computers, for. Those who are not already familiar with this I created Planet. X 2 for the Commodore 64 last. Year and then after the success of that I promise, to ported to ms-dos, machines however. This. New game is taken, on a life of its own I also, launched a Kickstarter, a few months ago and hoping to get around 500, pre-orders, or $30,000. Worth of pre-sales, and it. Ended up with. 2548. Backers, totaling, over a hundred and thirteen thousand, dollars so. In this video I want to show you not only some, of the progress that's been made since the Kickstarter, video but I also want to try to answer some of the frequently asked, questions and, one, of the most common questions I get is people, wanting to know what language I'm coding it in and what, tools I'm using so, to answer the first big question even though I've mentioned, it before I'm coding directly, in 8088, assembly, language so, this is what the source code looks like and I get a lot of people asking why I'm not coding it in basic, or C or some high-level language and the bottom line is I need the speed and efficiency to, make this work on low-end ms-dos, machines and, as, far as tools go I'm, really only using three tools one is notepad, which I write the source code in and. Then I use a compiler called a 86, to compile the code into machine language so, that's my second tool and, the third tool is DOSBox, which I use for most of the testing of course I've had to write some of my own tools which I'll talk about later for. Bug. Tracking I'm doing, it very simple, I just have another notepad, with a list of bugs that I've found when, I find a new bug I just add it to the list and then. I have a list of things that aren't bugs but just stuff I haven't finished coding, yet of, course this list keeps getting smaller over time in fact I can remove this right now as I just finished the Sentry tanks code and then. I have another list of things that are sort of backburner, however, I already finished this one as well so I'll take it off so. That's how I track bugs and what's, left to do, well. What about version control well. Every day create a folder on my server and I call it snapshot, in today's date and then I copy all of the sources of binaries into that folder and, every now and then I need to go back and look at an older source or if I really screw something up I just want to revert if subroutine back to the older version well that's how I do it nothing. Fancy no, need to use github or anything like that.
So. What am i working on now well, lately I've spent a lot of time working on path finding routines now let me demonstrate what I mean so. If I tell my builder to pick up this rock and. Then have a look at these walls over here I'm using these for testing, so if I tell it to drop the rock over here the. Builder has to be able to find its way around the obstacle, and for. Simple obstacles, like this it seems to be working so here's. A bit larger obstacle, again. It finds, its way around okay, so that's great for walls but what about other objects well, let me drop the rock over here and, again. It finds its way and this is good enough for the user control units but this same path finding routine will be used for the enemy units so it has to work without supervision. Now. I want to show you something else, pressing, f1, will bring up a little cheat or debug, menu at the moment and, what this shows is everything, that is stored in memory about the unit that you're currently controlling but, also you can use the arrow keys and scroll to other units and see all of their information as well and, if I press the G key it will take me to whatever unit that is on the map but. This isn't just limited to my units I can also look at enemy in it so if I scroll up to unit 64 which, is where the enemy units are I can. Go to that one and yeah, there's. Quite a few of those piled up here because they can't get across the water just yet I'll be fixing that soon but. This, is particularly, helpful in troubleshooting enemy. Pathfinding, for example I can watch a unit as soon as it pops out of the pyramid, it starts trying, to find its way to my base now, this. Is on a different map here this is called inferno it's kind of a wasteland, with a lot of meteor impacts, now. This guy isn't having too much trouble navigating his way through this as it's mostly open space then. I'll skip ahead a bit eventually, he, gets to a part of the map where there are a lot of obstacles at, first it looks like he can handle anything that comes his way but, eventually he, gets stuck. And the problem is the bass he's headed for is directly, to the right of him over about 20 tiles, but. There's no way through the lava without going around something quite large he's. Not smart enough to do this so. He'll just walk around this spot forever and. Eventually here, comes one of his pals and, over time a whole bunch of them will just pile up here so. How do I solve that well, a combination, of ways first of all I can try to improve the Pathfinder routine even more the. Second thing I can do is change the map to make it easier for them to find their way ultimately. Just, like with my previous game I'll wind up doing both on, the map side I'll just, start out the map editor which is a separate program I had to write that's one of those many little tools I mentioned earlier that I had to create so. I'll tell it to load the map called inferno, and here, we are so. This is where the originating, base was and, I, made a note of the coordinates where the trouble spot was so I'll just find my way over there yep. Here it is so, I'll just go to the little tile selector and pick dirt and then I'll place it here so the units can get through. So. I want to talk about another technical, challenge I faced I'm really. Thrilled with how the CGA video looks in order to try this out on some real steel my friend the UPS League geek brought over his IBM 5155. Portable, the, internal, display is monochrome, but it's still compatible with CGA graphics only, instead of four colors you get four shades of aimer but, it actually looks really good it's. Definitely, very playable like this and, despite being a four point seven seven megahertz, cpu it runs decently, fast as well in fact, seeing this is part of the joy I have of making my game work on these older systems since.
Hardly Any new ms-dos releases, have been compatible, with these machines like, since, probably the early 1990s. Anyway. This machine also has a CGA, composite, output on the back so you can connect a color monitor or television and you'll get the full 16 colors if the game supports can possible which one does and not. Only does it work but it looks fantastic. This is how it is looked on every IBM, machine I've tried bound so far it, looks great I keep, asking myself why, does so, few software titles support this mode. Well, I think I may have found part of the answer and, discovered a lot of clone machines, don't, work right for. Example my laser 128 will run the game in composite, mode but often, come up with bizarre colors, in, fact it's somewhat random because I can reboot the thing and it'll come up with a different set of colors well. Let me explain what I believe, is going on if you look at the video signal being generated by these computers, and imagine this is the pixel clock and there's, another signal in a composite video feed which is the color clock or color burst or whatever anyway. On a true IBM, CGA card these are always synced like this at every single boot so the color clock happens once every 4 pixels so, by arranging the pixels in different ways you get 16, possible, combinations creating. 16, artifact, colors the. Trouble is some machines like my laser 128 will lock these in one of four random, positions, at Buddha and you, never know which one it's going to be either and this was really frustrating, as it can make the video boot up in all sorts of weird colors and the only thing I could do was. Reboot the machine and hope for the best I had a 25%, chance of getting the right palette however. Eventually, I had an idea even, though there's no way to change the synchronization. Of the color signal from software, I do have control over the pixels right so. Let me show you what I did in. The. Last video I showed you how in standard, 4 color mode you can change the color palate between cool, and warm CGA, color palettes well. In composite, mode that menu option had no effect so what, I did was I change the code so that in composite, mode it, will shift all of the pixels on the screen over by 1 and so, if it still doesn't look right, just push it again it'll, rotate back around every 4 times but. One of the options, should fix everything so that it looks right or at least close to write my. Tandy 1000, also suffers, from a similar problem only it always starts up with the exact same wrong palette, so pressing this option twice should fix it on a Tandy, unfortunately. The Tandy just doesn't, look as good on composite no matter what the pixels are somewhat in the wrong places and I don't know why, however. I'm not terribly concerned since I support the Tandy 16-color, graphics mode, anyway so there's no need to use composite on one of these. Anyway, this does suggest at least one possible reason why CGA composite, mode was never popular as many, clones did start to appear in the early days but, at least I was able to find a way around the problem however. I had another, similar, idea I had, recently added the CGA monochrome, mode as well and while this doesn't look terribly exciting, it is still playable and where, this comes in particularly, handy is on certain, old laptops, with monochrome, LCD screens, now many of these laptops start, off with the screen being inverted, like a photo negative because, they felt that it made the text easier to read but, this could be problematic when playing games and, many machines had a special key sequence that could be used to invert the screen for games and some, required a special das program, and some, there was just nothing you could do and I, decided to make this menu option cause a negative image which would look crazy on most computers, but, on these old laptops, actually corrects it to look right and playable. So. The next thing I want to show you is another one of my tools and you've, probably seen this before I created, a towel draw program to help me design the tiles but, this program does so much more than that you can really change a lot of the behavior of the game from here for. Example each tile you can define things like, can, you drive on it can you bulldoze it can, you pick it up and move it etc also. You can define what a towel becomes, when it's destroyed by changing this attribute here in. Fact many of the bugs I find in the game aren't even in code but rather I have an attribute set incorrectly in here unfortunately it's, easy to change however.
Over, Time my, artist renault started, using his, own paint program and simply sending me the tiles as a single, set and so, what I did was I created an import feature where I could import the entire set, at once from his master image with a single keystroke and so, that's made life a lot easier but I also had to create different towel editor for every single video mode including, the two color CGA monochrome, mode as well, as the CGA composite, mode and tandy modes. Speaking. Of artwork, I wanted, to show you some of the new artwork also. Like this map called winter. This. Is just a test map but, it shows off the winter graphic style set and, what's neat about this is that each map can load a custom tile, set and it's more than just different tiles as the tiles can also have different attributes so for. Example I have snowmen, in this map which has no analogous, tile in the other maps so. This gives a lot of flexibility, to creating, new landscapes, and there's not much here in this winter map as I said it's just mostly a test map also. There's, a bit of snow on top of some of the buildings here as well and, moving, along this is another map called desert, and there. Are a lot of neat features in this tile set as well but again this, is just a test map so there's a whole lot to see here in, fact yeah, there's, the abrupt end of my stream and here's. Some minerals crammed up there and, here's. What the winter mode looks like in CGA for color mode and I. Noticed. There are a few black towels because, he tells that is not 100%, completed, for this mode and. Speaking. Of new graphics, this is probably what everybody's been waiting to see last, month I created yet another tile draw program and this one was designed for VGA graphics and, just, in time for the finished 256-color, artwork that, Renault was working on it, took me about four or five days to get the tile editor completely, converted to work with 256, color vga graphics but. The great thing is many of the screen drawing routines I had to design here were easily transferable to the game itself. Now. Before I show you the game itself I wanted to mention something else, these. Are all the different video modes I had planned to support and the first four modes are all handled, by the CGA, version, of the game even the Tandy mode and that's, because all of these modes use a 16, K video Ram configuration. So 99%. Of the code is the same there are only a few tweaks required to the code and mostly, it's just having different artwork custom-designed, for each mode however. The VGA version needed its own executable. It required quite a bit of modification of the code since the entire memory map is laid out differently and, it took a couple of weeks to get the game working in VGA mode and now. I have two entirely. Different sets, of source codes I have to keep up with fortunately. Most of the code that I'm working on now is stuff like path finding routines which really, don't deal with the video card directly so that means I can simply paste the new code into both sources for the most part so. Here's the VGA version, of the game that everyone's, been waiting to see well. It doesn't look too impressive at the menu and that's because I don't have the VG menu graphics in from my artist yet so I just converted, the CGA menu graphics for now but this is actually running a VGA mode whether it looks like it or not so. Let's start the game and, here, it is yeah. I'm pretty, proud of how it looks and I think most of the credit here goes to Renault for his awesome artwork now. There's a few things I'm willing to tell you about this version for one you may notice these pink looking areas around some of the units like my builder a tank, and especially the aliens and, that's because I'm planning to implement transparency. So what, you're seeing is sort of like looking at an unfinished special effect shot that are shot in front of a blue screen or a green screen and I simply have an edit the code yet to fill in the transparent, areas that's something the CGA version does not do it all but, I felt the VGA version probably should, so, for the moment it looks tacky but in the next update that should be fully working. Also. I do not have the graphics yet for winter and desert landscape so I imported the CGA composite, graphics into the VGA version for now so. That's. What it looks like for the moment when using maps, that depend on those graphics I'm sure I'll have the completed be Geographic, soon a lot. Of people have been asking what sort, of CPU, would be required to run the vga version, and i just haven't been able to give an answer to that because I didn't have any code written so I had no way to really know well, now.
I Know so. While the CGA version was designed to work on a four point seven seven megahertz IBM XT the, vga version has four times as much data to move around and it really requires at minimum a 286. Running at ten megahertz which is probably, fine as it's pretty rare to see VGA running on an XT Class machine anyway however. I do have a video clip here from Lauren who's one of my testers, and he has it running on an IBM ps/2, system, in this video which is a 286, running at 10 megahertz and it does work although it can be a bit sluggish at times and when. People ask why I'm not supporting, EGA or Hercules or Tandy, high-res graphics the. Main reason, is because each of those modes would, require a complete, conversion, with its own executable, and since I'm just one guy I just. Decided not to support these modes not to say that I couldn't support them in the future but certainly, not in the initial release, okay. Enough about graphics, modes let's talk about sound, and music, now in the last video I kind of put out a Help, Wanted request. To see if anybody was willing to code these sound and music routines for me and I had several people apply for the job but I ended up hiring Alex, shiru, siminoff who is a veteran. Programmer, for sound of music on a variety of different platforms and I had a decision to make about how, to support music across, multiple. Platforms, and. I wanted to support the PC speaker with its one voice and, then, the Tandy 3 voice sound system along with the ad lib which has nine voices and I wanted to be able to use essentially, the same tunes for each device, now. I knew that with advanced programming, you could get at least two, more phantom. Voices out of the PC speaker and this is done by alternating the voices quickly, to create an illusion of multiple voices so. What I decided to do was draw a line at three voices that, felt like three would be enough and this way all three supported devices would be able to play the same tunes. Plus we can use some of the extra voices on the ad-lib card for sound effects and for. The PC speaker well we'll, just have to alternate between music, or sound effects and the, Tandy is an interesting, case after, all it still has a PC speaker which Connect is a fourth voice so, we'll, probably use that for sound effects here as well and this was actually a common, design back in the day in fact Ultima, 6 uses the PC speaker for all sound effects no matter what card you have for music. So. I want to show you the tracker that alex is designed this, one, tracker supports, all three sound cards and, one thing it does for, the PC speaker though is that different tracks get a different priority over the one voice so the leftmost channel here is given the least priority and, if anything comes across on the middle then it's given a higher priority and of course the right channel gets the highest priority so.
I'll, Show you how this sounds these. Can pose one Dillo song with the tracker and okay. So. Right now you're hitting the PC speaker it's, pretty, impressive for a one voice setup. Okay. Let's listen to the Tandy three voice version. This. Sounds noticeably, better especially on sustain notes. And. Finally. Here's the a delayed version not. Bad for only using three voices. Now. All it needs to be done is to integrate the sound of music routines, into the actual source code of the game itself which I hope to happen sometime in the next month or so. Alright. And the last thing I wanted to mentioned since a lot of people have been asking, there. Were only originally. 500, box copies, of Planet X - for the Commodore 64 due. To minimum order quantities I've never ordered any more than that however, one, of the options, in the Kickstarter, was the deluxe version which comes with a copy of Planet, X - and there. Were eight hundred and thirty six people that selected this option which really surprised me well. I know I had enough pre-orders, then to go ahead and order separate, boxes for Planet X twos so. I already ordered 1,000. Boxes for Planet, X - so that means I can sell around, one hundred and sixty-three copies, to those who might have missed out on the original box copy plus, I also have more disc labels and manuals, on the way so I'll be able to sell more light copies, as well but. What. About the discs themselves oh well just today I invited some people over where we had a little disk copy party we, all set up our commodore machines and made copies of Planet X - you all eating pizza and generally. Having a good time so. Discs are ready and I, imagine we'll be doing something similar when the code is finished for Planet X three only, will have ms-dos, machines set, up instead, so. To, answer the question about when I'm going to get more Planet X - in stock well they're coming real soon hopefully, in the next week or two you'll be able to buy that again now, to, answer the next two questions which, is what. If you missed out on the Kickstarter for Planet X 3 a lot of people seem to think that was the only way to get one and I just wanted to confirm that those will be for sale after, the fact so even, if you didn't get in on the Kickstarter you'll still be able to get a copy of it so don't worry about that and of course people are wanting to know when. Planet X 3 might actually be done and that I don't know yet I'm really, kind of hoping by the end of the year, so maybe, around December, so, can't. Make any promises but that's that's the current plan so anyway that. About wraps this video up so, stick around to the next one and thanks. For watching.