Giter VIP home page Giter VIP logo

megacosm-generator's Introduction

What is CityGenerator?

CityGenerator is a suite of tools that can help generate a unique campaign setting in seconds.

Where did it come From?

CityGenerator has been a labor of love for several years. Originally a bash script used to generate population statistics, CityGenerator has grown a set of perl scripts that encompass NPC creation, Government and Military details, weather patterns, establishments and more.

How do I use it?

There are three ways to use it:

  1. Try the existing Demo site
  2. Download the latest version and run it on the command line (Requires perl and many many CPAN modules).
  3. Download the latest version and run it as a CGI application under nginx/fastcgi or apache (Again, requires perl and many many CPAN modules).

megacosm-generator's People

Contributors

dalitimelord avatar ddrmaniak avatar deadshot15 avatar iceharbinger avatar jbertino avatar jttwest avatar mareofnight avatar morgajel avatar vtbassmatt avatar yasmeenakbari avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

megacosm-generator's Issues

create base page and builder for stars and moons

These two generators were my first attempt and need to be rewritten to follow the conventions of the others; specifically ensuring data structures use "name" rather than "text" for colors on stars.

  • Data needs to be normalized
  • Handlers need to be added to megacosm.py
  • new template needs to be created.

add children methods and calls

planets, countries, etc all need to have an add_*() method for their children, and it needs to be called by megacosm.py

Better Controls

Controls suck; I want to be able to zoom in and out without a scroll wheel.

causative bugs in bonds

22:47 < causative> most of them check out
22:47 < causative> Yesterday, Surplak imagined you without clothing on accident - "by accident"
22:48 < causative> Years ago, Gab Wobbjet discovered that you has a deep, dark secret.- have a deep, dark secret
22:51 < morgajel_> {{params.partyA}} discovered the deep, dark secret that {{params.partyB}} hid.
22:57 < causative> accidentally lead to the arrest of - should be "led"
22:58 < morgajel_> https://github.com/CityGenerator/Megacosm-Generator/blob/develop/data/bond.data
22:58 < causative> already looking at it
22:58 < causative> {{params.partyA}} camped together recently - one person camped together?
22:59 < causative> {{params.partyA}} claim to have given {{params.partyB}} something of value. - "claim" should be "claims" if params.partyA is not "you"
23:00 < causative> {{params.partyA}} cleaned {{params.partyB}} armor acter losing a bet. - it should be {{params.partyB}}'s armor, or "your" armor in the case of you
23:01 < causative> also "after" not acter
23:02 < causative> {{params.partyA}} dared {{params.partyB}} to do something stupid- ending in arrest, fines and community service. the hyphen should have a space on both sides of it
23:03 < causative> hey, you have things of the form {{params.partyB|capitalize}} - you can use that for verb tense, like {{params.partyB|was}} would give "were" if params.partyB is you
23:04 < causative> also you can use it for possessives
23:05 < causative> {{params.partyA}} nearly drown trying to save {{params.partyB}} - drown/drowns depending on partyA
23:05 < causative> actually just change it to drowned since you want past tense
23:07 < causative> {{params.partyA}} thinks of excuses for {{params.partyB}} when they're needed - I think you want past tense, "thought"
23:07 < causative> well, see, you want "thought" if it comes with a time prefix, but you do want "thinks" if there is no prefix
23:07 < causative> or "think"
23:10 < causative> {{params.partyA}} hums to drive {{params.partyB}} crazy - again present tense, and hum/hums
23:11 < causative> {{params.partyA}} likes to hunt with {{params.partyB}} - present tense
23:12 < causative> oh there's 3 that are "on accident" (should be "by accident")
23:13 < causative> {{params.partyA}} nearly killed {{params.partyB}}, and {{params.partyB}} knows it. - know/knows
23:13 < causative> {{params.partyA}} lock {{params.partyB}} in the bottom of a privvy. - locked, and privy
23:15 < causative> {{params.partyA}} peeped when {{params.partyB}} is changing. - was/were changing
off till tomorrow, what you can do the day after tomorrow]
23:15 < causative> permited -> permitted a few places
23:17 < causative> that's the last of em :)

Audit of deity colors

I'm not real happy with all of the colors; specifically things like "banana" need to be renamed so that a "banana apple" is a "banana-colored apple".

Tie parent and children related features together

If a country has a corruption level, that corruption level should influence(but not set) the corruption level of the cities within;

i.e. a very corrupt country will have more corrupt cities.

This goes for many generators and stats.

New stats and features for businesses

We need entries for how business is going, current troubles, etc. and to make sure the templates show all the values.

what other stats and feature would be useful for a business?

New Races

What races do we want to add? Here's a list of potential candidates. I'll admit, the hardest part is generating the name parts.

