| lil-Inferno | Mar 24 2008, 10:37 pm | Post #1 |
|
Don't play with fire, play with lil-Inferno!
|
Well I was rummaging through the staticsen v4 on Doodle77's website and I came across this, I thought it would be a good oppurtunity to help the ever so popular team-mapmaking projects. Tuxedo-Templar wrote this, I owe all credit in this topic to him.
Thinking about it now, one of the major obstacles I see to mapping thus far has been the team element. While many great works have come from individual mappers, the fact is that working by yourself is doing it the hard way. It takes longer to make, depends strongly on your available free time, energy, and most of all, has no contingency or failsafes if you can't or won't continue working on it; if you fail, it fails. With multiple people, though, you can address those problems. However, there's costs with doing that as well. You have to recruit competent members, manage their productivity, and most of all, bring together all of their efforts to produce a single product. Thus far, it's been that aspect that has been the most trouble with Starcraft. While you can easily divy up aspects like planning, play testing, story/script writing, and maybe production and release, aspects of triggers and terrain; the so-called "meat and bones" of a map, respectively, have traditionally been difficult to divide up. Doing so either requires a "pass the baton" approach with the map (where only one person can work on it at once), or else forcing people to have to copy each other's modifications by hand between edits across multiple copies of a single map. However, thanks to the power of modern editors, and possibly this guide, you shouldn't have to suffer that any more! Team Mapping Process Roles Like any group project, the first thing to establish, whether the idea has been conceived of yet or not, is who will be in your group and what they will do. There's two main things that determine who and what you need for a project: Scale: The more ambitious a project is, the more people it will likely need to cover each aspect. While smaller projects may be able to get away with using only a few or even one person doing multiple tasks, larger ones may need multiple people just to cover a single task effectively. Sometimes you may even need people just to handle communication within the team (a "Producer"), depending upon the number of people or complexity of the project. Type: Different types of maps/projects have different requirements. An RPG may require several people to be writers or planners to cover story, dialog, and game events, as well as having requisite competency in the terrain and trigger departments. A Defense or Bound map, on the other hand, may not require any writers at all, and only a few (or just one) planner, passable terrain or triggers, but a lot of playtesting/balancing. Let's assume you're working on an ambitious Campaign or RPG-type map, for instance. I'll use this as my example because it effectively represents the full scope of what you may need for a large-scale team project with Starcraft. Here are some of the roles you may need to cover (note that for some of them I'll be using my own names and descriptions): - Execution:
- Planners: Writers: [LIST] Skills needed: Story writing ability, grasp of the context it's in (Starcraft, in this case), vision for how to map it into gameplay. Skills needed: Grasp of emotional and circumstantial contexts, good expressive ability, and even sense of timing. Skills needed: Strong command of written/spoken language, grasp of effective language, grasp of how to focus on what's important.
Skills needed: Spacial and asthetic sense, grasp of area requirements, grasp of game limits. Skills needed: Familiarity with many gameplay styles, balancing, and creative thinking. Trigger experience helpful. Skills needed: Solid triggering/terraining ability (as needed), creative thinking, problem solving ability. - Content Makers:
Skills needed: Strong aesthetic ability, spacial ability, knowledge of tilesets and tile blending, grasp of project requirements. Skills needed: Strong trigger writing ability, strong grasp of the workings of the game, logic skills, problem solving ability, patience. Skills needed: <See description> - Testers:
Skills needed: Good communication ability, managerial ability (managing a team of testers), and skill at compiling and communicating test results to the team. Skills needed: <See description> Task Allocation If you were to be working on the above-described ambitious Campaign/RPG, you'd need to fulfill each of those roles in some way or another. Chances are, you could recycle team members to cover those, or even do them all yourself, but again, if you expect to actually produce something in a reasonable span of time (or even at all), delegating tasks is really the only way to do it. Most of the Execution, Planning, or Testing tasks can be easily delegated with the right people, but the it's the Content tasks that need some special help. This is where I come in with some handy methods, and a few modern tools, to help. |
||
| lil-Inferno | Mar 24 2008, 10:38 pm | Post #2 |
|
Don't play with fire, play with lil-Inferno!
|
Terrain:
Terrain is usually pretty straightforward, once you have the plan for it. However, sometimes terraining has some requirements or limits, which plans may need to accomodate at times. But I'll spare you a tutorial on how to make terrain, and tell you instead how to go about making it not all by yourself!
This stage will involve a bit of trial and error, and is not meant to be for making a final draft. One important consideration with this part, also, is that when terrain is merged via. brushes or cut and paste, it loses its ISOM data in the process. That means editing it in its combined state will be difficult, except by using brush samples or individual tiles, so any changes needed should be made to the terrainer's own samples of each area, and then recombined for (re)fitting, as needed. Triggers: Here it is. The devil of all major projects. Traditionally, due to both complexity and singularity (read: no way to divy up triggers without breaking them), this is almost doomed to be a one-man task. But with careful commenting, information records, and closely following the project's plan, delegation of this tedious task is far from impossible. Furthermore, thanks to the technologies of recent editors (SCMDraft, GUEdit, etc.), triggers can now be imported/exported via. text, and treated as 'source code' just as with traditional modding/mapping projects in non-Starcraft games. For simplicity's sake, I'll just describe how to handle this process by refering you to SCMDraft 2's handy TrigEdit feature (GUEdit's has known issues I believe). Keep in mind, however, that due to a number of issues with SCMDraft (specifically, it's string recycling features), you will not have good backwards compatability with Staredit-family editors. If you plan on doing anything in particular with them, you had better do it before you start dividing up your triggers for this stage. Though there is a way to make backwards compatability work, frankly, it's probably just more effort than it's worth (it involves using Proedit or Uberation's string unrecycle features, but neither of those tools are altogether stable in their own right, so I would recommend avoiding having to do this.) Anyway, let's begin:
- Commenting Conventions: You must agree on a good convention to use for commenting triggers, naming your locations, switches, etc. Before, with Staredit-family editors, you had to rely on using lots of blank comments to compress large sections, and use the topmost trigger of each section to put in the necessary trigger data. However, using the Source Code system, you can bypass formal trigger commenting altogther and encase your comments with lines preceded with // symbols (C++ style line comments). Additionally, you can add in white space to pad out distinct sections, to your discretion. And because you are dealing in text, you can even go as far as to use a formal coding IDE to help with the process. I would recommend using a program called Notepad++ for the job, as I find tabbed editing, session saving, language definitions, and the ability to zoom text (as well as the dozens of other cool features) to be especially useful for text-based trigger editing. - Information records: Due to the nature of Starcraft triggers, unlike scripting or programming languages, you can't formally "declare" things like variables or other data storage means. Instead, you have to "borrow" from a pre-existing one, such as a unit's death counters, switches, or even use in-game units to hold data somehow (if you're a Trigger Writer, you should know this stuff, though). It is vitally important to keep track of all these "borrowed" resources, especially if you plan on delegating the task of triggers among multiple people. Conflicting use of a given death counter or switch can spell hours of debugging nightmares, which is the last thing you want on top of the existing difficulty level Here are some of the things you'll need to keep a good record of: - Death Counters: That includes which units, which players, and what it's used for (Counting something? Using it to activate something like switch? A timer?) - Switches: The number, the name, and what it does. Note: Switches use up strings, so avoid counting on them if you can get by with Death Counters or other means. They do have their uses, though (randomization being one). - Locations: The name, size dimensions, elevation flags, its purpose(s), and its location (if used statically). You will often need to compare this information in particular with the other programmers, so be sure to keep it as up to date as possible. - A possible fourth system, and one I would highly advise, is a good backup system. Every time you make any notable changes to your triggers, be sure to back it up (a system of version numbers helps too). Also try to keep a log with each backup of what has changed since the last one, so you can backtrack. - Once you've confirmed that, then you'll have to combine your stuff with the main copy. Be sure your records are up to date with this main copy as well. - In addition to individual copies of the map and code, your project should have one main copy of both map, triggers, and information seperate from the rest (probably entrusted to your Project Lead himself). Combine your code with this copy, updating the information as needed, and then test for compatibility. - Chances are, in spite of your best efforts at recording all the necessary information to prevent conflicts, it is likely something will still go wrong. Do not panic. This is standard debugging. You'll have to trace through your new code as well as the existing code to find the discrepancy. Your fellow programmers and even some testers should be able to help you with this task, though if the bug(s) aren't that significant you can opt to push them aside for later (or if you need additional resources before you can track them down). Just be mindful of pushing too many things aside, as it'll wind up on your Project Lead's plate in the end, and he'll probably have more than enough on it as is. - Once your code works reasonably well, you should run it by the testers or other programmers once or twice just to be sure. If no more major issues arise, or if you can safely ignore whatever does, then it might be ok to call it done. From there, it's on to the next task! So there you have it. This isn't quite as in-depth as I could have made it out to be (if you can possibly believe that), but it should help you get the beginnings of a process established for doing team-based maps. You'll need to work out some of the process-related details for yourself, though (project plans, project stages, terrain allocation, managing Source Code systems, etc.), as well as of course having the right competencies available to pull it all off. To that, I wish you good luck, and happy mapping !All of this was written by Tuxedo-Templar. To Admin and Moderators: Do not take this as an attempt to get minerals, this is mainly for the purpose of helping people, please sticky this if you feel the need to. |
||
|
This post was edited 1 time, last edit by lil-Inferno: Mar 24 2008, 11:06 pm.
|
| FlyingHat | Mar 25 2008, 12:07 am | Post #3 |
|
This is a good guide. I don't map but this is a well written text. I shall use the format used here in my soon to come General Moddery Guide.
|
||
![]() |
| JaBoK | Mar 25 2008, 12:57 am | Post #4 |
|
It's a good guide, but it would be a nightmare to go through all of that. Personally I think the best way to do a map is to have a triggerer and a terrainer who collaborate on an idea, much simpler, but not as large scale.
|
||
![]() |
| Tuxedo-Templar | Mar 25 2008, 1:50 am | Post #5 |
|
This article woefully out of date. This was based on ideas I had that are mostly grounded in theory instead of practice. I'm gonna need to re-write it again at some point.
|
||
| Excalibur[MM] | Mar 25 2008, 1:55 am | Post #6 |
|
llllllllllllllllllll
|
I wonder if a copy of the tut me and Tux put up still exists, i think it was on how to actually finish a map.
|
||
![]() Looking for D2/LoD Keys. ): aToMiCaL77 Torrents: Because when you need it, you need it. But then, I realized that maybe, the world didnt end so many hours ago. And maybe I can fly. Maybe you can too. |
| UNORiGiNAL | Mar 25 2008, 2:03 am | Post #7 |
|
I think that would be more helpful. |
||
![]() |
| Tuxedo-Templar | Mar 25 2008, 2:13 am | Post #8 |
|
Problem with that was we couldn't agree properly on whether maps should be taken just for fun or whether they need to be taken seriously to be finished. Personally I think nearly any non-trivial map is going to cross into the 'not fun' realm at some point or another. I think the major reason people don't finish their maps is because as soon as this threshold is hit, they realize the map isn't "doing it for them" anymore, and decide to go find a cheaper source of personal gratification.
See, that's why I think that it's necessary to learn to fight past that shit. And to do that, you need to develop a way to endure the 'not fun' part; meaning you need to take it seriously to a certain degree. A good way to be serious about maps is thinking in the mindset of making them for people to actually be playing them; not just as a source of kudos. WoodenFire got more than his map's worth of kudos just from showing off its unfinished terrain and the 'ideas' he announced for it, for instance, and I think that was part of the reason we never got to see Crescent Dyne. That's just the wrong reason to be making maps. |
||
|
This post was edited 4 times, last edit by Tuxedo-Templar: Mar 25 2008, 2:23 am.
|
| payne | Mar 25 2008, 2:23 am | Post #9 |
|
I'll send 200 mins to the guy that'll see my 200th profile view!
|
So peotical
|
||
![]() |
| (U)devilesk | Mar 25 2008, 2:29 am | Post #10 |
|
Classic
|
PEOTICAL!
Define wrong? What if I thought the journey was more satisfying than the destination? Crescent Dyne was one long journey. Making up bullshit and getting praise from others could have been what the Crescent Dyne supporters wanted. |
||
![]() Re: Will Maphack be allowed in SC2? for LAST TIME MAPHACK IS NOT CHEAT. is ROCKET BOOSTER INTO SPACE CHEAT? ROCKET BOOSTER INTO SPACE MAKE SPACE TRAVEL EASIER BUT NOT CHEAT. THEREFORE, MAPHACK IS NOT CHEAT. WOW YOU PEOPLE ARE STUPIDS!!!! While playing Soldat: Bravo Team Member: staying two seconds at one place is not camping.. Alpha Team Member: ya.. and putting ur cock into a vag is not sex |
| Tuxedo-Templar | Mar 25 2008, 2:40 am | Post #11 |
|
Wrong in terms of:
Etc. It's just plain wrong in just about every way that ought to matter. |
||
|
This post was edited 1 time, last edit by Tuxedo-Templar: Mar 25 2008, 2:48 am.
|
| (U)devilesk | Mar 25 2008, 7:03 am | Post #12 |
|
Classic
|
Define wrong? What if I thought the journey was more satisfying than the destination? Crescent Dyne was one long journey. Making up bullshit and getting praise from others could have been what the Crescent Dyne supporters wanted. Wrong in terms of:
Etc. It's just plain wrong in just about every way that ought to matter. And why are those things "wrong". |
||
![]() Re: Will Maphack be allowed in SC2? for LAST TIME MAPHACK IS NOT CHEAT. is ROCKET BOOSTER INTO SPACE CHEAT? ROCKET BOOSTER INTO SPACE MAKE SPACE TRAVEL EASIER BUT NOT CHEAT. THEREFORE, MAPHACK IS NOT CHEAT. WOW YOU PEOPLE ARE STUPIDS!!!! While playing Soldat: Bravo Team Member: staying two seconds at one place is not camping.. Alpha Team Member: ya.. and putting ur cock into a vag is not sex |
| Tuxedo-Templar | Mar 25 2008, 7:50 am | Post #13 |
|
Well I guess they wouldn't be wrong if you weren't interested in Starcraft.
In which case you should probably go troll somewhere else. |
||
|
This post was edited 1 time, last edit by Tuxedo-Templar: Mar 25 2008, 8:40 am.
|