Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Online Business Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-03-30 06:28:21
30-Day Money-Back Guarantee
Development Game Development C#

Unity 2019 Learn to write better code making a City Builder

Learn object oriented programming, design patterns and Unit testing while making a City Builder game in Unity using C#.
Rating: 4.4 out of 54.4 (148 ratings)
2,551 students
Created by Sunny Valley Studio
Last updated 1/2021
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Unity
  • c# programming
  • Game design
  • SOLID principles

Course content

21 sections • 108 lectures • 17h 43m total length

  • Preview05:55
  • Preview00:20
  • Preview01:21
  • Preview01:05

  • Preview05:20
  • BIg picture - Architrcture
    04:43
  • Object oriented programming
    05:47
  • SOLID principles
    05:30
  • Refactoring and code smells
    05:58
  • Automated tests - Unit testing
    03:38

  • Simple Game Design Document
    05:45

  • Preview05:21
  • OSX resource issue when unzipping zip archive
    01:07
  • Preview03:46
  • Creating a town using prefab models
    18:43
  • Detailing our town to make it look appealing
    06:30
  • Adding simple post-processing effects
    03:31
  • Adding simple UI
    14:19
  • Summary
    03:04

  • Class structure of our city builder
    07:11

  • Project Setup
    03:54
  • Getting mouse input
    09:47
  • Placing Structure on our map
    07:05
  • Refactoring: split code into separate classes
    06:17
  • Why Do I Want To Test?
    02:18
  • Unity Test: Grid Class
    08:47
  • Unit Tests Code
    00:17

  • Refactoring Input Manager using delegates
    10:47
  • Cell data structure - storing state of our map
    11:36
  • Unity Tests Phase 1
    09:39

  • Switching between selection and building state part 1
    10:19
  • Switching between selection and building state part 2
    07:49

  • Camera movement script
    09:08
  • Input for Camera Movement
    10:46
  • What is State Pattern
    04:27
  • Implementing state pattern - prepare Input Manager
    10:35
  • Implementing state pattern - Preparing states
    11:23
  • Implementing state pattern - modifying Game Manager
    07:27
  • Play mode Testing
    12:25

  • Refactoring PlacementManager - Adding BuildingManager
    09:14
  • Adding Demolish Structure State
    18:19
  • Refactoring Input Manager - different platforms
    09:21

Requirements

  • Using Unity on an intermediate level
  • c# intermediate skills

Description

Have you ever created a game prototype that was really cool but as you have started building on it every new feature seemed to introduce bugs in the old code? Or maybe this 1 feature that you had in mind and thought as being 2h of work to implement ended up taking 2 weeks?

If this sounds familiar I encourage you to take a look at this course.

In this course we will learn best practices for programming games. We will focus on the general game structure, code structure and how to use design patterns in our game to solve different issues that will arise. By using Unit Tests we will create some degree of certainty that our code will run as it should even after adding new features and refactoring the previously written code.

Those are mostly overlooked topics in most courses on how to create games. There is a reason for it. They show you how to create a prototype. Your game prototype must be created fast, can be crude and can have bugs. It's role is to get you feedback if your game idea is promising.

My goal in this course is to give you an idea about broad range of topics mainly connected with programming. On an example of a city builder game we will look at how to use different design patterns, create unit tests and refactor the previously written code to account for the new features that we want to introduce into our game.


After receiving a couple of reviews I can see that sometimes I can go too fast through some aspects and I don't explain some more basic concepts of the code. Please take this into consideration that some intermediate knowledge of C# and a good understanding on how Unity editor works is crucial for you to get the most out of this course.

I hope that I can help you improve your coding skills where it comes to game development. At the same time I am sure that not everyone will be satisfied with my delivery and the quick pace at some points. Please know that you have 30 day to apply for a refund. I don't want anyone to feel dissatisfied with their purchase.

*This course is made using Unity 2019. You should be able to follow along using latest LTS (long term support) version of Unity 2019.

Who this course is for:

  • Intermediate unity developer wanting to better there programming skills
  • Beginner unity developer willing to work hard

Featured review

Poyraz Göksel
Poyraz Göksel
16 courses
9 reviews
Rating: 5.0 out of 5a year ago
Instructor has very strong understanding of OOP. Its very hard to find courses or videos that can add to your skill set after you reach somepoint in coding. This one did add things to my skill set. Because of the fact that city builders have never been in my scope of interest I had no experience in it so I wanted to find faster ways to develop a city builder for my company. But unexpectedly I`ve learned things. Thank you. -A Senior Game Developer

Instructor

Sunny Valley Studio
Gameplay programmer
Sunny Valley Studio
  • 4.3 Instructor Rating
  • 299 Reviews
  • 3,550 Students
  • 3 Courses

Hi I'm Peter and I am an Indie game developer / programmer.

There are a lot of great course here on Udemy on how to make games, however I feel like there is a gap where design meets programming. We really need to learn how to write a better code so our creativity can flourish when we design our games instead of being pushed back by strange bugs appearing in our code.

I hope I can create courses that will let you write better code and be better game developers overall !

Thank you for reading my profile description!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.