Jump to content
XCOMUFO & Xenocide

PRG-Character Design Brainstorming


gangsta

Recommended Posts

Ok this thread is to brainstorm on PCs and NPCs . Basically to me there isn't much diffrence between a soldier, a grey and a tank. This thread can include diffrent methods of name generating, what should be in the datastructure (for those who play RPG that's like the character sheet). What information a character should store. Uh and so forth. :) Edited by Cpl. Facehugger
Link to comment
Share on other sites

I don't know how crazy you want to go with this, so I'll not go mad. How about your soldiers having a birthdate and rank no. This could be one of the things that is flashed up on the monitor on the geoscape. Obviously keep it to currently active soldiers, or it would get silly. Also I'd like to be able to track what kills a soldier has made over his career. Like, Colonel Jackson's total kills 23, missions 23 as usual, but also how many of each different type of alien he's killed. Sort of an alien kill sheet.

 

To get reallly silly the aliens could keep score too. Like Colonel Jackson has killed 40 sectoids, when the sectoids find that Colonel Jackson is in battlescape they fight harder. :uzzi:

Link to comment
Share on other sites

Is Zangband like Angband, the really old ASCII RPG?

 

And as to the issue of birthdates, I disagree Gangsta, that is pretty silly. Even real army seargents can't hope to know all of their soldier's birthdates.

Link to comment
Share on other sites

that's not silly RPG games do that all the time. age can effect a players abilities. That does not mean all that information has to be public. and btw X-Com is part base administrating ;) and an administrator would have access to the ages. Anyway Zangband is based on Angband which is based on Umoria which is based on Moria :P which is based or Rogue. *faints*
Link to comment
Share on other sites

Yes, age does affect the viability of soldiers, but do we really want XCOM soldiers to age? Couldn't it be reasonably assumed that the recruiting pool is all roughly the same age (at least in physical ability)?
Link to comment
Share on other sites

Unless we do some kind of weirdo-implementation of the soldier data structures adding stuff like aging soldiers, medals, history, more ranks etc won't be very hard. I think we should concentrate on finding a relatively general way of storing, loading, saving, editing character data.

 

Then, to get things going, we can start with the basic character traits found in the first game (XCOM Ufo Defence).

Link to comment
Share on other sites

Yes, age does affect the viability of soldiers, but do we really want XCOM soldiers to age?  Couldn't it be reasonably assumed that the recruiting pool is all roughly the same age (at least in physical ability)?

The idea is to make this a general enough engine for other things to be possible. Having an age datafield is not that complicated and doing an age generating is just a call to the old random() function. If it is not hard to do and doesn't hurt the game then why not?

Link to comment
Share on other sites

Anyway, they wouldn't need to have age effect any skills really, as the war is not supposed to take more than a few years, which wouldn't be enough for any noticeble decrease in skill. And if they have a birthday that can be one more thing the little info window can show.

 

"Rookie John Doe is celebrating his 25th birthday today"

Link to comment
Share on other sites

Remeber this will eventually become a more general engine.. and who's to say you can't have a soldier at your base 36 years old or so?

Eventually if your soldier gets too old, he start getting penalties... its a good idea even if we dont implement it in the first release...

 

Greetings

Red Knight

Link to comment
Share on other sites

Some datafields are good idea to add even if you don't have any sudden plans of using them. Just makes your code more expandable and someone else can create a totally diffrent game with your code that uses those fields. Besides, I find seeing stuff like age, hair color, weight, height and so forth fun in looking at the character description. :) even if they are not used.
Link to comment
Share on other sites

btw the HWPs are PCs since the player controls them. :)  So I really don't think they're equipment although they counted as such and sleep in the storage room instead of living area.  HWP's is closer to a soldier than it is to a plasma gun.

The fact that lost HWPs counts as missing/dead soldiers at the battle report make me agree with you on this one.

Link to comment
Share on other sites

Ok, here's an idea I've been working on...

 

