PDA

View Full Version : Encounter Generator



Proton
11-08-2018, 06:56 PM
I was looking over my program, which remains unfinished. I started a thread earlier about it, and just now was considering how to finish it. As I looked over the inventory section, considering how to best implement this rather complicated area, which is to change according to the class of the encounters along with age, circumstances, status or rank, level, and treasure type according to descriptions from manuals. This is my second learning experiment, I did one before but took this one further by setting up a better foundation for it. Now I see and understand more about all this, and though I could add inventory to the existing system, it would not make much sense because it would take foreverrrrrr to specify for the long list of 100+ classes I added. Realizing how important this is though, afterall, if you encounter a wizard goblin chances are it will be garbed as such with a spell book and all. Ninja's aren't going to be wearing full plate armor. Monsters mostly would break down into simply fighter class if they were provided an equivalent where there is none, but then a lot of them run around naked with fur and scales and don't care.

At this point I think it would be better to start over again and simplify it a lot, while setting up the core logic to initially include inventory sets for classes and classifications, which will need to be identified before and not after the core is in place. I am thinking to reduce classes from 100+ to a much easier number to work with, which must include the basics, fighter, rogue, wiz, cleric, etc. So at min it is around 12. I also think it might be good to reduce the number of feats to a more sane level, there are too many, way too many. All the core ones will stay off course. This part will be hard. So many fun looking feats. Spells should be easy, so I can probably get away with adding a lot more variety there.

A lot of this work can be salvaged as lists can easily be cut and edited into place, as I slowly restitch the new system from bits of the old one and insights as how to make this managable in the first place. I'll post the classes I got, maybe someone hardcore fellow DDO players can help me eliminate em and make this list a better smaller one.


Initial Classes
1, Barbarian (Tough)
2, Fighter (Tough)
3, Rogue (Tough)
4, Swashbuckler (Tough)
5, Warrior (Tough)
6, Hunter (Tough)
7, Seafarer (Tough)

7, Palidan (semi)
8, Ranger (semi)
23, Hexblade (Semi)

6, Monk (Ki)
18, Samurai (Ki)
24, Ninja (Ki)

20, Shugenja (Ki Caster)
21, Sohei (Ki Caster)
22, Wu Jen (Ki Caster)

2, Bard (Caster)
3, Cleric (Caster)
4, Druid (Caster)
10, Sorceror (Caster)
13, Artificer (Caster)
15, Wizard (Caster)
16, Favored Soul (Caster)
19, Shaman (Caster)
28, Spellthief (Caster)
25, Warmage (Caster)

14, Warlock (Pact)
11, Soulreaper (Pact)
27, Witch (Pact)

30, Mystic (Psionic)
31, Psion (Psionic)
32, Psychic Warrior (Psionic)
33, Psychic Rogue (Psionic)
34, Divine Mind (Psionic)
35, Soulknife (Psionic)
36, Wilder (Psionic)
37, Lurk (Psionic)
38, Erudite (Psionic)
39, Ardent (Psionic)
40, Time Traveller (Psionic)

Timetwisted
1, Pilot
2, Soldier
3, Agent
4, Gunslinger
5, Medic
6, Detective
7, Scientist
8, Entrepenuer
9, Specialist
10, Light Worker


PrestigeClass
1, Dread Pirate
2, Diplomat
4, Conjurer
5, Enchanter
6, Illusionist
7, Fire Savant
8, Water Savant
9, Air Savant
10, Earth Savant
11, Necromancer
12, Astrologer
13, Exorcist
14, Beast Master
15, Knight
16, Cavelier
17, Mountebank
20, Healer
23, Gaurdian
26, Darkwood Stalker
27, Dervish
28, Dragonrider
29, Geomancer
31, Jester
32, Theurge
33, Occult Slayer
34, Primal Rager
35, Soothsayer
36, Divine Oracle
37, Inquisitor
38, Chaos Warrior
39, Gladiator
40, Seer
41, Traboudor
42, Sage
43, Master Archer
44, Technomancer
45, Soul Eater
46, Witch Doctor
47, Viking
48, Bandit
49, Amazon
50, Mutant
51, Kinetic
52, Miner
55, Bezerker
56, Alchemist
57, Acrobat
58, Wild Mage
59, Warpriest
60, Divine Disciple
61, Runecaster
63, Arcane Archer
64, Assassin
65, BlackGaurd
66, Defender
67, LoreMaster
68, Shadow Dancer
69, Yakuza
70, Witch Hunter
71, Kensai
72, Void Disciple
73, Tattooed Monk
74, Singh Rager
75, Blade Dancer
76, Shapeshifter
77, Ninja Spy
78, Battle Maiden
79, Iajutsu Master
80, Justiciar of Taiia
81, Soldier of Light
82, Divine Agent
83, Gate Crasher
84, Planar Champion
85, Planeshifter
86, Fiend of Blasphemy
87, Fiend of Corruption
88, Fiend of Possession
89, Metamind (Psionic)
90, Pyrokineticst (Psionic)
91, Slayer (Psionic)
92, Psychic Assassin (Psionic)
93, Anarchic Initiate (Psionic)
94, Ebon Saint (Psionic)
95, Ectopic Adept (Psionic)
96, Flayerspawn Psychic (Psionic)
97, Illumine Soul (Psionic)
98, Soulbow (Psionic)
99, Storm Disciple (Psionic)
100, Zerth Cenobite (Psionic)


