Introduction and Forward Well, somehow you, of all people, made it here, to this page, and are reading this sentence. Why are you here? Probably to learn how to "get Stardraft to work" or to find instructions on how to "create a new unit" (hey, maybe "a new race") for Blizzard's Real Time Strategy game, Starcraft and its Broodwar expansion set. O.K. If you take the time to thoroughly read this through, then you'll probably learn how to do those things. But understand this: the main purpose of this "bible" is not to teach you how to use the third party tools made available by generous people such as Camelot Systems (though reference manuals will be part of the tutorials), it is to force you to understand what you are doing and to help you diagnose your own problems and generate your own solutions. The most common misconception about tools such as Stardraft and Arsenal III is that they are some how wound up in the realm of Starcraft map making. Stardraft and its cousins have nothing to do with map making, and the sooner you understand that fact, the sooner you will understand how things really work. Sure, people who make SCMs and SCXs love to use the tools to "enhance" campaigns and individual scenarios. But the underlying fact is Stardraft does absolutely nothing to SCM and SCX files. Those are edited by the Campaign Editor (commonly referred to as Staredit) that is shipped with the game and should be understood as peripheral files to the actual game. Custom scenarios have nothing to do with the customs or mods "created" by Stardraft. When you create a custom or a mod, you are effectively changing the way the game runs -- the entire game, not just an isolated portion like a particular map or campaign. Essentially, there is no difference between a "Total Conversion" or an "add-on" and a "custom" besides the fact that the prior two usually make more changes to the game than the latter. The actual nature of the alterations are the same. Therefore, I should have already hammered into your skull a central point that should answer a lot of your burning questions. Can you make a mod only effect a certain map? No. Can you "make" a map with Stardraft and play it without patching (modifying) the game? No, that is a nonsensical question. You're probably still wondering about those things people decided to call "Emerald Patches" and how you could possibly get things like mineral chunks and nuking ghosts in your map if you didn't "make" it with Stardraft. I'll get to that. But learn this now if you are ignorant enough to not have already realized it in the preceding three paragraphs: Stardraft -- Arsenal, Stargraft, ScAiEdit, ICE, whatever -- does not make maps. It has nothing to do with making maps and will never have anything to do with making maps. A "mod" is applied to the game, not a map. If there's something you can do to a map without a game modification (e.g., making a ghost nuke in your map), then you can do it without Stardraft. Still confused? Then, I beg of you, don't read on. Simply give it up and go back to playing BGH and 'RPG' maps on Battle.net. :P The central goal of people who make modifications to a game is to understand how the game engine reads and uses its external structured data. For example, say you have the math function +. Suppose that is your "engine." If you give your engine two numbers, say 1 and 2, it will give you an output, say 3. (That's 1 + 2 = 3 for all you non-math whiz's) If you give it a different input, it will give you a different output. 1 + 3 = 4, 2 + 3 = 5, 1 + 1 = 2. Now, you really have no idea how + actually "works" but you get a sense that its operation is logical and that no matter what numbers you have it as data input, it will produce a logical output. The same basic idea is behind a game engine. You need not understand how the actual program is processing the data, you just have to see the patterns in input data vs. output results. The Starcraft engine starts will a set of initial data that was given to it by Blizzard. That's the same as, say, + starting out with the numbers 1 and 2. Whenever the engine runs with that data as input, it will always produce the same output. 1 + 2 will always equal 3 (unless you are dumb enough to go to a frat party just before a midterm). When you run Starcraft with its initial data, a Zergling will always look like a Zergling (and not like Elmo, a hamburger, or a Starwars Pirate). But let's say you wanted to receive a different output from the engine, say 4 instead of 3, and Elmo instead of a Zergling. In the case of +, you know you can just input a different set of data like 2 and 2 or 1 and 3. For the Starcraft engine, you may know that if you input a different GRP file (Starcraft graphics file) you can get your ling to look like Elmo. Once we see the patterns in data input and output, we can begin to manipulate it in an orderly fashion to produce the outputs we want. And that's basically it. Except that the Starcraft engine is much more complex than a math operation such as +. It requires a large structured set of data to run properly -- from graphics to sounds to statistics and more. Thankfully, Blizzard provided a full initial set to begin with. (Well, duh, otherwise the game wouldn't run) So, your task is, in making a mod, to decide which pieces of initial data you want to change in order to get the game to perform how you would like it to. |
Copyright (c) 1999-2000 Jeffrey Pang.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the
Free Software Foundation with no Invariant Sections, with no
Front-Cover Texts, and with no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
[an error occurred while processing this directive]