Ok, when you start out in Xenocide, you're the world's only line of defence against the Alien invaders, and as such, you have decent funding and recruits to spare. Now, on recruits. Troops from different nations will have different fighting skills. America has cash out tha wazoo, and their troops usually train with the best weapons, but a smaller country, like Afghanistan, doesn't have much funding. Their soldiers learn how to use the land to their advantage, and how to make do with lesser equipment. Guerilla Soldiers, I guess. When you start out, you have your pick of the troops, something like -

 

[ ] Dale Murphy (USA)

[ ] Shinji Tamura (JAP)

[ ] Allan Thorpe (ENG)

[ ] Chesla Volga (RUS)

etc.

 

Now, some players would be tempted to pick from only the strongest countries. To stop that, countries who are consistently passed up will start throwing around accusations of favoritism, and eventually pull their funding. Too many countries pull out, and the bigger nations start questioning you, too.

 

That's it, for now. I'll shut up, now.

Link to comment
Share on other sites

It's easy to think of a few specialities america and afghanistan have, but try to find differences between estonia, czech and india....

 

Also i think this would spoil the idea of a international game,

 

BUT i like the idea of using the terrain etc. This could result in some soldiers have better camouflage techniques/ evasive techniques. What i'm trying to say is, that a lot more stats (besides the regular) could be generated

 

- camouflage

- evasive

- sneaking

- hand-to-hand combat

- increase group strategy (like a commander boosts the morale)

- using flying suits.

- ....

 

This list is endless i think

Link to comment
Share on other sites

It's easy to think of a few specialities america and afghanistan have, but try to find differences between estonia, czech and india....

HEY!!! :angry: ok i understand that to big counties estonians and czechs dont live too far away from each other but cant find differences between estonian and indian!!! heres one: were not some ...ummm... religion fanatics!!! :devilsmile:

 

edit: had to edit coz it sounded too harsh :D

Link to comment
Share on other sites

Having fields for age or even total wounds taken and possible effects to stats available could also be used in the future in a multiplayer role, where you reach a standoff with another player, it would be another little factor that plays into it. As the game progresses, age or maybe even old wounds start to factor into maximum strength or movement. "That frag grenade shrapnel in me knee makes my joints ache, sonny! Don't you snicker at me! In my day, we didn't have this fancy power suit armor! We wore diapers and drove tin foil tonka trucks into battle, and we liked it!"
Link to comment
Share on other sites

MOVED FROM: Soldier Development

POSTED BY: Fatal Error

 

ok i have read bretty much about those character developments like in RPGs though imo they would be EXTREMELY cool i dont think they would fit into x-com or if u guys think they would then i agree :D. thus i thought that maybe soldier development should be a bit mo sophisticated than in original x-com. like soldiers gain experience in the line of duty BUT there are different kinds of experiences eg movement, shooting, aiming, throwing etc etc (could be a very long list) and they gain proper experience only when doing those things. eg gain movement experience (think of it as experience in moving fast, flexibly, unnoticed aka stealth movment etc or else it really sounds useless and silly) or shooting experience (eg using guns mo diligently and lessen the possibility of failure if we include that too) when shooting (any kind of shooting). the good side of this kind of development system would be that it would look mo real from outside but actually integrates the RPG style development system :D. we could even add perks invisible ofcooz.

 

ive not played many RPG but i really liked the "fallout tactics" development system :D and darn that game had grate blood baths ...ummm...i mean battles when used browning against mutants :devilsmile:

Link to comment
Share on other sites

Speaking of scream :yell: , we could give the units voices... sort of like Jaged Alliance. Anyone ever play that game? it was one of my favorites. They could also have awseome death screams ! the sort of screams that send shivers down your spine. Or if the units are wounded, you may be able to hear them moan in agony... Heck.. some solders could also have battlecrys, and victory cheers when they kill aliens...

 

This would be a rather trivial implementation.. probably only just take up some space on the release CD... but otherwise it would be rather easy to implement.

 

Another idea, MERCENARIES :uzzi:

Sort of like hireing Super soldiers. These units cost considerably more, but have superior skills in whatever... shooting, throwing, explosives, psi, or pimping. They would also come with their own custom made weaponry (which might be more advanced than your own) or even have special abilities like air-support, artillary, sea-support, spy-cams.. etc.

