Please give feedback!
The Tip Master wrote:
Before continuing, make sure you have a reasonably good knowledge of how scratch works. This guide shows you how to make tycoon games rather than what each block does and how to make scratch work, however there will be some cool tricks for you to use.
___________________________________________________________________
Contents
! -Recommended
Quick Guides
8 steps to making a building game!
Tutorial Tips! !
Walk-throughs
Setup
Planning
Organisation !
The Game
Menus
Game Screen
Build Mode !
Live Mode
Level Design !
Extras
Troubleshooting
Common Errors & Possible Glitches
FAQs
Examples
Generation:3000
-Scrolling City Builder Example
Generation:4001 Gold!
-More Effective City Building Example
International Inc
-Airport Management Example
Game Club: International Inc 2
-Control Tower Example
Entertainment Inc 1.4
-Cinema Managing Example
Last edited by Borrego6165 (2012-09-16 07:26:11)
Offline
8 steps to making a building game!
The Tip Master wrote:
It is recommended that you read the walk-through as this only gives a brief order of how to make your game, rather than teach you how to complete each part.
1. Plan It!
Without a plan, you will be lost. You need to decide whether you're goanna have scenarios or a sandbox game, what objects you're goanna make available, what each one does and what variables each one affects.
2. Logos & Menus
Create these first so that you can get a look at how your game will start. If you decide to make an animated introduction and it goes wrong, at least if you want to restart you will not be getting rid of any other features. After this, create a fancy menu and make sure every button is made, even if they do not do anything yet.
3. Game Screen Layout
You need to create a small toolbar to access everything. Perhaps this will be draggable or it will just stick in the corner? Next, create your buttons to go on top of it even if they do not do anything yet.
4. Theme
Make sure that the theme suits the business that is being run and that it allows a clear interface. By clear interface, I mean that you can see white text on a dark background. If light and dark colours don't suit your theme, it means that things will not stand out if you're limited to the same stand of brightness.
5. Objects
Make sure each object has a purpose and that you know every variable they affect. Draw up the graphics for each, make sure the variables are changed when it is placed, and depending on what place-system you are using you must make sure it is placed down on the map properly.
6. Time
You need to make time pass. You may also want to add game speed options, but the most important thing is to decide when certain variables will change (like litter will change depend on visitors and staff wages will be monthly). You may want to make some information screens for the player to know where there are problems in their created world and how much money is coming and going.
7. Goals
You will need a screen for the player to see the goals, and you will need to make sure that the goals are fair.
8. Extras
You may want to add a music player that lets the player decide what music they want to skip or listen to.
Last edited by Borrego6165 (2012-07-14 16:11:49)
Offline
Tutorial Tips!
1. Quick Guide
Make a "quick-guide". This allows new players to quickly get on with the game, then only when they've tried playing and failed will they stress out and actually find the detailed bits interesting. Make them short, and do not explain absolutly everything to the player. If the player is left confused then they will go looking for the detailed resources.
2. Patterns, Patterns, Patterns.
Try to find a logical way to explain your game. If there is a pattern somewhere- use it! A pattern in your game will be more rememarable than a bunch of random things to lodge into their brains. Whilst it's bad for a game to be repetitive, if the player can see a pattern in the game then they need to know. For example, a restaurant-serving game will have this pattern:
Customers enter, get seated to right-sized table, get orders taken, they get taken to the kitchen (the orders, not the customers) and the food is cooked, taken back to the table and before long they pay the bill and the table needs cleaning.
Of course, an interesting game would put a spin on this. It would start with a pattern, and expand it by adding extra features and jobs to do as the player progresses, but doing this slowly enough not to blow the player's mind. I'll go in more detail about interesting game design in the level design section.
3. Make it accessible!
If the tutorial is as complicated as the game, (or more complicated for that matter), players will be put off from the start. Have a menu which leads to sub-menus. A huge mound of paragraphs will not help when the player needs reminding just how to paint a wall in the editor.
4. Mention Cheats!
Gamers love cheats! They allow the player to control their experience more freely, and they also make the game more enjoyable. It feels so good to crack a respectable game, even if the creator made it themselves.
The Tip Master wrote:
These cheats can also allow an interesting advertising deal with a collegue. Put a link to your partner's project in your project notes and say "Click on the link and request for cheats on this project." This means that for the player to see the cheats, they will have to ask the sponsor for the cheat codes on their project. Whilst the scratcher is typing up the message, they may have a go at their game giving them extra views and making a very successful sponsorship deal! Make sure to give the sponsor the cheat codes first!
Also, you could say "Finish the game in the link and win the cheat codes to this game!" That means that when they visit the sponsor they have to play the game to the end (or to a certain point) to view the cheats! An excellent way for a sponsor or even yourself to get extra views on an abandoned project.
Last edited by Borrego6165 (2012-07-14 16:12:50)
Offline
Planning
Welcome to the full version of the guide! If you're starting here because you want to read the full guide, good luck with making it to the end! If I get distracted at moments it's because I'm listening to Julio Iglesias in the background (not Enrique, I'm not that sorta person!)
So, let's begin! First, you need the plan as you can imagine. The most obvious thing is to know what business or type of world you're goanna allow the player to build. I will also briefly look at management games which do not include building, seen as they class as tycoons too. If it's a military game, I'd recommend waiting until Scratch 2.0 comes out at least, then you can clone unlimited units and buildings, but I suppose a 20 unit limit per player and per artificial player would do no harm for scratch 1.4.
A business game would need quite some thinking about, but if it's a city or a military game you're making, these needs tonnes more planning! For any, you need to think about every object you're allowing the player to place, and what each purpose is and what variables they effect. If you know how many variables you'll be using at the beginning than you can keep an eye from the start on them.
You see, when you allow the player to place a plant, it may need to affect many things. If you come up with these at the last minute, than there might have been an another object that changes this, but because you never realised it before you never bothered implementing it. You may make a plant that changes happiness by +5, but then you may realise that the drinks machine you programmed a while back, may not have affected happiness because you had never thought about it at that time.
Another reason for this is to speed things up. If you're sat in front of a mound of huge scripts trying to work out if you've done all of the right things, you're goanna freak out a little and take longer thinking. If it's all written up in notes from a much calmer and happier you, you'll find it a lot quicker to just tick off the checklist. It also allows you to quickly compare those sprites with other sprites.
Everything you need to make needs to have a list of actions with arrows joining them on a piece of paper. Knowing every action necessary will help you write out any glitches, as multiple contradicting objects may cause problems for each other if you never realised that problem existed. Writing everything down is basically programming everything in a little software called "The brain" and playing through the game yourself in your imagination.
Offline
Organisation
This may not seem like much, in fact it may seem like this belongs under planning, but actually this has got nothing to do with how organised you are. It's actually about making sure your game is organised, and that if anything is out of place it will all automatically clean itself up.
This first bit is about modes, to make sure that when one section is over the game can move onto the next without having things hanging over. The modes should be controlled by a single variable to make sure that it can only be one number at a time. So, during the logo and advert screens the game might want to be set to mode 0 for example. Then, once they are over it sets itself to 1 and the front of the menu begins.
Each sub-menu can have it's own mode at say 1.1, 1.2 and 1.3 ect. This is because, some things only need to show up when the sub-menu for the settings is up for example. However, an animation in the background or a tune may need to play for all the sub-menus and the main menu. So, these things can be set to "If letter 1 of mode = X then do stuff." However, more specific things can just be set to "If mode = X then do stuff."
Another thing to have is a layers system. A layers system is an automatic sprite shuffler which is set to work when the project starts. Here's our example:
I want a picture of a house besides a tree, with a dog laid in front of the house and the tree. Because the house is furthest back, we give this a script saying "When I recieve LAYER1- go to front." Now, because the tree is besides the house, it does not matter whether it is on the same LAYER or a different LAYER than the house, but in this example we need it on LAYER 1 as you will see in a moment.
On LAYER 2, we want the dog. So, I give the dog the same script as before but change the message to "When I recieve LAYER 2- go to front." Now, if the tree was on LAYER 2, sometimes it would appear in front of the dog and other times it would appear behind it, depending on which sprite appears in front first at the very beginning. This is why it had to be on LAYER 1, to be separate from the dog.
Now you're probably testing this and thinking "Well nothing happens!" Well, now we need to make a green-flag activated script, and put a "Broadcast LAYER1 and wait block." Do the same for LAYER 2, and any other layers you have. For this test only put a "Wait 1 second" block between the layers so that you can watch what happens (if you have lots of layers reduce the time). Now, what happens is that the house and the tree are told to go to the front. Then, the dog is told to go in front of them.
The more layers, the more complex the image can be. Here's a problem though: At the very beginning, even without the time blocks inbetween each layer broadcast, the beignning looks a bit glitchy. This is where a splash screen comes in.
A splash screen must be wonderful to look at, as this is the image that will appear online in the thumbnail. Basically, so that you don't have loads of images on screen fighting for front page at the beginning, by only having one sprite showing at the start it would appear nothing is being shuffled. This is extremely useful as well for games with lots of on-screen variables. Make sure the splash screen is on the top layer to cover up the mess you left on screen the last time you played the game.
As you may know, leaving all of the variables on screen before closing scratch can be a pain, just to make sure that they do not stick to the top-left corner. However, what you can do is hide them and still have them saved. What you do is first set a rembemerable key (such as SPACE) and make the splash screen show when you press SPACE. When you make the splash screen show up, you then make the variables show up on top of the splash screen with the SPACE key too.
However, now your screen is full of orange rectangles! Remember when you made the splash screen show up with the SPACE key? Well, attach a "Wait 1 seconds- go to front" script, press the allocated key again and the variables would appear to have disappeared!
Offline
Menus
Designing a menu may seem straight forward, but a rubbish menu can give a poor first appearance on your game. If you want a sample of a greatly animated menu, see my Rayman 4 project. It does not work on JAVA player!
Your menu needs to be organised. A maximum of three options and a back option should be sufficient, and keeping the same number of buttons on each page should help improve the consistency of your menu too. Make it clear which buttons are highlighted, and if any are disabled make it clear that they are. Try to have an animated background with a carefully selected tune as well.
The Tip Master wrote:
If you have no ideas for a menu design, than a very simple one could work as good as the complicated one in Rayman 4. For example, if you had four clickable buttons on the left on the screen, and a thick rectangle across the bottom explaining what each button does (when the buttons are highlighted) than all you need is to record your game, put it in slow motion, than use a converter to turn it all into individual JPEG files and have it as an animation. The reason why you put it into slow motion is because these only convert around 1 in every 30 frames, so having it in slow motion means more frames!
Well, that's about it for menus. Make them clear, use the mode system as mentioned in the organisation section and if you need more than three or four buttons per slide, use sub-menus.
Offline
Game Screen
Some games may not need one of these, depending on how you want to layout your game. I would recommend that a business game has one of these, and that a city game will not need one, but I will leave that to you.
The game screen will act like a hub. It will lead to the build mode and the live mode, plus the staff mode and any extra mode you need (like a contract screen for an airport game.) A city game only needs the build and live modes, and you could even merge them into one like on Generation:3000. Or, like in Generation: 4000, you could have them separately. I suggest city-building makers still read this encase it does become useful.
The game screen needs to be clear for a start, and must be easy to navigate. I'd suggest you have a "title screen" that has all of your buttons stacked on the left, and the game's logo diagonal in the empty space in the middle. This is because, if your first screen is packed with information, the player may struggle to find the navigation bar and they will get lost.
The game screen needs it's own mode to be shared with each sub-screen (such as the staff mode, build mode and extra modes. The live mode is a completely different mode, as the player can easily switch between the sub-screens, but once they are on the live mode they can not return until the game allows them to.)
Each screen needs to have it's own colour scheme which match the button's colour (excuse my UK spellings.) For example, in the classic airport game Now Boarding, there are four buttons: Terminal (green), Airplanes (red), Destinations (orange) and finally Employees (dark blue.) There is also a smaller goals button for the campaign mode, but the point is that each screen is clear and has it's own colour scheme.
If you've played Now Boarding, you will know that there is a Game Screen which leads to the different sub-screens, but it only appears at month intervals. The great thing about this system is that it is easy to use and easy to learn. Put one of these in your tycoon game and it will look very professional.
Last edited by Borrego6165 (2012-08-20 15:37:43)
Offline
Build Mode
If you decided not to bother with the multiple game screens, and stuck to just two screens (build and live modes) than there are only a couple of differences. If this is a city game, continue on to the next paragraph as there are no differences. If your business game has any staff, then I'd suggest making a separate toolbar for those and any extra commands you want the player to give so that the build options are clearly separated in their own toolbar.
Now for the placement of objects, this is where things get very complicated if you want to use the engine from my G:4000 project. On there, you have a single region of 49 tiles on screen, and when you change the region being viewed it updates the 49 tiles. There are 225 regions, amounting to over 11200 tiles, which would be too many for any business game. So, do not be put off as you will rarely need to use that engine. The engine I will teach you is a lot simplar.
Here's probably the best way, because it- allows the player to build where they want, it is easy to program and it makes objects run properly. However, it does use a lot of sprites.
1. Each object is a separate sprite.
2. When the player places them, they place merely a stamp of it. Make sure to include detection so that things do not go on top of each other!
3. On the sprites, you need a local variable which counts how many stamps have been placed.
4. You will need a local list of all the things each object does. When a plant is placed for example, the amount happiness changes (item X in the list) may equal 2. So, if the player places 4 plants, once you have set up a script which multiplies the items by the number of items placed, it should set happiness to 8. Make sure that happiness (and any other similar variables) are global ones.
5. The issue with that system is that there would be no way to detect that an object is being destroyed, meaning that the player would not be able to undo their actions. However, in my International Inc game, I made it so that objects like plants (which could have X amount and were therefore stamped) could not be deleted, but large objects (which could only have 1 placed because the whole sprite went with it) would touch the bulldoze sensor and be obliberated.
The Tip Master wrote:
You could save a list for all of the stamped objects, than when one is deleted every stamp will be cleared and replaced, with the exception of the deleted one which would have been removed from the list. However, you still need to find a way for the stamps to detect that they are being destroyed. There are detectors on my G:4000 projects, using a list which knows the X and Y position of every single object, and if the bulldozer is at the position, it will destroy the item under it. For this to work, the bulldozer would have to be rounded by so many tiles on a grid, otherwise the player would have to manually work out the centre position of the object being deleted and try to get rid of it.
If you want to make a large building game (something like SimCity or Minecraft which requires space) than you are free to use my G:4000 project for the engine only. I don't want anyone changing the game itself. You can have more than 11000 tiles, but you need to make the marker on the map smaller (decreasing the MapZoom variable) increasing the MapWidth variable to how many regions there are (225 regions = 15X15) and the 0000section can be left as it is.
On the stage there are 15 scripts which add either 1s or "pick random 1 to 5" to the list B1 (the list which saves all of the buildings). Change the last one to the number of tiles you want, because the very last one is like a checker which makes sure that the right amount has been added.
The reason why the B1 list is deleted and has everything added again is for speed. If it had to replace each item 11000 times, it would have to do it in order to not miss any out. By having 15 scripts adding items to an empty list, they can literally just throw the numbers into the list 15 times the original speed.
Last edited by Borrego6165 (2012-08-02 07:19:34)
Offline
Live Mode
Live mode can either be like G:4000 where you can exit freely, or it can be a limited screen where you can only quit at the end of a working day, week or month.
The key to live mode is that there are lots of things the player needs to know wuickly. If it is a buisness game, than the live mode will be very busy and the player will have no time reading information screens, therefore all you need on screen is the time, cash made and room for an important messages box, plus any other important bits depending on what game you're making.
If it's goanna be a much slower-paced game (like G:4000) than the player can do nothing but sit back and watch. Therefore, you need to give them lots to do like providing lots of information screens and giving them basic commands over their creation.
The live mode may also need adjustable game speeds, which should be simple. However, pausing the game would be way more complex, but a slow-motion button might be better and look cooler.
Make sure that you have an important messages box, because this will keep the player up to date and let them understand why they cannot perform a certain action, otherwise they may get confused. An advisor would not only be cool, but they would help guide the player as a non-linear tycoon game can be quite daunting for new players.
Offline
Level Design
First you have to decide whether the user can create their environments or not. For example, in a business game you may be limited to a certain number of shaped buildings for the player to decorate the interior. In another game, like my G:4000 example, there is a "God Mode" where the user can edit the landscape as they please.
Sandbox
A sandbox level may sound simple, just give the player a blank bit of land and let them get on with it. The trouble with these are that, players demand loads! If there is a single setting that the player cannot change in the sandbox level, it will ruin the whole experience. So, give the players variety! The whole point of a sandbox level is to give endless play and lot's of freedom. If you cannot do much, is there any point of having it? So, make sure that there are plenty of things to do and that there are plenty of ways to win, as a single way to win will make every play the same.
Offer them extra choices including:
+Starting cash (which could be set to unlimited if they wish.)
+"God mode" (where they can adjust the landscape/building shape & size)
+Research On/Off (Is everything available from the start? Must it be unlocked in a scenario first?)
+Randomly Generated Goals On/Off (You could create about 20 and the game selects 3 of them)
+Cheats Enabled On/Off (perhaps they can only be switched on in sandbox mode and never in scenario mode)
Make sure that Sandbox mode is challenging still. If the player decides to start off with a small amount of money, than the game should all be about getting the most amount of money from each customer. If the player starts off with tonnes of cash or an unlimited amount of money, than it is all about qualtiy for and happiness per customer and how many hundreds can be crammed in every day. As you can see, less money results in more micro-management, whereas even a game with everything for free needs thought and planning put into it by the player as they need to look after a huge amount of customers.
Scenarios
A good set of scenarios has some sort of logical path. A story merely makes this path obvious to the player, and even without any story the order of the levels should be self-explanitory for the player. Why does the player move from a small coffee shop near the village green to the big restaurant down-town?
The Tip Master wrote:
A cutscene or a slideshow of events would be a nice feature inbetween levels. Just don't worry too much about the plot- you're not Shakespeare! Remember that as long as it is fun and makes the next level more meaningful it is a good cutscene.
Obviously, make each scenario more challenging than the last. Just remember that increasing the number of customers that need to be served in a month is not always the solution. Once in a while it's good to make money a problem, rather than crowding. So, each level from 1-15 could have been about expanding bigger and better. Level 16 could then completely change that, by making it about micro-management. You could say it's similar to the sandbox mode when I explained about how starting with little cash could be as easy or as hard as starting with lots.
You see, for level 16 you could mention (in a cutscene perhaps,) that there was a fire which destroyed headquaters, and now every department is under tight budget, but you've still managed to persuade the bosses to keep your lot open for business. However, to do this you had to get a loan off the bank, meaning that the only money you do have isn't even yours! So, whilst you may have to serve only a quater of the customers you did in the previous level, you have to seriously get cash pumping and think fast before the time runs out!
However, that does not mean to say that they should all be like this. Big levels are still vital to give your player freedom, even if a sandbox mode is available. These levels should be thought out carefully too, so don't just get the player to serve a million customers in a year, perhaps they have to serve a million with >/ (more than or equal to) 80% happiness.
Another point is that something from a previous level may not be available anymore. This is good if you want to make the game harder, because in the first few levels this item may have been really helpful, but without it the challenge comes to find a replacement. Finding a replacement item is like a hidden goal. Remember, the more hidden goals you can come up with the better and tougher your game will be.
A hidden goal, if you haven't worked it out, is a goal which is not in the criteria and nor a requirement by the game to win, but it is necessary to beat the level. For example, having to build a school in order to educate citizens in your city will will get them a better job and increase the employment rate. This later reduces crime in the long term.
Now, let's say the goal is to reduce crime and one of the hidden goals is improving education. In this scenario, the police budget is too high and you have been told to reduce crime without building more police stations or upgrading any existing ones, you would have to rely on schools among other things as well. As explained before, schools will reduce the crime along with other buildings.
So, these hidden goals make sure that the player maximises their use of less-obvious resources. This is where players have to look at every option and decide which is the best, rather than which is the most obvious.
Last edited by Borrego6165 (2012-09-16 07:25:36)
Offline
bump
Offline
Agentpieface wrote:
awesome!
yay- help get this promoted to iTopic or stickied!
Offline
Borrego6165 wrote:
Agentpieface wrote:
awesome!
yay- help get this promoted to iTopic or stickied!
I doubt that will happen but it could be added here.
Offline
bump
Offline
I've always wondered what the author would do if someone posted inbetween those steps? Mind telling me how you would react if someone posted inbetween your posts on the guide?
Offline
TorbyFork234 wrote:
I've always wondered what the author would do if someone posted inbetween those steps? Mind telling me how you would react if someone posted inbetween your posts on the guide?
He posted them all at the beginning with "reserved" written on them and went back to edit later.
EDIT: Wait, never mind, I'm completely wrong. He did that on another thread.
Last edited by amcerbu (2012-07-17 01:46:54)
Offline
amcerbu wrote:
TorbyFork234 wrote:
I've always wondered what the author would do if someone posted inbetween those steps? Mind telling me how you would react if someone posted inbetween your posts on the guide?
He posted them all at the beginning with "reserved" written on them and went back to edit later.
EDIT: Wait, never mind, I'm completely wrong. He did that on another thread.
The Tip Master wrote:
If you're talking about me, I'm just a quote box with "The Tip Master" written as it's title to make important points stand out.
Offline
Thank you so much!!!!
Offline
techboy102 wrote:
Thank you so much!!!!
you're welcome
Offline
bump
Offline
keep this near the top- it's important!
Offline
bump
Offline
Don't bump this every 5 seconds.
Offline
Firedrake969 wrote:
Don't bump this every 5 seconds.
dude do you say that on everything
Offline