Tags: Joseph Hewitt; NovaCity
<b>Joseph Hewitt</b> discusses <b>NovaCity</b>'s design on the <A href="http://groups.yahoo.com/group/gearhead_dev">Gearhead Development Yahoo Group</a>. Here's the rather long thoughts on the subject:
<br>
<br>
<blockquote>First of all, I'm hoping to keep NovaCity as simple as possible. Play will be organized into "issues", each of which covers a single day in the hero's life. The main interface will be a map of the city, from which you can click on buildings to enter them.
<br>
<br>
One building will be the PC's headquarters, which starts as a simple apartment but which maybe can later be upgraded to a fortress of solitude or somesuch. Here the PC can rest for an hour to regain HP, call other superheroes for backup, watch TV or listen to the police scanner to find out where the action is, and so on. The PC can use money to buy additional equipment to make his HQ more useful.
<br>
<br>
Another building will be the PC's office. This is where the PC makes money. Usually, the PC must visit the office once a day and spend 8 valuable hours working there. If the PC skips work too often he'll lose the job and be forced to get a different one. Every once in a while the PC will be given a special job-related plot, depending upon what kind of job he has. Good jobs might include reporter, scientist, and police officer.
<br>
<br>
Other buildings will usually be empty. Visiting them does nothing but waste a precious hour from the PC's day. Certain buildings will be linked to plots. Every day, a number of plots will be generated. There'll always be one plot involving a super-villain from the PC's rogues gallery, plus maybe additional plots involving the PC's girlfriend/boyfriend, his job, "guest villains", and whatever other complications he has in his life.
<br>
<br>
These plots aren't exactly like GearHead plots. They don't contain scripts themselves; instead they'll contain directions for constructing the random scenario that'll be generated when the PC enters the plot's location. I'm planning to use descriptors similar to those used by the XRAN plots in gearhead for stringing plots together into a longer storyline, which will span over several days. Unfortunately I don't know what these descriptors should be yet... I'm hoping to figure that out soon.
<br>
<br>
Example of a single plot: The PC finds out that Sumo-Basho has attacked a lab. Going there, the PC fights many of his thugs, eventually finding Sumo-Basho and a professor. Sumo-Basho tells the PC that he doesn't have time to fight; he and the professor disappear/fly away/tunnel through the floor/etc, leaving the PC to fight Sumo-Basho's henchmen. If the PC wins the fight the last henchman defeated tells him where Sumo-Basho has taken the prof; this will be the scene for the next day's plot. Alternatively, before that, the PC could have used Listening to eavesdrop on some thugs to find the same information; he could have used Mind Reading to find out; maybe there could be other ways to find out as well. In any case, discovering where to go next shouldn't be absolutely dependant upon winning the fight against the bad guy at the end of the level. The next day, in the continuation of this plot, the PC may be able to rescue the professor... or maybe Sumo Basho has gone to steal parts for a machine he's forcing the professor to make... or maybe Sumo Basho has somehow transformed the professor into a new super-villain who will then fight the PC. I haven't yet decided on an appropriate mechanism for deciding whether a plot should continue on or conclude. For ace.pas I decided upon a self-limiting series of component descriptors; this may be how it works in NovaCity as well, once I've sorted out the descriptors.
<br>
<br>
The plots control the overall direction of the story, while the scenario generator controls the exact contents of the story, and feeds back the PC's progress to the plot. I think this is potentially a powerful technique if I can get it to work well.
<br>
<br>
When a scenario is exited it cannot be entered again; at least, not in the same form. If the PC leaves the lab to go take a rest by the time he returns Sumo-Basho will already be gone and the PC will have no way to catch him today. If the PC loses an episode, the next day he should have a chance to find out where the next part is taking place... Maybe by going to the police station and interviewing a captured henchman, or just sitting at home until something comes up on the news.
<br>
<br>
The scenario generator uses "megalists" to hopefully create random puzzles (amazing... even when I'm not creating a superheroes game, the terms I come up with to describe my creations still sound like something Jack Kirby would have said). Check out ace.pas in the GearHead source to see some of my previous work on this... if you can understand that. Even better take a look at the NovaCity source since that actually works. Here's the idea: The megalist starts with some end-condition. Complications are added on top of this end-condition, displacing existing lines in the script. For example, I can add a locked door to the scenario. This locked door throws a "key" complication. The complication selected may just place the key in a room, then throw a "guard" complication to guard it. Alternatively it might give the key to an NPC, who then throws a "quest" complication before he gives it to the PC.
<br>
<br>
Components are selected based on the requested type (key, quest, guard, etc) and also by the plot's description (similar to the fragment desc from ace.pas) which contains information about the plot's XRAN descriptors, plus information from the super-villain (style of caper) and location (a plot in a bank should have different components than a plot that happens at the park).
<br>
<br>
Ideally the PC should be able to finish the game through a heroic path, through a villainous path, or maybe even through a career path. An idea I had for the ending of the heroic path is for the PC to join NovaCity's elite superheroes team; in order to do this he must defeat the five top members in combat. To make things interesting, every time the PC finishes the game in this way, his character becomes the new #1 member of the super-team and the #5 member is booted off the list. Because of the paper-rock-scissors nature of superhero combat this doesn't nessecarily mean that the PC must advance further each time to win the game. To win the villainous track the PC might have to do the same thing with the leadership of the crime syndicate.
<br>
<br>
I don't really like that this makes the ending of both paths effectively the same. Another idea I had for the ending of the heroic path is that in the climactic adventure you save the world. The problem with this idea is... What do I do about the villainous ending? They get to destroy the world? That won't (nessecarily) work...
<br>
<br>
Another thing to think about is how to describe the character's personality traits. From my experience with GearHead I'm convinced that for a random-content game this is a nessecity. However, I'm not certain that the traits I used in GearHead would be the best here... Nor am I certain that a sliding scale from -100 to +100 is the way to go. I'm thinking about a set of opposed traits, like Humorous vs. Morbid, and a set of quirks that can be applied to a character like "Insane", or "Scientist". The list of traits shouldn't be too long since all the trait-based-line writing that I'm now doing for GearHead is driving me batty, and anything more than seven different versions of the same line is madness-inducing.
<br>
<br>
I think that's enough rambling for tonight. If you've actually made it through all this text, I thank you. Let me know what you think and feel free to suggest ideas. As I'm still in the planning stage any of this is subject to change.</blockquote>
<br>
<br>
I'm not so sure the idea of the superhero earning money with a mandatory 40 hour a week job will work. Villians don't need jobs, they make money just being villians. While a superhero probably can't expect to make money being a hero the same way, an anti-hero type probably could by keeping what he gets from the beaten villian. A noble superhero, though, would be stuck with a lot of non-superheroing downtime with a 40 hour a week job if he wants to make money.
<br>
<b>Joseph Hewitt</b> discusses <b>NovaCity</b>'s design on the <A href="http://groups.yahoo.com/group/gearhead_dev">Gearhead Development Yahoo Group</a>. Here's the rather long thoughts on the subject:
<br>
<br>
<blockquote>First of all, I'm hoping to keep NovaCity as simple as possible. Play will be organized into "issues", each of which covers a single day in the hero's life. The main interface will be a map of the city, from which you can click on buildings to enter them.
<br>
<br>
One building will be the PC's headquarters, which starts as a simple apartment but which maybe can later be upgraded to a fortress of solitude or somesuch. Here the PC can rest for an hour to regain HP, call other superheroes for backup, watch TV or listen to the police scanner to find out where the action is, and so on. The PC can use money to buy additional equipment to make his HQ more useful.
<br>
<br>
Another building will be the PC's office. This is where the PC makes money. Usually, the PC must visit the office once a day and spend 8 valuable hours working there. If the PC skips work too often he'll lose the job and be forced to get a different one. Every once in a while the PC will be given a special job-related plot, depending upon what kind of job he has. Good jobs might include reporter, scientist, and police officer.
<br>
<br>
Other buildings will usually be empty. Visiting them does nothing but waste a precious hour from the PC's day. Certain buildings will be linked to plots. Every day, a number of plots will be generated. There'll always be one plot involving a super-villain from the PC's rogues gallery, plus maybe additional plots involving the PC's girlfriend/boyfriend, his job, "guest villains", and whatever other complications he has in his life.
<br>
<br>
These plots aren't exactly like GearHead plots. They don't contain scripts themselves; instead they'll contain directions for constructing the random scenario that'll be generated when the PC enters the plot's location. I'm planning to use descriptors similar to those used by the XRAN plots in gearhead for stringing plots together into a longer storyline, which will span over several days. Unfortunately I don't know what these descriptors should be yet... I'm hoping to figure that out soon.
<br>
<br>
Example of a single plot: The PC finds out that Sumo-Basho has attacked a lab. Going there, the PC fights many of his thugs, eventually finding Sumo-Basho and a professor. Sumo-Basho tells the PC that he doesn't have time to fight; he and the professor disappear/fly away/tunnel through the floor/etc, leaving the PC to fight Sumo-Basho's henchmen. If the PC wins the fight the last henchman defeated tells him where Sumo-Basho has taken the prof; this will be the scene for the next day's plot. Alternatively, before that, the PC could have used Listening to eavesdrop on some thugs to find the same information; he could have used Mind Reading to find out; maybe there could be other ways to find out as well. In any case, discovering where to go next shouldn't be absolutely dependant upon winning the fight against the bad guy at the end of the level. The next day, in the continuation of this plot, the PC may be able to rescue the professor... or maybe Sumo Basho has gone to steal parts for a machine he's forcing the professor to make... or maybe Sumo Basho has somehow transformed the professor into a new super-villain who will then fight the PC. I haven't yet decided on an appropriate mechanism for deciding whether a plot should continue on or conclude. For ace.pas I decided upon a self-limiting series of component descriptors; this may be how it works in NovaCity as well, once I've sorted out the descriptors.
<br>
<br>
The plots control the overall direction of the story, while the scenario generator controls the exact contents of the story, and feeds back the PC's progress to the plot. I think this is potentially a powerful technique if I can get it to work well.
<br>
<br>
When a scenario is exited it cannot be entered again; at least, not in the same form. If the PC leaves the lab to go take a rest by the time he returns Sumo-Basho will already be gone and the PC will have no way to catch him today. If the PC loses an episode, the next day he should have a chance to find out where the next part is taking place... Maybe by going to the police station and interviewing a captured henchman, or just sitting at home until something comes up on the news.
<br>
<br>
The scenario generator uses "megalists" to hopefully create random puzzles (amazing... even when I'm not creating a superheroes game, the terms I come up with to describe my creations still sound like something Jack Kirby would have said). Check out ace.pas in the GearHead source to see some of my previous work on this... if you can understand that. Even better take a look at the NovaCity source since that actually works. Here's the idea: The megalist starts with some end-condition. Complications are added on top of this end-condition, displacing existing lines in the script. For example, I can add a locked door to the scenario. This locked door throws a "key" complication. The complication selected may just place the key in a room, then throw a "guard" complication to guard it. Alternatively it might give the key to an NPC, who then throws a "quest" complication before he gives it to the PC.
<br>
<br>
Components are selected based on the requested type (key, quest, guard, etc) and also by the plot's description (similar to the fragment desc from ace.pas) which contains information about the plot's XRAN descriptors, plus information from the super-villain (style of caper) and location (a plot in a bank should have different components than a plot that happens at the park).
<br>
<br>
Ideally the PC should be able to finish the game through a heroic path, through a villainous path, or maybe even through a career path. An idea I had for the ending of the heroic path is for the PC to join NovaCity's elite superheroes team; in order to do this he must defeat the five top members in combat. To make things interesting, every time the PC finishes the game in this way, his character becomes the new #1 member of the super-team and the #5 member is booted off the list. Because of the paper-rock-scissors nature of superhero combat this doesn't nessecarily mean that the PC must advance further each time to win the game. To win the villainous track the PC might have to do the same thing with the leadership of the crime syndicate.
<br>
<br>
I don't really like that this makes the ending of both paths effectively the same. Another idea I had for the ending of the heroic path is that in the climactic adventure you save the world. The problem with this idea is... What do I do about the villainous ending? They get to destroy the world? That won't (nessecarily) work...
<br>
<br>
Another thing to think about is how to describe the character's personality traits. From my experience with GearHead I'm convinced that for a random-content game this is a nessecity. However, I'm not certain that the traits I used in GearHead would be the best here... Nor am I certain that a sliding scale from -100 to +100 is the way to go. I'm thinking about a set of opposed traits, like Humorous vs. Morbid, and a set of quirks that can be applied to a character like "Insane", or "Scientist". The list of traits shouldn't be too long since all the trait-based-line writing that I'm now doing for GearHead is driving me batty, and anything more than seven different versions of the same line is madness-inducing.
<br>
<br>
I think that's enough rambling for tonight. If you've actually made it through all this text, I thank you. Let me know what you think and feel free to suggest ideas. As I'm still in the planning stage any of this is subject to change.</blockquote>
<br>
<br>
I'm not so sure the idea of the superhero earning money with a mandatory 40 hour a week job will work. Villians don't need jobs, they make money just being villians. While a superhero probably can't expect to make money being a hero the same way, an anti-hero type probably could by keeping what he gets from the beaten villian. A noble superhero, though, would be stuck with a lot of non-superheroing downtime with a 40 hour a week job if he wants to make money.
<br>