Epicprestige
1, Agent Retreiver
2, Cosmic Descryer
3, Divine Emissary
4, Epic Infiltrator
5, Gaurdian Paramount
6, High Proselytizer
7, Legendary Dreadnaught
8, Perfect Wight
9, Union Senitel
10, Perfected One
11, Soul Reaver
12, Arch Mage
13, Planeswalker
14, Celestial Paragon
15, Arcane Angel
16, Divine Crusader
17, Void Incarnate
18, Stalwart Warden
19, Fatespinner
20, Spin Master

Ignore the numbers next to the classes, its left over rubbish.

Also, I am considering how to implement prestige classes, while this is for 3.5 PnP, I have modified the generator to include Mana for a mana system and in also includes a double critical hit system, the arrow in the forehead sort of thing! Spear through the heart anyone? So while I am putting this together, I think its best to pause for a second and consider if the prestige system could be improved, possibly models after DDO a bit more, without getting too complicated or difficult to keep up with. PnP has to keep things as simple as possible after all, when calculating suffocates the adventure that is bad. So while it would be nice to model it similar to DDO, some things might be better left out where computers make like easier, like Physical Resistance Rating. Any thoughts from fellow PnP DDOers would be greatly appreciated before I finalize this PnP generating tool.

Thanks in advance and after!

Edit: While that list includes classes, it doesnt include the full inventory sets that would need to be considered. Things like farmer, peasant, beggar, fugitive that aren't really classes but still classify somehow and appear within the spectrum of encountering range will be included, but kept to a minimum.

Proton
11-09-2018, 03:35 PM
Having decided to pick this project back up, and to put it into evening activities that are productive, interesting, and practice, yet not does not directly translate to making money or improving business, thus a useful hobby with benefits. Taking today off, I decided to review the program more carefully and slowly picked up where I left of. Wow, I understand that term code Spaghetti, these things kinda do that don't they. So many lists, files, and variable pumping through each other in this massive system, and if I move anything, it must be done with great care that all the files referring to it get new rhoutes or they will end up check for something that is no longer there and boom, the whole thing no longer works!

So I was very tempted to just start over, but looking more carefully, I realize how I can add the last bits easily without making it too taxing. The classes are part of the problem though, as any can see the long list up above, but I think I figured a way to reduce the operations but 95%, thus putting it back on the table. I still need to go through that list of classes and reduce it some, while adding what I will call sub-classes that play important roles in inventory as well as circumstancial possibilities. All possible locations will be added, so places like a Rural Farm or Ranch or Urban Park where encounters are more likely going to be things like peasant, beggar, farmer, midwife, etc will be included.

Before I get too far ahead of myself, and before I can even begin on inventory, I have to sort out the circumstances that must be programmed before inventory in sequence or inventory will not be able to call upon the circumstances it needs to figure out its possibility range when setting up logic. Therefore, I have to complete the very complex process of mixing variables into a circumstance matrix that is able to determine the circumstances of each entity as well as align circumstances of groups which are derived from these factors:

###Wild Circumstances
1, Alignment Divine Rank Race Age Level Religion Template Class Origin Reputation Status Wild
_Hunger Awake Disease Poison Wounded Reputation-Hunted Honor-Hunting Honor-Travelling Cursed Enchanted Compelled Controlled
_Insane Controlled Warranted Possessions Problems Mating


And looking at that prep script I can see already it is not in the correct order, this part is a bit tricky but fun, as when this is ready it should actually just pump out paragraphs that make sense on their own, and which are randomly generated but heavily influenced by the prior sequences involved in creating a new entity. This paragraph will not only describe what each creature is going through, it will also pump new variables into the sequences following that help to complete each entity produced this way.

If you encounter, say, an Ogre that just got robbed, beat up, but was spared his life only hours ago, the circumstances indicate that this encounter will NOT have a lot of inventory or treasure!

Reverse that, if you encounter, say, an Ogre that just robbed a caravan transporting the King's gold and goodies, who is the sole survivor of his gang, and has taking both wounds and all the treasure in a big bag he is dragging through the bushes, the circumstances indicate that this encounter will have more inventory and loot then usual! And it will all be called upon and available when the encounter manifests.

This is why I can't even start inventory until this part is done. But inventory comes right after, and after that spells and then I am DONE!!!! (just pump in the monsters off the list, mindless easy stuff, no real programming, and doesn't take long if you chip at it a bit without worrying about it).

