Tycoon Framework/system

I’m developing a tycoon game similar to the popular Retail Tycoon but with a completely different theme and focus. I was wondering if you, reading this, has any experience or tips you want to share on how to add items to a tycoon as the user builds, how the saving of the tycoon should work, how the server should manage the ownership and claiming of the tycoons and so on.

So far I’ve managed to do a shop for items and an inventory system. I have also recently completed a “build mode” were the user controls a free floating camera to more easily build on their plot.

5 Likes

This is a big question. I am in the process of developing a tycoon myself and can share a few things I have learned whilst making it.

Plan, plan and plan!

Whilst making my game I have ran into numerous issues from not planning out the structure of my game and how pieces will fall into place.

I had planned to allow the user to choose a tycoon building but then half way through realised I had forgotten about saves which has added to the development time.

Tycoon Theme

When deciding on how users should play your game it is extremely important that you understand the type of players that will play your game.

If your game is a tycoon about something that can be customised a lot then you might want to consider a custom building system for the type of players who would enjoy that type of tycoon, however if the type of people playing your game are going to be people who just want 100% completion then it’s better to just make a traditional tycoon where it’s linear.

Linear or Non-linear?

I mentioned that depending on the type of players to play your game they may enjoy linear or non-linear but why choose? You have the freedom to express your creativity here so why not try and make a game for both types of players?

Try to make the customisation aspect of your game unrequired to proceed in the game so that a user who doesn’t like to waist time on small things can just speed through the game and complete it if he/she chooses whereas another player may spend more time on the customisation aspect which you can reward in your game when they complete the tycoon.

Or… of course you can just choose to make the whole game non-linear so there is never a way to truly complete the tycoon, only the player can decide when they are done. (You have so much choice)

Saving

I recommend you have 3 slots for the player (You can use tables for this) when a player selects there save they can choose to delete it or continue it.

local Saves = table.create(3)
Saves[1] = {Owner = "MineDevs", Building = "1", Kills = "10"}
Saves[2] = {Owner = "Korvbagarens", Building = "1", Kills = "10"}

Always auto-save your tycoon! Nobody likes it when they lose their progress on something especially when they have spend hours on it, make sure to use a good data saving system to ensure data loss is to a minimum.

Server Management

Most people believe this is the hardest part… NOPE!
Don’t think that even for a second.

Create a system where each player who joins get’s a tycoon slot created (Like a plate on the floor) this is where their tycoon will go (use some math to make each player’s slot spaced out from each other) send this slot to the client where you can handle any additional things.

You don’t need to have the player claim a slot, just give it to them! They will probably prefer it than having to look for a space.

Thanks for reading

Well, that’s a lot of reading for you! I have probably made a mistake somewhere (maybe) Goodluck :+1:

5 Likes

Thanks so much for the reply. I’m probably going to do non-linear approach since i feel it gives more options for the user to create what they want. It’s also I personally prefer to play.

I never thought of automatically giving slots to players when they’re joining, it will make it so much easier.

Thanks for the help :wink:

3 Likes

Here are some things I have changed over the past 7 days to improve my workflow:

  • Using Zblock’s Placement Module and implementing a saving and plot snap system.

  • Scrapping the ‘Giving the player a plot as they join’ system and instead making it so the player clicks a file (for example: File A) and it loads their slot and building from that.

  • Using Object Orientated Programming to my advantage to create a smooth plot.create() system in which I can handle all the players plots and add to the module to create things such as plot:Clear() and plot:AddBuilding()

Hope this helps even further, again goodluck! :upside_down_face:

Hi, I didn’t notice you had left a reply until now but the progress in the game has gone really good. I’ve only used my own code to 100% and I now have a saving system with 3 save files that contain an inventory, the tycoon and their money balance. I also created my own placement system so it has a nice tween animation when moving between the different grids.

If you want to try it out and see how far I’ve come you can find the game here:

A small note is that the only model that can be placed right now is the “Wooden Wall” because that’s the only model I’ve made so far.

I’ve checked out your game before (on your profile) it’s getting there, this is far in the future but how do you plan to monetize and advertise your game?

The monetization I’ve thought of is composed of some different stuff. The first one being able to purchase money in the game, something that is already implemented. Another plan I have is to have different “boosts” so the player will earn 2x the income during a time period as an example. Another idea I thought of is in the shop, I will offer daily awards and then premium packages so the user can spend robux and get like a package of items to use in the tycoon. Some other stuff that I’ll maybe implement is being able to buy a pet that follows you around or a car to drive around with.