Crab People
Myconids
Tengu
Bugbear
Hobgoblin
Catfolk
Ratfolk
Merfolk
Gnoll
Centaur
Dragonborn
Satyr
Tiefling
Aasimar
Grimlock
Hagspawn
Yuan-ti
Warborn
Gargoyle
Troll

Add Stats to cuisine

Cuisines currently only have a rarity stat; imagine what else they could have- spice, presentation, flavor, dish size, etc.

better NPC text

"Down the path you see an old man packing and lighting his pipe. He does not appear too notice you. Leaning against his knee is a well used axe.

The old man is friendly and gruff but unwilling to give away information for free."

Add Classes to each NPC

I need to balance out classes with professions; should they be separate, or intertwined?

If so, should they be weighted?

Loot Generator

loot generator would be a variation of the magic generator but just random non magic loots. I could put in a range of items to be generated say 4-7 items and it would generate them. Perhaps a small percentage chance of something magic could happen.

geomorph subdirs

we need to rethink how geomorphs are stored on the FS and in redis.

I think

/static/images/geomorphs/[0-5]/*.png

should be changed to

/static/images/geomorphs/[author]/[tileset]/[0-5]/*.png

Which can then be stored in redis as

LPUSH geomorph_tile_[0-5] {"path":path, "author":author, "tileset":tileset }

Change how deities handle avatar sex

pervert.

Sex is technically a stat, so saying a deity favors Charisma is ok, but saying a deity favors sex is misleading.

perhaps changing it to say favors men or women.

add commented lines to scroll effect

#TODO need more like this (and need these formatted)
#                <option type="daze">can daze an opponent for a few seconds</option>
#                <option type="identification">can identify other magical items</option>
#                <option type="shield">projects the user through a magical shield</option>
#                <option type="knocking">can unlock or unbolt any lock</option>
#                <option type="darkness">summons a region of magical darkness</option>

HouseholdGenerator

Taken from
CityGenerator/CityGenerator#18

What do we want in a house?

Who is the head of household?
what is their race and profession?
What are their personality quirks and alignment?
if a business owner, is the business attached to the home?
how many children?
is their spouse alive? do any other family members live there?
how big is the house?
what is the quality of the house?
What rooms are there?
what possessions do they own?

Also note this will contain the physical description of the house- construction, number of rooms, layout, basements, etc.

As a DM, it's common for players to break into a house or otherwise need something similar. By having this information available via a separate generator, it adds flavor to the city. This would be most useful if it included generic/generated maps of some sort.

Flag Generator

My goal is to eventually get back to the multi-flag view that citygenerator had:

http://citygenerator.morgajel.net/multiflaggenerator

Unlike most generators, this one had a large JS section that can more or less be ported directly over. It's the json connection that is the problem.

The only problem is the json data being passed to JS was based on a perl data structure that isn't easily replicable in Python. This gives us three options:

  1. Bend over backwards to implement the perl data structure with no changes to the JS.
  2. Rewrite the JS to fit with the current python data being returned.
  3. Meet somewhere in the middle

I had begun the work in the flag branch (
https://github.com/CityGenerator/Megacosm-Generator/tree/feature/flags ) but quickly grew tired as I realized how messy the code was and how much I worked around what perl was sending me.

In addition, the data structure on the backend greatly changed between CityGenerator and Megacosm Generator with the xml-> data file conversion. I no longer have the simplicity of nested data structures to represent different patterns.

This whole thing should potentially be gutted and recreated :)

Do I still need statlists?

Can I simply detect class_* that is a zset? do I even need to create a star_foo entry like these?

data/planet.data:LPUSH stat_planet size
data/planet.data:LPUSH stat_planet temp
data/planet.data:LPUSH stat_planet atmosphere
data/planet.data:LPUSH stat_planet wind
data/planet.data:LPUSH stat_planet day

resources misspelling

Megacosm-Generator\data\resources\locale.data line 3 "know" should be "known"
Megacosm-Generator\data\resources.data line 40 "know" should be "known"

Refactor jinja inputs and templates

rather than using

return render_template('wanted.html', wanted=wanted )

do something more generic, like

return render_template('wanted.html', tempobject=wanted )

This will give me flexibility on includes- for example,

<ul>
{%for field in  tempobject.__dict__ %}
    <li>{{field}}  {{tempobject[field]}}</li>
{%endfor%}
</ul>

organization generator

a gang generator would be great as an addon for wanted posters or encounters, or as a standaline

consolidate use of filters

MagicItemGenerator has it's own use of the filter/environment/template stuff; that needs to be merged down to Generator and cleaned out of the other classes.

oneliner menu list

There are so many menu items in misc. that we need to break it up; the next logical break is for oneliner generations.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.