Furthermore, there is a limited ammount of mercs.. so if they die, thats it, they are gone.

:sorry:

Link to comment
Share on other sites

The screaming thing is more a wishlist thing until the battlescape things are open for discussion and probably not the most important thing to think about around that time either. Super Soldiers thing has to do with macroworld rules the game follows and we haven't got to that part yet either. Right now we are trying to deicde what attributes to give charactes (not just soldiers). in other words we are in the process of defining the datastructure for what will be Soldier, Scientist, Engineer, Spy, Diplomat, Sectoid, HWP, Floater, ETC. Note there is also the RPG concept of PCs and NPCs. Think D&D like Character sheets here too.. And character generation.. that sorta thing.
Link to comment
Share on other sites

Ok. I get the idea gangsta, ill try to stay more on topic. I dont know who originally proposed this but I think we should have basic data structures, that could be used to envelop new ideas. My appologies in advance if i am repeating something somone else already said, or am posting in the wrong section (as i normally do).

 

That is:

 

1) "Animate" data strcuture that handles all controlable/movable humans, aliens and bystanders.

These data structes would be LOADED with complex contents (memory intensive) like race, age, abilities, and everything else you guys want. I guess its okay to splurge on this data structure since there will probably be a maximum of 50 at a time on a given battlescape. In geoscape it could most likely just get stored in a database (because its useless data), far away from memory constraints.

In fact, id write the damn data structure right now if i knew where to get CVS and i didnt have a exams monday.

 

These would also house a list pointers to the items the "animate" is carrying.

 

2) "Inanimate" data structure that contains everything else, like floors, walls, and ceilings, barbeques, etc.

The principle is the same, with CONSIDERABLY LESS variables, and only a fraction of the memory usage. This will have basic properites, mostly for graphical purposes (lighting, shadow, texture, destroyed vs. non destroyed) Im sure we can aslo assume that Everything in the game is destroyable. Every wall, every item, even the craft. So you would also have to create an "integrity" verable to store its hit points.

 

3) An "Item" data structure, that basically holds the characterisics of the weapon, type, weight, size (l/w), rate, auto, aimed, singleshot, value, integrity, ammo remaining. This becomes important in Battlescape. In geoscape, these values are tucked away under a simple tally of the number owned at base, on a craft, or otherwise.

 

4) "Base" data will house the base statistics, and house pointers to everything else.

Items stored. # of residence spots used up. # of scientists, engeneers, and janitors er i mean soldiers. Using "pointers", you could ap-point the base to the crafts docked within, and the solders can be ap-pointed to the crafts, and vice versa. this complex system of pointers makes the connections nessessary so everything is organized, espessially in geoscape.

 

Once we have the data structs lined out in detail, saving/loading them is a small effort.

 

ps. for scientists and engeneers.. they only exist logically... so they are nothign more tally, unless you absolutely want to include them in battlescapes... in that case they, along with spys and everything else fall into animate category under this model.

Link to comment
Share on other sites

You're on the right track there. I was going to create some UML about the inheritence model of such things. I think I would name them slightly diffrent because PCs and NPCs are just a bool flag to me like

 

class MOB

{

private:

 

bool playable;

 

public:

 

...

};

 

and all the characteristincs of the MOB which is the same as the Animated thing you were talking about would fall in with the private: data members. The thing is that you don't always have to be able to see a MOB. like a scientist in an X-Com base. BTW, it might be interesting to see the scientist in the base hiding in the rooms up above during an alien invasion. could add an element where you try to protect them.

Link to comment
Share on other sites

Ok. I admit, most of what i know is self-taught. So throwing ackronyms around isnt helping :P

What does MOB mean?

UML?

 

Well, the idea between playable and not playable is that the not playable could use a data class that is a lot smaller (and this more efficent) which is nessessary for things like walls and floors, bacause you are going to have HUNDREDS of floor tiles and four times as much wall tiles, whereas you are only going to have (a limit?) of 50 PCs, or movable, animate objects that require complicated control, or Artifical intel.

 

