Need game design help with shopkeeper type game
Since a while I'm thinking about sort of an RGP with reversed roles in terms of shopping - instead of playing an adventurer who visits shops to buy and sell items, you take the role of a shopkeeper in one of those towns.
Now, the problem is, I'm a bad game designer. The challenge is, to make this more than just a funny idea. While I surely can implement the mechanics of a shop and I also think I'll be able to come up with some usable graphics for it, I'll need help in making it a real game, keep the player in his role as shopkeeper entertained, challenged, motivated.
So I want to start with a sort of brainstorming - what would you like to do in the role as a shopkeeper? What will be fun for you, what should be avoided?
Since the items and graphics are borrowed from my Jewelhunt game, they will mostly consist of the typical RPG adventurer equipment, weapons, armor, treasure items and the like.
Since this is just starting, feel free to post wild ideas.
Current state of the project - what is there at the moment:
- Item code from my "Hunt for the lost rainbow jewels" project
- Many item definitions and magic item mods from that project
- Item graphics as well
- Some basic code for the shop itself
--Medicine Storm
The last game I saw that did this had a shop keeper order list. You had to order your supplies and it took two to three days to get your order in. Some items sell better then others. Have to make sure you order enough of what's selling and not too much of another. Also need new items in the shop occasionally to keep paytrons interested. You had limited money so you can't just order a bunch of crap. It's a careful balance to what's on order and what hasn't sold yet. You had to pay the price for the item on the list but it was up to you to decide how much to sell to make a profit. Stuff to expensive customers may go elsewhere. Also there are people who are just plain cheap and won't pay much of anything.
It is better to think in terms of objectives, rather than game mechanics straight away. Mechanics should be how objectives are completed. Mechanics are how you play the game, but objectives are why you should play in the first place.
The concept sounds like it will boil down to a game of economics and business management, of which I know nothing about.
Stay a while and listen.
@Arcanorum:
Thanks, that is a good suggestion. The basic objective "make money" is probably alright, but looking at it this way it becomes clear that there should be more objectives.
A few came to my mind:
- Customers show up with quests for the shop keeper - provide item sets at a gioven time, e.g. to equip a party for a planned raid.
- Have a sort of a museum, and collect ancient/rare/magig items to show there, just for the fame to have them, or maybe to attract more customers to the shop.
- Someone had items stolen and gives the shopkeeper a quest to retrieve the items, and track who sold them.
... maybe some more will come to my mind. But it was definitely a good idea to look at it this way.
@MedicineStorm:
The running costs are a good idea. While I hate them in real life, it's the sort of basic challenge that such a game needs. I'm sure there can be added enough variation to make it interesting. I particularly like the idea of heating. A freezing cold shop won't see many customers.
Also a good idea to restock the shop on a nightly base, and then serve customers next day from the shelves. Selecting the right items for the next day is a nice mini-game in the game.
Thieves - like the monthly rent, I hate them, but I see the game needs such. Maybe a shop also needs an assisten who keeps an eye on the waiting customers while the keeper is negotiating prices.
Shop ugrades - I like the idea, but unfortunately it also put a a sort of "end" to the game, when a player has bought all available shop extensions. But it is a good idea for sure.
@Malifer:
I like the idea that orders take a while. This allows a some strategy, but also challenges - e.g. if you order more than you currently have in copper/gold, and pray that your shop will be earning enough till the order arrives. That should be quite thrilling for some types of players.
Thanks to all, that are some quite sound suggestions :)
Blender is a tool that I just can't get used to. Still I manged to render two models from OGA so that they can be used as customer. CDmir's monk and the brigand from Anthony Myers.
I'm unsure if I should work on a better shop background now or wait till I have more code written and a better idea of all the possible interactions with the shop.
shop_demo_001b.jpg 232.1 Kb [1 download(s)]
Looking good Varklandar if you need anything spaecific done let me know I have some down time so just let me know and ill see what we can come up with
Ps would kinda be cool to have a weapon making area and maybe a potion making area via. recipes so customer's could make weapon mods or potions from stuff purchased from the shop. any who just an idea
http://anthonymyers.artstation.com/
Please try our GGJ entry vodoo tycoon. Instead of generic shop you are managing a potion shop. There is a game on Kongregate about managing a shop, you probably need to try that one too. For graphics, I am also willing to help on anything that is not organic. So swords, shields, jewels, buildings but not people, pets or armors.
Wow this is an Amazing Idea of yours! It sounds really fun to play too..
My suggestions would be:
1st - It needs a very nice Game Title
2nd - I guess you should put an A.I Boss that monitors the player actions or work.
3rd - Add some kind of Item storage like those in RPG's
4th - Instead of the player selling stuff on only one town , The player can choose to move to different area with different shops and also people or races...
5th - The player also has a hobby of collecting monster information from the customers and compiling it in Big Book of Beastiary... In that way it has an RPG feel.
So there it goes , some totally crazy ideas...
"There is no chance, no destiny, no fate, that can circumvent or hinder or control the firm resolve of a determined soul." - Ella Wheeler Wilcox
Sorry for the long delay in answering. First I was away for a week, then quite busy with other things.
Thanks, AnthonyMyers and Cemkalyoncu, for the offers to contribute, in a while more items and graphics surely will be very welcome. But first I should get more of the coding done ... currently I'm trying to make a new shop background, with a better storyboard with boxes for small, medium and large items. And I need to decorate the shop a bit.
@Raymond Eternal:
A good name is helpful for any sort of game. I must admit, in this case I haven't really put any thought into a name yet, but I'm sure that sooner or later I can come up with something. And if I can't I can always ask for help on a forum.
I'd like the player to be the shop owner, so the AI boss probalbly won't be needed. Item storage is there, and it will be part of shop upgrades to get more storage space. There are two types of storage, places fopr items in the shop to advertise them for sale, and a storage in the back of the shop, where everything else is kept.
The idea to move to a new (bigger?) town is good, that will help to have some variety in the game, with different customers and different requests foritems in the different areas. But I'll start with one shop, and try to get the code and graphics for that. But I'll keep the idea in mind, that the game code needs to be able top handle different shop frontends.
A bestiary is a nice idea. There was the idea of a museum for items, too, so maybe the shopkeeper at some point could try to buy trophies from adventurers to show them in the museum, too. Writing a book about the beasts with help from the adventurers is a nice idea on top of that, must see how to integrate it with the rest.
Thanks for all the feedback and ideas! Since this seems to be a smaller project, compared the the full blown RPG that I had in mind originally, there should be a chance that I can make it work.
A shopkeeper surely needs some business partners.
Blacksmith:
Tailor:
Cook:
Alchimist:
Magician:
Priest:
Rogue:
More ideas for business partners that a shopkeeper might want or need?
I just wanted to let you know there already a game in progress with this idea... but instead it is a Tavern and you give "heroes" different quest, while running the tavern.
I went ahead and got a youtube link
https://www.youtube.com/watch?v=qcM6KIJ1CWI
Very nice :) Thanks for the link!
I'm quite sure there must be even more games of this sort, the idea isn't new at all. My motivation for this project is a mix, to make use of the assets that I once made for a bigger rpg project, then I like to create graphics for items usable for rpgs and lately there are times when I'm just bored and this is a sort of toy to make use of that time.
Quests will work in reverse here, at times a captain, headman or the like will come to the shop and ask for equipment for a group of soldiers, adventurers or maybe even robbers. You as shopkeeper will have to buy or order items for e.g. 5 complete sets, armor, weapons and maybe things like rations. Payment will be good if you can complete the sets, but there might be a penalty if you fail (e.g. a refund for the customer who can't start the job now duie to missing equipment).
Yesterday I've imported a lot of graphics for flasks and flacons, which some day will become magic potions. I don't like this sort of work, 48 times the same routine, import the image, configure image meta data, add the item data ... luckily this shouldn't happen too often. Worst so far were the gems and the potions, which each came in so many variants.
for_sale_r001.png 13.1 Kb [1 download(s)]
The Breath of Fire game which I totally love has a mini game where the player could sell out items.
(The video is not mine) Link: https://m.youtube.com/watch?v=fzqKJya0xuo
"There is no chance, no destiny, no fate, that can circumvent or hinder or control the firm resolve of a determined soul." - Ella Wheeler Wilcox
Concept reminds me of Recettear: an item shop's tale. I put over 50 hours on that thing... Captialisim, ho!
It maybe worth checking out how they did the shopkeeping mechanics. It's currently sitting at 97% approval on steam.
Thanks for the pointer! I read a bit about the game on Wikipedia and it gave some helpful insight how such a game can work :)
I didn't made much progress with this project though, I made some item artwork, but didn't do any programming or game design work. And I'm a bit uncertain about the UI design, the parts for the "back office" tasks - the parts that I have done are quite abstract at the moment and not looking very game-ish.
And I'm still struggling with a good shop image. I'd like to paint that instead of modelling it, but my painting skills aren't very good, and I'm worried it will clash with the rendered graphics for the items and customers. I'm no good at painting at the computer, so I'd do it on paper - I can add a lot more details this way, but there is a technology clash when tranferring and using such for a game. I must see what to do about it.
A new customer, the mudeater from CDmir, has joined the games world.
http://opengameart.org/content/mudeater-animated
I have problems to get a consistent lighting with the different models, though. Blender is still quite new to me, and the settings are confusing. Most likely I must redo all the customers at some point, when I am better at Blender and make them all with the same light settings.
customer_mudeater.jpg 83.8 Kb [0 download(s)]
That's why I stick to 2-D. And I can't even do that well... :)
Well, the problem only exists because I started with about zero knowledge about Blender, and each time I render a model, I seem to learn new things, so the new results are different from the old ones. I wanted to learn Blender since a while anyways, because the tool that I use in the past years is a raytracer that mostly works on mathmatical object descriptions and not polygon meshes (although it can do those too), and it's pretty incompatible to the toolchains used in game development these days, while Blender fits there much better. It won't be a big problem to render all the models once more with consistent settings but I'll wait with that till quite late in the project, at the moment many things are only placeholders and likely to change.
Technically the shop view is 2D. Four layers, shop background, shopkeeper, counter and customers. It's all just bitmaps, I don't use any 3D technology inside this project. I want to keep this as simple as I can.
i have some ideas:
-vendor mechanic - make a deal with local craftman to provide daily supply item. you help local craftman to sell their craft. gain profit from revenue split. by helping local craftman you can unlock better item.
-shop speciality mechanic - weapon shop, armor shop, magic shop, potion shop or jack-of-all-trade. give player bonus if they choose specialty. such as attract rich buyer or master craftman.
oh, can i use your game design to create my own game?
"oh, can i use your game design to create my own game?"
Yes, why not :) It might be interesting to see the two projects evolve, similar yet different.
I think I'll keep the shop in this project a one-stop-adventuer-shop, which provides everything that an adventurer needs. Maybe even such small cannons on wheels that you can lug behind you. Well, if I find suitable artwork :P
Contracts with craftsmen I have planned, but I'm unsure about quite a lot of details, also about the interface design in the game for them.
@Raymnond Eternal: Just had time to watch the video. That is very nicely made, and inspiring. Thanks for the link :)
One system which makes business games very fun for me is having a "stock market" style system. If you have (unlikely) ever played the game, Drug Wars, for the graphing calculator, it is similar to that.
In Drug Wars, you play as a drug dealer who buys and sells various drugs and can fly to different locations. You can go to Jamaica, buy a bunch of marijuana, then fly to Chicago and sell it at a higher price. Although this game is meant sort of as a joke, the underlying "buy low sell high" system is an excellent one for encouraging the player to make savvy business decisions.
For your game, you could have shipments of items you need to order. You could have random events which would increase or decrease prices. Something like, "another business is in competition with your current supplier for X item, prices have decreased!", "Your supplier for X is having an out-of-business sale, prices severely reduced!." Something along those lines. I would say just having a system wherein knowing when to buy something is a learned skill and knowing when to sell is important.
You could try having multiple suppliers to choose from for your products with different benefits. Say one supplier will give you a discount after a certain amount of time you are buying from them. Another will give you your first shipment for free but keeps you in a contract for a certain amount of time.
Just a few ideas to consider.
thanks for sharing. even im not sure if i can fully develop it.
Check out this game made with Phaser. Quite similar to what is being discussed here.
http://www.html5gamedevs.com/topic/22681-phaser-wip-apocashop-papers-ple...
Stay a while and listen.
Slowly the shop becomes a shop ...
I've started to make a dialog to select items for the shelf. You click an empty box on the shelf, the dialog appears and then you can select an item for the box. You can filter items by class or material.
The item list on the right is the older code. There I decided for bright text on dark background. The left side is new. I didn't spend much thought about it, and the default for the controls is black text, so that's why the text is black there.
Now, the question is, which side to adapt - should I go for bright text on dark background, which is found often in games, or black text on white background, which is often advised by UI design guides?
Edit:
Added a slightly improved version. White text, dark background, list with alternating bright and dark entry backgrounds. I think this should be usable. At some point the scrolbar and the checkboxes will need more game-type artwork.
stock_shelf_2.png 307.5 Kb [0 download(s)]
stock_shelf_3.png 153.3 Kb [0 download(s)]
It may be worth thinking about what information you want to display before you get too far in the UI. As a shopkeeper I don't really have to care about the stats or material (unless the point of the game is looking at the stats and deciding a good price)
Recetter only gives you the wholesale price and item type. Quality can easily be inferred by price. That allowed them to move left and right to cycle through the types and up and down to choose your item, giving a very easy and clean design. This is not the only way to do it, but the player is going to spend a considerable amount of time looking at this screen, so the styling and controls will be important. Then again, this could work well as a placeholder until you finish the mechanics.
The item data comes from an older RPG project of mine, so many of the attributes like material or item class are just there.
But you are right, they are quite irrelevant to the shopkeeper. And unless one has hundreds of items in storage, filtrering the list won't be neded (and even then, filtering with so many aspects isn't fun).
And - duh - indeed, the most important thing, the price tag was missing. So I've redesigned the dialog.
Two thoughts
1) I feel uncertain how to price magic items - such with elemental resistences, or bonuses to player attributes. This calculation is important for the customer "AI", how much they will pay for magically enhanced items.
2) "copper" seems to be a stupid label for price tags. The currency needs a name. Now the question is, what sort of name should it be? A variant of an old real world currency name, or something totally fictional?
stock_shelf_4.png 173.5 Kb [1 download(s)]
1) An interesting way to do magic items would be for them to be behind the counter. The customer would come up and say "I am going to Lava Caves, what magic items do you have?" Then you can suggest items to them and what they value will change by where they are going and thier class and the quality of the item. The shopkeeper then has to state the price. This would work well in conjunction with a system where they only way to get said items was to buy them from the adventurers as it would prevent the shopkeeper from having a well balanced supply.
2) You can't go wrong with the classic cp or g.
3) You can probably simplify condition with New, Like-New, Used, and Poor
i have several example of ancient currency for inspiration
1. denarius/denarii /dinar/dinara (based on roman currency)
2. drachma/derham /dirhm/ dram (based on greek currency)
3. rupee/ rupaya/ rupia (based on indian currency)
you can create new currency by changing vocal from that example
I think I'll go with "cp" for the currency. That is short and abstract enough not to spawn any arguments.
So, finally one can place items on the shelf. But before I configure all the item boxes, I should work on a shop background that is final in so far, that the box sizes and locations don't change anymore. It's quit tedious to write down the coordinates of all the boxes ...
stock_shelf_boxed.png 99.9 Kb [1 download(s)]
Last summer I suffered from a bad mental breakdown and it took long to recover. Working on Grafics is something that I can do again since some weeks, programming I hope to return to soon again as well.
So I hope I can pick up work on this project some time soon again.
I've been trying to streamline my process to create the shop grafics, so that in future I can import new/im,proved shop grafics more easily into the project. At the moment I have two building types, a log house and a brick built house.
I'm currently working on improved furniture for the shop, next steps will be a book to keep track of the orders (and quests) and a sort of cash register, which is tricky since I'm not quite decided about the era of the game yet.
hjm-shop_wooden.jpg 321.3 Kb [1 download(s)]
shop_brick_walls.jpg 289.9 Kb [1 download(s)]
please take care of yourself. working as indie game developer is quite hard. mental and physical exhaustion isn't uncommon. i too had a little mental and health problem because of work.
i am glad you keep going.
Thanks. It's slowly going better again. Good luck to you, too!
I've been putting the code together with the new shop graphics. I had to change a few things, but it basically works again. The new item boxes are a bit smaller though and the images have to be scaled to fit, that reduces the quality a bit. I think it's still alright though.
I'm wondering if the shopkeeper should have skills like the characters in an RPG usually do. A few that I could imagine:
- Haggling: Make customers pay more, make suppliers ask less money for the goods
- Identify items: Allows to identify unknown secand hand items sold by customers.
- Repair items: Improve the condition of second hand items.
stock_shelf_5.jpg 376 Kb [1 download(s)]
Hi Varkalandar, I was wondering why you didnt show up anymore around here, im happy to hear you are already better; thats something that can happen to anyone so dont worry yourself too much about it.
I think you can use a few of these models to fill in customers:
https://opengameart.org/content/elven-archer-lower-poly-edition
https://opengameart.org/content/elf-game-ready-and-animated
https://opengameart.org/content/dwarf-fixed
https://opengameart.org/content/wizard-4
Durian models are aldo pretty good: https://www.blendswap.com/terms/category/characters/page:3
Thanks, that will help to buff the customer selection :)
I'm still struggling with Blender though, must find a good and easy way to get consistent lighting for all the customer models.
I've made a first version of the trade UI, where the shopkeeper and the customer will negotiate item prices. I'm not entirely sure about the logic for the customers though, how they will value their items, and what sorts of overcharge/underpay they will accept. I guess if the keeper keeps overpaying for offers, customers will tend to come back more frequently, while underpaying makes them look for other shops which pay better, unless they are near this shop anyways and the travel to the next shop would be too cumbersome.
I'm not sure about the font ... I tried several and this one looked best so far. Since Java uses diferent fonts on Windows/Linux/MacOS, it seems the only way to avoid text size problems is to bundle a font that will be used on all platforms.
( https://fontlibrary.org/en/font/medievalsharp )
sales_panel.jpg 275.1 Kb [1 download(s)]
hi. i tried to develop game about merchant too and i created my own algorithm/formula. maybe it can help.
so my formula need several variables.
- charm(your charisma and haggling skill)
- customer knowledge(customer awareness about item price)
- customer priority(you can overcharge customer if they really need it)
- expectation(customer price expectation, how they value your item)
- base price(item base price)
- price(your price lable)
first calculate customer price expectation
expectation = base price * ( 1 + charm - customer knowledge)
and then calculate if your price lable is acceptable or not
isBuying = priority + ((expectation - price)/expectation)
priority value is between -0.5 and 1.0, if isBuying value greater than 0, customer will buy it.
i use spreadsheet to make tweaking the variable easier. you can use this entire formula or change whatever you need. i hope it can give you inspiration
i think you should avoid too much keyboard input as a rule, and limit the haggling to a up/down button that will apply a % depending on your skills. That would help to keep things dinamic, since the first 4 times it migth be fun, but at the hundreth you just dont care anymore and buy/sell at base price save exceptions (old Reccetear player here).
Also giving a backstory with a few endings, i played not too long ago a funny game about a vampire turned shopkeeper by the hand of a belmont kicking him out of his castle. With your trading you decided which realm wins an ongoing war by selling weapons and armor or giving loans to a side (or just sell to both and rake in the money). You can borrow that and a few of your own as an endgame goal instead of the common huge debt goal.
@watatita micro field:
Thanks, that formula looks very useful! I think I'll use a very similar one, just need to adjust the "charm" part.
@Danimal:
You are right, typing the numbers is cumbersome, a few quick clicks are probaly the most that a player will accept in the long run.
The story idea is nice. Particularly since I wanted to let the player choose from several characters to play as shop keeper, there could even be a few stories for the characters and their goals. At the moment I'm still busy implementing the trade mechanics though, just finished the code for selling items from the shelf. A lot to do there still, have customers actually chose items "reasonably" and not just buy what is on the shelf.