###Wild Circumstances
1, Alignment Divine Rank Race Age Level Religion Template Class Origin Reputation Status Wild
_Hunger Awake Disease Poison Wounded Reputation-Hunted Honor-Hunting Honor-Travelling Cursed Enchanted Compelled Controlled
_Insane Controlled Warranted Possessions Problems Mating

This is going to be some brain work... gonna get started on figuring out which of these things is the most dominant influencing factor upon an entity;s circumstances, and place this from strongest to weakest in that order. So I get to ask myself, and anyone reading this, hehehehe, things like does being Evil affect one's circumstances more in life then being, say, 98 years old? Hmm... I think Age is going to take the lead here, after all, being a newborn baby is definitely gonna change everything! Ah, but Divine must actually lead, missed that, afterall, being immortal, yeah, that will change everything a lot more won't it?

What kind of things do Barbarians usually find themselves doing? What sort of things do Gnolls find themselves doing? Now mix these two together, what are Barbarian Gnolls likely to be doing?

This is fellow DnD DDOer's chance to influence the process if they want, after it is done, I won't be going back to change anything, but leaving it as it is, a finished project, at its peak and limited to what it is, hopefully ending up to be more then I could grasp, which would make it more fun to use! I can't actually project when this will be done, but can say with only circumstances, inventory, spells, and finally localities (which is just pumping lists up, super easy) left to do, it isn't as much as I thought, though both Circumstances and Inventory become a lot larger the more classes there are.

I'm gonna be considering how to implement epics, prestige, and this class arrangement over the weekend, any insights are welcome.



Happy Hunting!

Proton
11-10-2018, 06:07 PM
I decided to open up my Python program once again and figure out how to copy and paste in that thing. Last time I opened it I didn't bother to figure it out, was too absorbed in the simpler program I was using and put it on hold. But this time I got it (was in options, some feature suppresses copy paste, no way I would ever program without that!) and seeing that this program offers about 1000 times more possibilities and power then the one I was using, I am now very eager to begin a new program with it that will begin to set up the core logic for some game making fun!

But I don't want to abandon this after coming so far and being so close to done, so while it currently stands there is a lot of complicated matrices to set up. I think I will compress and simplify the circumstances into being overseen by roles, it makes more sense for dealing with issues like age, since a babies and toddlers tend to be different then adults, and young child dragons are a bit different then young child humans.

Haven't cut that class list yet, so I guess I will look over the old program and think about how to finish it up quickly so I can start digging into a professional system already being used for big productions (looking forward to a tables system that functions better then the limited one I have been using).

I'm gonna aim to get this done soon. It will be fun to use even as it provides an excellent model of flaws (mostly organizing the lists and files better :P as the old program has gotten rather spaghettish, I can follow it, but it could be faster and easy to do if it wasn't so mixed up as it got - it does work :D ) to avoid next time!

boredGamer
11-10-2018, 06:18 PM
Good luck though

Proton
11-10-2018, 10:35 PM
Good luck though

Thank you. It is good to learn more about computer programming, specially the sequenced order of it. This encounter generator is the first baby step in developing a game that will combine so many generations it will be impossible to predict. I look forward to developing new A.I. systems of increased unpredictability coupled with adaptivity and memory.

There will be many interesting challenges that I will thoroughly enjoy, when it is finished it should just make itself on demand and where players wander into unknown and uncharted territory. The map will be far more open then a typical open world map. This is one of the reasons I selected Python Stackless, it is already the core system for Eve Online, a game that provide an entire universe of space to explore, complete with worlds, ships, etc. My core will also provide this, an open universe to explore, though players will start out in a town on a world and not in outer space, if they figure out the means, they can leave the world behind and go check out the massive space creatures or bizarre zones of activity. Perhaps they will stumble into a space rift that leads to some other plane? This is where the game will provide excelled elegance, being capable of providing an entirely different universe that wasn't even ever programmed.

The main idea of the program is literally to provide endless in a number of ways. It will take a long time to prepare no doubt, but these things go faster when you have fun doing them, also I will be able to correspond the knowledge I accumulate in coding to refine my bio code, I am currently using an outdated bio code from 12 years ago, though it is still very potent. My second code in the refining process was a lesson in organizational skills to say the least, I hope the third will gain a lot of insight from this project. I once again started activating it, which of itself should help me to get a huge amount of computer coding done much faster then without. It might be a good idea to start thinking about putting together the first bit of a team on this, I can think of a few people already worth visiting.

I'll likely release the older project as a public resource for PnP gamers with a few modifications to the rules, like mana and double crit. I suppose I'll just keep the 3.5 prestige system and eliminate a few of the classes to make less to do, though I was considering something more similar to the DDO online prestige system, which is more fun I think, but would be a bit more tricky for PnP. Probably gonna stick with how it is and reduce a bit.