As for items, while they are carried (wither by the animate players, or the floor), they contain a totally independant set of info as described above.

 

The distinction is that of memmory useage, and also, the properties of inanimate objects are also not likely to be saved in the transition of geo-scape to battlescape and vice versa, only when saving or loading a battlescape. Therefore, the distinction is noteworhty, espessially if we are creating and listing our objects dynamically.

Link to comment
Share on other sites

MOB = Moveable OBject and is what most MUDs (Multi User Dungeon) games

UML = Unified Modeling Language (I Think)

 

anyways Equipment and floor pieces are diffrent from a MOB. A MOB is a character, playable or not. I like the name MOB and people with MUD development experience will understand so that is what I would call your Animated Objects.

 

Anyway memory usage won't be a problem. :) most of that stuff will be on the server. About UML that's just a nice way to display ideas graphically since it is sometimes hard to explain verbally ..

Link to comment
Share on other sites

You're on the right track there.  I was going to create some UML about the inheritence model of such things.  I think I would name them slightly diffrent because PCs and NPCs are just a bool flag to me like

 

class MOB

{

private:

 

      bool playable;

 

public:

 

...

};

 

and all the characteristincs of the MOB which is the same as the Animated thing you were talking about would fall in with the private: data members.  The thing is that you don't always have to be able to see a MOB.  like a scientist in an X-Com base.  BTW, it might be interesting to see the scientist in the base hiding in the rooms up above during an alien invasion.  could add an element where you try to protect them.

Why dont use inheritance instead of booleans and add all the respective methods into it...

 

class MOB
{
}

class MOBPlayable : public MOB
{
}

class MOBNoPlayable : public MOB
{
}

Warning not actual code.......

 

A extended idea is to use interfaces (like in java)... check into the CVS i had been using it in the source... The idea is you inherit from the behaivior you want to get... (but be careful not to take it to the extreme)

 

Greetings

Red Knight

Link to comment
Share on other sites

Because that is code centric vs data centric and thus your game is not as modable. All it takes to make a nonplayable character playable is to switch the playable flag to true. Now Scientist you usually think of a nonplayable. I would however give a scientist research ability. X-Com soldiers can have 0 for research for example. The alien scientist however at the alien bases might fight. so they might have a value for both aimed combat and research. Eventually, this engine might be so modifiable that we have characters on a space ship exploring the galaxyscape. There would be say only 5 characters and they all would need to be able to fight but one of the 5 could also research.
Link to comment
Share on other sites

Because that is code centric vs data centric and thus your game is not as modable.  All it takes to make a nonplayable character playable is to switch the playable flag to true.  Now Scientist you usually think of a nonplayable.  I would however give a scientist research ability.  X-Com soldiers can have 0 for research for example.  The alien scientist however at the alien bases might fight.  so they might have a value for both aimed combat and research.  Eventually, this engine might be so modifiable that we have characters on a space ship exploring the galaxyscape.  There would be say only 5 characters and they all would need to be able to fight but one of the 5 could also research.

I wouldnt bet for that... even though i had agree on that vision earlier... i dont think that it could be posible at least modding without changing code... so all the game logic code should be isolated on a dll and make that moddable.... And thats a feature IMHO should be defered until have something finished... Game Logic + Fancy Graphics + Multiplayer + Moddability + who know what... its far too much for a first version... Just my opinion but im really sticking to it.

 

Edit: BTW there is others ways to do that, like using delegation ... but its overkill.

 

Greetings

Red Knight

Link to comment
Share on other sites

I wouldnt bet for that... even though i had agree on that vision earlier... i dont think that it could be posible at least modding without changing code... so all the game logic code should be isolated on a dll and make that moddable.... And thats a feature IMHO should be defered until have something finished... Game Logic + Fancy Graphics + Multiplayer + Moddability + who know what... its far too much for a first version... Just my opinion but im really sticking to it.

 

Edit: BTW there is others ways to do that, like using delegation ... but its overkill.

 

Greetings

Red Knight

 

