Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ludum Dare 37: The RPG Shop
- THEME: One Room
- Summary: In a world filled magic, fantasy creatures, and heroes, the world is slowly being consumed by a great evil dragon far off in the distance plotting world domination. There is a big reward from the king to slay the evil beast to bring the world back to peace. This story is completely irrelavant as an entrepeneuar and you take this chance to create a business to help aid adventures and peasants alike and to make enough money to survive the next month. Your true antagonst is no demon king, or dragon, but the customer themselves.
- Genre: Simulation, RPG, Fantasy
- Game:
- You control a character that owns a shop, his role is to stock things in the shop and generate interest and try to persuade customers to buy things.
- You can watch what is in demand and try to sell the items at higher prices or sell unwanted items at low prices. The main system will be the bartering system which reflects off the players stat skill vs the customer stats.
- Setting: Shop in a fantasy world. Can watch people walking outside of your shop.
- Mechanics-
- Player Stats:
- - Appraisal (Identify an Item) ??? [Low Priority]
- - Charisma (Offensive)
- - Assertive (Pressure a customer to buy something, generate interest, get penalty in barter system) [Low Priority]
- - Persistence (Defense)
- - Sanity (Health) Restore on sleep
- - Identify (Reveal the Personality) ??? [Low Priority]
- Customer Stats:
- - Charisma (Offensive)
- - Assertive (Pressure a customer to buy something, generate interest, get penalty in barter system) [Low Priority]
- - Persistence (Defense)
- - Sanity (Health) Restore on sleep
- Perks: (WIP) [Low Priority]
- -Charmer - Opposite Sex likes you better
- -Kid Friendly - Children Like you better
- Stages of the Day:
- -Morning - Supply/Demand or/and special event
- -Before Opening - Put items on shelves
- -Opened - Wait behind counter
- -Closed - Stats are restored,
- can increase stat points at this time if leveled,
- see income for that day then month, additional reports can be shown
- Random Events:
- -King can ban Items (can't sell it or becomes Very valuable [black market]) [Low Priority]
- -Supply Demand changes everyday. (Either buy groups or specifics)
- -Thief will walk in and steal items, click on user and yell Theif! [Low Priority]
- -Disease is spreading
- Customers:
- Customers will be the main antagonist against the player. They will determine if the player wins or loses the game. Before the bartering system can happen the customers must be "interested" on an item. Interest is based on how the character is generated and events taking place in the game. (Players may be able to influence the interest stat on the customer)
- Customers will be generated :
- Gender, -Gender determines the things they like in their roles (Males enjoy heavy work, while females enjoy jewrly in this setting)
- Age, -A kid would enjoy sweets and entertainment, while and old guy wants relaxation
- Equipment, -This is probably just aesthetic since this matches with Occupation
- Personality, -Determines the characters base stats (also determines speech patterns)
- Name, -Generated name (possibly regulars?)
- Level, -Determines the stats boosts on the character (difficulty)
- Occupation -What they are most likely going to buy based on their occupation (EX: smith would likely buy ingots)
- Bartering System WIP: Minigame of some type based on stats ???????????????WIP????????????
- Pokemon like battle but bartering -
- Bartering based on the persons personality.
- Select the base price to negotiate from (will notify if you are under/over selling)
- Can choose four abilities to negotiate the price
- Fight against the customer through this system and hints from dialouge
- Sanity (health) decreases through the battle. Can increase sanity by under selling?
- Some fights won't be worth the sanity cost, sanity resets on sleep.
- The abilities cost sanity?
- Abilities: Lower Price, Deal, Raise Price
- Goal of Game:
- Try to see how many days the player can survive until king Taxes cannot be paid. Gets progressively harder with each month.
- Additional Content if have time:
- Assistants, Expand shop or move to capital, have customers sell things to player, Guilt
- ==================================================================================
- ==================================================================================
- SCRIPTING IDEA
- ==================================================================================
- PlayerController.cs
- CameraController.cs
- Player
- -float (Appraisal)
- -float (Charisma)
- -float (Assertive)
- -float (Persistence)
- -float (Sanity)
- -float (Identify)
- -float (experince)
- -int (Level)
- -int (money)
- Customer.cs
- -Int (Age)
- -Enum (Personality)
- -Enum (Occupation)
- -Enum (Gender)
- -String (First Name)
- -String (Last Name)
- -Int (Level)
- Item.cs
- -Name
- -Price (Base Price)
- -Enum (Group) food, weapon, armor, apperal, etc
- -Interest (Base Interest)
- -3D Model
- Items.cs
- -List<Item>
- TimeDate.cs
- -float (Speed Modifyer)
- -hour, minute
- -Year
- -Month
- -UnityEvents
- Personality.cs- (ENUM)
- Sanity Charisma Assertive Persistence
- -Timid --- --- --- ---
- -Bold ++ - + +
- -Careful - + + ++
- -Docile +++ + + +
- -Impish +++ -- + +++
- -Angry -- - +++ +++
- -Intelligent ++ +++ + +
- Occupation.cs- (ENUM)
- -Adventurer
- -Sorcessor
- -Smith
- -Peasant
- -Entertainer
- -Architect
- -Alchemist
- -King
- -Guard
- -Baker
- -Child
- -Jobless
- GameStats.cs - used for Results
- ShopResults.cs
- SupplyDemand.cs
- ItemGroups.cs (ENUM)
- PersonalityStats.cs (Returns base stats based on personality)
- DialougeSystem.cs
- ShopEvents.cs
- ==================================================================================
- ==================================================================================
- GUI IDEA
- ==================================================================================
- Supply & Demand
- ShopResult
- Main Menu
- Pause Menu
- Talking to Customer
- Barter System
- ==================================================================================
- ==================================================================================
- 3D Model IDEA
- ==================================================================================
- Room
- Player
- Customers
- Counters
- *Little Animation, just walking on characters (possibly running for player and fleeing customer)
- *2 Scenes, Intro & main Game
- ------------------------------------
- Customer Scripts
- ------------------------------------
- GameManager
- Number of customers (30)
- left & right spawner (invisable gameObjects)
- CustomerGenerator.cs
- -Random First & Last Name
- -Random Occupation
- -Random Personality
- -Get Random Personlity Modifier
- Take these data and create customer prefab and put into spawnlist
- //CustomerSpawner.cs
- // -Just wrapper to determine left or right
- Customer.cs
- Start() - Give predetermine path to go inside shop or outside shop.
- Name, Occupation, Personality
- Left/Right spawn
- Leave() goes to opposite side from spawn (based on Left/right)
- GoIntoShop() - goes into shop (and also give randomed idle and buy chances [will be setup from along with generated)
- CheckRandomItem() - Go to item that customer is not occupying, if none left just leave.
- Update() - Customer has random Idle Time when checking random item
- Idle() - When Idle Time is up customer will attempt to try buy item based off parameters
- AttemptBuy() - If success Barter(), if fails CheckRandomItem() or Leave()
- Barter() - Goes to desk to start barter (customer remembering table ID)
- TimeDate.cs
- Runs a clock in update()
- SpawnRate : Day Length - 1 Minute / Amount of People
- EnableNextCustomer() - Enables next customer in list and increase counter by 1
- int CustomerCounter
- Barter.cs
- =========================================
- Calculations/Math
- =========================================
- Customer:
- Spawn System
- Should generate about 30 people on start of day. Destroy all customers at end of day.
- People spawn rate = Day Length - 1 Minute / Amount of People
- Already Calculate if they go into building or not
- -Going In based on interest, occupation, whim (random modifier)
- Math = Customer Base Interest + Bonus on occupation (from items (can be more than one) in window) + item's base interest, + whim (random modifyer)
- Spawn from either left or right side of building.
- Go inside building if interest are met
- If customer not interested, leaves store (destroy object)
- If customer then go to desk and bater event plays. (time stops when this happens)
- Barter:
- Simply Increase/Decrease Price
- Customer will compare from base point and determine if they like price based on
- interest? (based on item group)
- personality?
- occupation?
- whim? (random modifier)
- If price to high customer hints the price change
- (cost from player is determine by price% from original)
- Haggle Button? Increase change to get but only so many tries, might have to use mulitple times on one person.
- To increase usage on haggle, need to sell at lost?
- When customer buys item (item dissappears on table) and leaves. (or customer just leaves without buying) *Make sure next customer isn't cued up for the same item.
- Math:
- -------
- Reluctance vs Interest = Interest must be higher or equal to go into shop
- Whim= 0%-50% total Reluctance
- Going Inside: Item's Base Interest(%) + (Occupation modifiyer) * (number of items) + whim (0% - 70%) vs high reluctance (80%) (gets higher every week?)
- (Random movements to different items, amount of times, random idle, then buy or leave based on items customer was looking at (priority on buy, based on occupation vs ) )
- math (items to buy when in shop )
- Buying Item: Item's Base Interest (%) + (Occupation modifiyer) + whim (-50% - 50%) vs reluctance (70%)
- (Buyer buys item)
- Bartering math = (sell price)/(base price) + (personality modifier) + (Occupation modifier) = acceptable %range
- $100 -> $200 = 200% check to see if 200% price is acceptable
- Bartering Stats
- Personality Modifier:
- -Timid 80%-100%
- -Bold 40%-60%
- -Careful 40%-50%
- -Docile 50%-80%
- -Mischievous 10%-50%
- -Angry -30%-0%
- -Intelligent -20%-20%
- Occupation Modifier: food armor weapon medicine toy pet rune material tool misc (+ = 10% modifiyer | - = 10% negative modifiyer | x = nothing)
- -Adventurer + +++ +++ + --- x -- x x x
- -Sorcessor + + + ++ --- + ++++ + x +
- -Smith x ++ ++ -- -- - - +++ +++ +
- -Peasant +++ -- -- ++ + + --- + ++ x
- -Entertainer -- --- --- x ++ ++ -- - -- ++
- -Architect x - x + - x - +++ ++++ +
- -Alchemist ++ --- --- +++ x x ++ +++ +++ +++
- -King ----- ---- ---- ---- ++++ ++++ ---- ---- ---- ----
- -Guard + + + x x ++ -- -- x x
- -Baker +++ --- --- + x --- --- + + x
- -Child ++ -- + --- +++ +++ --- --- -- x
- -Hobo ++++ ---- ---- ++ ---- ++ --- + x +
- ----------------------------
- Time:
- Pay taxes every 7 days, try to make goal.
- Day last 5 mins?
- Pauses on Barter System
- When day finishes, customers who aren't in line leaves
- Day: Set things up in the shop then click register to
- Closing: Screen Fades
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement