Build a Tycoon Business Sim in Unity3D: C# Game Development

Learn Unity 3D and Important C# Design Patterns by building a fun Business Tycoon Game Similar to ADVenture Capitalist!
4.1 (84 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
491 students enrolled
Take This Course
  • Lectures 44
  • Length 9 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 English

Course Description

-- JUST RELEASED 2/25/2016

In this course you will learn how to create a Business Tycoon Game from the ground up that is similar to games such as ADventure Captialist. But more importantly, this course is designed to teach critical game development concepts and design patterns.

You can play AdVenture Capitalist on Kongregate to get an idea of the core game play you will learn to create in this course.

  • More than 9 Hours of HD 1080P Instruction with a Bonus Update on the way!
  • Learn Important Unity 5.0 UI Concepts
  • Great for Beginning to Intermediate Level Game Programmers
  • Produced by Odoo Class Videos - Experts in Enterprise Development Tutorials

Do you enjoy playing Tycoon and other Simulation games? Do you know a little bit about C# and Unity3D but would like to take your Development Skills to the next level? If so, this course is exactly what you are looking for. Ambitious beginners will enjoy this course.

Course Overview: This course focuses on core Game Design and Programming Principals. We use the tools in Unity 3D to create the Interface and Artwork is all from Creative Commons. Our game design only roughly borrows from many of the idle Business Tycoon type games such as AdVenture Capitalist, Cookie Clicker, and Web Tycoon. By the end of the course you will be able to customize the game as you please and we look forward to you sharing your tycoon creations with us.

What are People Saying about Odoo Class Videos?

First off I want to comment on all of the quality video editions you have recently added to your library. They have been tremendously helpful and I have been recommending your service to many people.

- John P

I find your videos real easy to follow and often revert back to them as a point of reference…

- Peter Y.

This course starts at the beginning but ramps up quickly to teach you important Game Design Patterns that you must know to write professional games:

Beginning Skills:

  • Learn how to create a Unity3D Project
  • The entire project is created step-by-step. Start at the very beginning!
  • Perfect for those that are new to Unity and Programming in General
  • Start right away using Unity 3D's newest UI tools to create a working tycoon store
  • Write your first C# script and learn the basics of variables, IF statements, creating a Timer, and other simple programming concepts
  • Create an Animated Progress Bar to Show your Store in Operation
  • Video exercises along the way help reinforce what you are learning

Improving Your Business Tycoon Game Features and Your Development Skills:

  • Upgrade the Game Design to Handle Multiple Stores
  • Create a Game Manager to Better Track Money in the Game
  • Learn to Implement Math Functions to Calculate Your Next Store Cost
  • Add an Icon for your Store and Learn to Create Dynamic Buttons
  • Learn Important Beginner C# Structures and Basic Unity 3D Game Development

Taking Your Game Development Skills To the Next Level:

  • Designed to take you through important design patterns to improve your development skills
  • Improve Your Game Manager with the Singleton Pattern
  • Use Delegates and Events to implement the Observer Design Pattern
  • Refactor your Tycoon Game into a UI Manager
  • Use Unity Prefabs to dynamically create your stores at run time
  • Learn to Load Game Data from XML! Critical to allowing gamers to create mods
  • Learn to build a State Machine within the UI Manager to handle the various interface states within your growing Tycoon Game
  • Create a Managers Panel to extend the basic game design and provide a template for you to continue adding features to your business tycoon game
  • Perfect for those who wish to see how to implement real game designs so you can apply them to more advanced systems and future Tycoon courses

What are the requirements?

  • Have Unity 3D installaed and Understand the Basics of Unity 3D
  • Previous Programming Experience is not Required but is Preferable
  • Totally New Programmers Should Expect to Watch Videos Multiple Times and Supplement Their Knowledge

What am I going to get from this course?

  • Create a Business Tycoon Game in Unity3D Using C#
  • Improve Game Development Skills by Using Important Design Patterns
  • Create a Game User Interface in Unity 3D 5.0 UI Tools
  • Extend the Tycoon Game with Additional Features and Options

Who is the target audience?

  • Anyone Interested in Building a Business Tycoon Game similar to AdVenture Capitalist
  • Designed for Ambitious Beginners Who Wish to go Quickly From Basics to More Intermediate Game Design
  • For Beginner to Intermediate Level: Step-by-Step How to Build the Core Gameplay from the Ground Up
  • Intermediate Programmers who Wish to Learn Design Patterns and Refactoring Techniques

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Start Building Your Tycoon Game

This short introduction lets you see the finished game with some simple creative common graphics. Attached to this lecture is a zip file of the final Unity Tycoon project for the game.

  • Make a new 2D project file.
  • Place your first object upon the canvas.
  • Learn how to restore Unity's default workspace layout.
  • Apply colors and alignment to your text object.
  • Save your scene within the project.
  • Create a panel for your store and control its relative size to its container.
  • Add a "Buy" button to your store.
  • Display a name and numeric counter for your store.
  • Organize your game scripts and scenes into folders.
  • Create a new "store" C# script.
  • Edit your script within your integrated development environment (IDE), such as Visual Studio or MonoDevelop.
  • Learn how the Start() and Update() functions fire.
  • Initialize your first integer-type variable for counting your stores.
  • Make a custom function for your "Buy" button that increments your StoreCount variable.
  • Discover how to use the Debug object to monitor your variable values.
  • Link your script to the panel and link your panel's button to the script's function.
  • Illustrates how the "using" directive gives you access to built-in C# class for creating objects for your UI.
  • Learn the preferred technique for converting numbers into strings.
  • Link your UI to a public script variable.
  • Designate float-type variables to hold currency amounts.
  • Learn how to store whole numbers and decimals.
  • Design our tycoon game so that the initial purchase price of each store may vary. (Unlike real life, in the game world, the cost of opening each new store should rise over the course of time; this helps to keep the game challenging!)
  • Recalculate your player's current balance whenever a store is purchased.
  • Limit purchases when the balance falls too low.

In this exercise course you are asked to attempt to tie the current balance of your company to the Unity UI interface. You will need to incorporate many of the skills you have learned so far. This is a great exercise for those who have some experience programming and are confident that the material up to this point has been easy.


A core part of Business Tycoon Simulations such as this one is the timer that determines when a store's income should be added to the current balance. Timers are also very valuable in many game designs so learning how to use them early on in useful.

Section 2: Expand Your Tycoon Game With Multiple Stores

In this lesson we see how to animate our store timer using the Unity 5.0 UI Slider. This visual feedback adds to the game play and should be giving you a great feeling of accomplishment at how the game is starting to shape up this early on.


In this lecture we move away a bit from adding additional features to the game and instead look at some important game design concepts and prepare our game design to allow multiple stores.


In this lecture we use our real game example to see how our objects (the store and the game manager) can communicate and share information with each other. You learn that public methods and public properties are accessible outside your class and inside the Unity editor while private methods and private properties can only be accessed internally.


In this lecture you complete the process of making the tycoon game capable of handling multiple stores. An important take away from the course up to this point is that we are using many of the standard Unity features that are easy to get started with. Your game is up and running and the core engine is in place. Now we can begin adding features and expanding the game design.


At this point in the course you have the foundation for a simple game. In this exercise you are to take what you have learned and built out six stores (or how many you wish) with various costs, timers, and profits on the sale.

Section 3: Adding Features to Your Tycoon Game

One key feature in these idle Tycoon type games like ADVenture Capitalist is that you unlock managers so you don't have to click on the store over and over. The store timer will automatically restart on its own once you have a manager for a store. While we will wait to implement the user interface for automating the store we will go ahead and add the feature into our store class so we can more easily test our game play.


Up to this point our stores are a fixed cost. In Tycoon games like this it is often desirable to have each new store cost more than the previous store. In this lecture you learn how to integrate a powerful c# math library that lets you create a function for your Tycoon game that allows you to scale up your store costs. More importantly you will learn how to use this library so that you can apply it to your own game designs.


Now that we have improved our store cost calculations, let's show the player the cost of the next store in the buy button. Learn how to dynamically change the button text.


Add visual feedback in which you can change the buy button to be disabled and show different colors when the player doesn't have the money to purchase another store.


While this entire course focuses primarily on using Unity 3D's User Interface and introducing game design patterns we do at least want our stores to have a picture associated with each one of them.


Unity Prefabs allow you to create reusable objects within your Unity scenes. This video begins introducing you to prefabs and how they can be used in the editor. In a later lecture you will learn how to use these prefabs to programatically generate your stores from XML.


For our design we want to hide the stores until they are available. While this design is a bit different than ADVenture Capitalist it is common in many other Tycoon games in this genre.


In this lecture we introduce some overall improvements to gameplay and learn some additional C# scripting along the way.

Section 4: Getting Down to Serious Business- Take Your Development Skills to the Next Level

We begin to decouple our stores dependencies with the game manager by introducing the Singleton pattern. A classic design pattern used to implement game managers to they are easily accessible to all of the other systems in your game.


As a beginning programmer it is easy to put together a game like this Tycoon clicker. However when you get into more challenging games with complex designs your beginning skills will make it difficult. This lecture will teach you how to separate out the user interface elements from the game the game manager. While this very simple example only addresses the current balance, the design principal will prepare you for a far more complex Store UI manager in future lectures.


One of the most important game development concepts is the ability to create events the various systems in your game can respond to. Instead of tightly coupled objects that are brittle and require much dependency using the Observer Design Pattern and Delegates and Events our User Interface can update itself when the game manager announces that the current balance has changed. This is a dramatic improvement over the previous design in which our game manager would have to know details about the user interface.


Each store has several UI components and like our game manager it is important to separate out our UI from our game logic. Because the store class has more complexity this lecture certainly will be more challenging to those who started this course as a beginner. For those who are already programmers this re-factoring exercise should prove enlightening and provide you with examples of how you can go about better designing your own games.


Breaking out the store UI from the store game logic required quite a few steps but it should have been very valuable for those who wish to create more complex games. It demonstrates how composition of your objects is important and that you want to avoid from the beginning if possible having your UI tied in tightly with game logic. Most importantly it demonstrates that it is never too late nor never too early to re-factor your design for future growth. Build, test, re-factor, test, build, re-factor, test, build. Always take time to go back and clean up your code and re-factor when you are working on complex game projects.


The design to this point uses up a lot of CPU cycles because the UI is refreshed in the update method of the game objects. In this lecture we make our code more efficient by moving code out of the Update method and using other techniques to update the user interface in the game.


In this exercise you are asked to do some of your own re-factoring by changing variables from public to private.

Section 5: Make Your Stores Easier to Manage by using XML for Maintaining Store Data
Introduction to Loading Your Store Configuration Data from XML

In this lecture you learn how to create a simple XML document and load game data out of it so it can be utilized within the game setup.


In this lecture you make a big leap in the game design going from stores that must be created manually in the Unity Editor and instead dynamically create the store prefabs from the data in the XML file. While this is a pretty simple example you can apply this to everything from loading rpg stats, maps, choose your own adventures... and pretty much any game elements. This is also an essential technique to making games in which users can easily make their own mods.


While most of our store data can be set right inside the store class, the store name needs to be updated in the text box at the top of the store interface.


Now that we are creating our store prefabs dynamically we must now load in our store image dynamically as well. Fortunately this short lecture will have you dynamically loading your pictures into the Unity UI in no time.


We still have additional data we need to load into our store from XML. This lecture gets the remaining elements of data we need into our store.


As many other objects in our game depend on the data that we are now loading dynamically, we use an event to notify the game manager that our data is loaded. This extends on what we have learned in previous lectures on using events and demonstrates how events can be used to effectively control the sequence of actions within your game design.


While we've completed loading our store data we now need to add the ability to load our starting balance from the XML file as well.


This exercise asks you to take what you have learned from loading data out of XML and create the ability to load the company name out of XML using similar techniques.


Our Load XML Data method grew quite large as we built out all the features it required. In this exercise you are asked to re-factor the method so it is more modular. Then the remaining part of the lecture is my attempt to re-factor the method. Please feel free to post your solutions to re-factoring this method in the discussion.

Section 6: Add a UI to Unlock Store Upgrades - Managers to Automate Clicks for the Stores
Create the Layout for Unlocking the Store Manager Upgrades
Programatically Create the Unlock Manager Prefabs
Setting Up Our Simple State Machine
Creating Our Method To Unlock the Store Managers
Learn How to Programatically Add a Listener To Your Button
Finishing Up the Store Manager UI

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Odoo Class Videos, Professional Odoo Videos and Training

Odoo Class is recognized as the #1 resource for professional Odoo videos. Hundreds of Odoo Developers, Odoo Partners, and Odoo integrators have subscribed to Odoo Class to further their knowledge of Odoo.

Now we are taking what we have learned in Odoo training and making the best Odoo videos and bringing our best courses to Udemy students.

Starting with our first video products Odoo 8 Essentials and Ubuntu Workshop OdooClass has now built a library of more than 120 professional Odoo videos. 

We are excited to bring these latest Odoo courses to Udemy.

Here is what some Odoo Class subscribers have said about our Odoo videos:

I am completely new to Linux, Python, Postgres and everything Odoo. Odooclass videos have been pivotal in my learning process and in my opinion is the best resource out there for beginners especially for those like me migrating from an entirely different development background. The videos are very clear and relevant. I would highly recommend them to anyone new to Odoo.

- Peter S.

I just wanted to say that the videos are great and have really opened my eyes to the capabilities with Odoo.

- Joey K.

First off I want to comment on all of the quality video editions you have recently added to your library. They have been tremendously helpful and I have been recommending your service to many people.

- John P.

I recommend Odoo Class for anyone want to learn odoo, they have a very high quality videos for both functional and technical

- Vyas S.

Ready to start learning?
Take This Course