I never said that modding wouldn't requite some changes to the code. However, I think the code should only be changed when we add new feature to mod with. The thing is that when it comes to OOP many programmers abuse inheritence in the name of beatiful code but at the same time sacrafice flexibility of the code. That's a tradeoff and there are some books written about this. An example of this is I decide to make a MUD. First I make a base class called Character and then I make classes for Elf, Gnome, Hobgoblin, Dwarf, Human, etc that inherit from the base class. My MUD is thus only modifiable through changes to code and is right now stuck in a fantasy mode. Now if I forget about the pretty inheritance tree I can create with OOP and instead make a very general class with many attributes like TypeName, Race, Rank, ranged combat, research, engineering, diplomacy, spying, age, etc... With this system I can create XML files that describe our characters like Soldier, Scientist, Sectoid Medic, Cannon HWP, etc... For the game of X-Com when creating the "Soldier" I'd set a flag like maxResearch = 0; storageFacility = "Living Quarters". For an HWP: storageFacility = "General Stores" and so forth. Anyway with this system we are able to mod a whole lot more without coding, if we create an XML file for each type of thing we can think of. More of the code we will use will be reusable too for new types of characters. This topic requires more discussion on the design but we have several software engineers who are qualified to do so.

Link to comment
Share on other sites

That is what interfaces and delegation is for... to avoid adding variables (btw not a nice OOP design) and structure the code in a simple way... Interface way to do it is far more flexible that inheritance, in most of the cases you will end up using some "clever" hack and plenty of IFs to discover what the real time is... so i dont think that is the right way to go. I had designed the engine using interfaces and it works without any problems adding a lot of flexibility..

 

Edit: Do not ever abuse of your tools (XML in this case)

 

Greetings

Red Knight

Link to comment
Share on other sites

I'm not saying that we should abandon inheritence. But I thnk we should think more abstract at how we design the inheritence tree. And this is not a case of abusing XML files since many muds let you define characters via the data. I think that that is the more flexible design. BTW back on the playable boolean flag that was just an initial suggestion. I think a superior form would be to have a datatype called ControlType which can switch among None, Player, AI. And then there can be another datatype to describe it even more like AI Type or player in that datatype.
Link to comment
Share on other sites

  • 2 weeks later...

Well, I got to thinking about what's going to go on with these guys, and while a fair number of my soldiers do get weeded out within a few weeks of recruitment, for the ones that don't, maybe it's worth considering the effects of staying for extended periods of time in an isolated Antarctic outpost with five or six chaps you know all too well and fifteen others you hardly have a clue about. Maybe some soldiers would have affinity to ones of similar language, talent, or social class; others might resent certain soldiers for those same reasons. This would translate into slight morale shifts, maybe energy bonuses or penalties based on proximity to friends and ...err... not friends. Also, after a few missions together, you can figure on affinities increasing and antipathies becoming more intense (or possibly fading). And don't get me speculating on what happens if you include the possibility that they're not all living the celebate lifestyles of monks... ok, well, maybe I should pick a better example.

 

Practically, the point is, maybe Mariko Osata takes just as long (10 u) to use a Medkit on her ex-lover Samuel Hudson as his current squeeze Marielle Penchiard, but it takes more energy for her to do so. 'Course, if Mr. Hudson was unlucky enough to be under alien control for a few turns, Mariko might get an energy bonus for disabling him...

 

If a unit response, a la Starcraft, is in the works (and I do hope it is), the unit's energy level should probably be reflected in the type of response a unit gives for a given task (overjoyed, enthusiastic, neutral, reluctant, annoyed, etcetera), along with sex and native language. This might help, somewhat, in making the fifth Virgil Kemp seem a bit different from the first.

Link to comment
Share on other sites

That's a bit wishlisty 0rganism for one thing. We first have to build the original game. Another thing to consider is sometimes you can actually make thing less realistic by trying to make it more realistic. For example we don't really know if the langauge a soldier speaks would effect the moral of the group. General observation or guesses aren't always accurate.
Link to comment
Share on other sites

  • 3 weeks later...

My first post :)

 

Soldiers can be divided to troopers, pilots, enforcers(pilots of Really-Big-Machines-Making-Lots-Of-Noise-And-Mess) and psionics. Trooper - everyone knows who he is. Pilot - he is piloting your crafts. Better pilot = Better chance of shooting down a battleship using a cannon :D (and surviving). Enforcers - they feel much better in heavy armor even if that makes them easy-to-hit by aliens. One Enforcer-machine is an equivalent of one tank = 4 troopers. Ofcourse Enforcer machine without enforcer is nothing :). Enforcer can for example jump on the roof of 10m high building. He can also carry much more deadly weapons than trooper but he cannot for example enter to the house through doors because he is 3m high(but who cares about that) :). He can fight also like Ripley with Queen in Aliens 2 :devilsmile:. Psionics - this will be addition to soldier character sheet or standing alone class. After discovering the PSI tech, in recrutiment menu player will able to see if the soldier he is going to recruit have some psi abilities or not.

This can look like:

[ ] Andrew McDonald [uSA] Trooper - Psionic

[ ] Thomas Karlov [RUS] Enforcer

[ ] Cathrine McAron [GB] Pilot - Psionic

[ ] George Hamburg[GER] Psionic

But it can happen that character will be Psionic only. He will be physically weaker.

 

Another option is that the Psi abiilities will be something like Force from Star Wars. This, for trooper and enforcer, means that they can predict their enemy next move (for example +10% to hit chance) etc. Generaly psi abilities will be treated as additional points to accuracy, morale, stamina etc.

 

During the defending of the base all your people will be able to stand and fight even scientis :) but you will have an option of evacuating them.

Link to comment
Share on other sites

During the defending of the base all your people will be able to stand and fight even scientis :) but you will have an option of evacuating them.

Weee! Then there IS a reason to having 93 heavy plasmas!

Link to comment
Share on other sites

  • 1 month later...
My vote for that. It would be fun to be that rookie who always storms UFO with two primed grenades :P

I doubt you can do that more then once :P

 

I always set the best unit to have my name, so it would be cool to have someone of yourself.

 

What about ranks? Its not fun that all starts out as rokiees.

Link to comment
Share on other sites

From one side if they're 'world best' they should have different ranks and skills according to this. In the other side X-Com seems to be only project dedicated to fight with aliens and those who are coming to organization never had an alien fighting experience so amongst other soliders he's still a rookie.
Link to comment
Share on other sites

you are right. I didn't see that the ranks was based on their anti aliens skills...But of cause they also grow better with the ranks...
Link to comment
Share on other sites

From one side if they're 'world best' they should have different ranks and skills according to this. In the other side X-Com seems to be only project dedicated to fight with aliens and those who are coming to organization never had an alien fighting experience so amongst other soliders he's still a rookie.

I think the reason why they start out as rookies in the organisation is the same principle as all special forces across the world. Take for example the SAS, in the regular army a recruit may have been a Corporal or a Captain but when they get processed into the SAS they still start out at the bottom rank and have to work their way up the ladder again. I've always seen xcom in the same light. After all they're not going to pull underachievers to save the planet. :)

Link to comment
Share on other sites

  • 10 months later...

Affinities for other soldiers were mentioned earlier, but I don't think it's unbelievable that people have commanding officers who they perfer serving under or with. Maybe this could be represented with a moral boost of affilated soldiers CO's or soldiers and buddies serve together. Also, if their buddy bites it, they would take a bigger moral hit than if a stranger bit it. I'm afraid that I don't have enough coding experience to dictate how this variable-sized list of 'friends' could be implimented and it might be alittle too much for the project... but I thought I'd throw it out as an idea anyway.

 

Cheers,

-NT

 

P.S. A thought occured to me almost imidiately after I posted. Moral would most likely be affected by their mission number. The more missions under their belt, the more likely their moral would start higher going into the mission as they had lived through so many previously and knew what to expect. Maybe rookies would enter their first few missions would a pretty hefty moral penelty, which would make them more flighty in the face of alien fire?

Edited by Nurrin
Link to comment
Share on other sites

×
×
  • Create New...