Self-study|IT|Int|Lesson 11: Game design
💡Now let’s revise what you’ve learnt before.
Put the letters in the correct order to make words
Match the programmers to the type of work they do
💡Games have become an inseparable part of our culture. In some countries, games are regarded as a form of art. E-sports is getting more and more popular. According to analysts, the audience and financial turnover of the e-sports industry will surpass traditional sports by 2025.
Why are games so exciting? And what is the role of game programming and design?
Today we’re going to study this matter in detail and fill your knowledge gaps!
Ready? Let’s get started!
Tick the things that attract you in a computer game
Study some new words and then do the quiz to find out what type of gamer you are
Listen to the recordings and choose the type of a computer game to fit each description
Label the pictures with the types of computer games
Type a list of 10 rules for good game design
Read the text and choose the correct headings
Read the text and complete the tasks
Design your game. Read the instructions
My own game
For most people, the computer game experience starts in an online shop and ends on a sofa. Have you ever thought about how a new game is made? Create your own computer game. Follow these steps:
- Think of the name.
- Think of the story (e.g. your story may be based on a film or TV series).
- Create the characters.
- Think of the levels and the environments for different levels.
- Draw a storyboard of the game’s first level.
- Explain the rules of the game.
- Use the words from the first exercise.
Use the voice recorder.
Match the types of games to their descriptions
Use the given words and phrases to paraphrase the parts of the sentences. There is one extra option
Read the text about game design patterns and do the task
Game design patterns
Knowing the syntax of a programming language does not make you a programmer. What makes you a programmer is knowledge of data structures, algorithms, and design patterns. Knowing the syntax of a language is like knowing the alphabet — anyone can learn it, but developing a modular, flexible, maintainable application requires special skills.
Now that I have broken your heart and aspirations, let me introduce you to the design patterns that will help you become a great developer.
There are several design patterns. But the most used and loved patterns are the following:
1. The Singleton design pattern. In a game, just like in a movie, there should be only one director. A director is a class that conducts everything that happens in a game. It controls the rendering of an object. It controls position updates. It directs the player’s input to the correct game character, etc.
The engine should prevent more than one instance of a director to be created and it does so through the Singleton design pattern. This design pattern ensures that one and only one object is instantiated for a given class.
2. The Strategy design pattern. In a game, you should always decouple the interaction between the input controller and the game’s logic. The game’s logic should receive the same kind of input regardless of the input controller (button, gesture, joystick).
Although each input controller behaves differently to the user, they must provide the same data to the game’s logic. Furthermore, adding or removing an input controller should not crash a game.
This decoupling behavior and flexibility are possible thanks to a design pattern known as the Strategy design pattern. This design pattern provides flexibility to your game by allowing it to change behavior dynamically without the need of modifying the game’s logic.
3. The Observer design pattern. In a game, all of your classes should be loosely coupled. This means that your classes should be able to interact* with each other but have little knowledge of each other. Making your classes loosely coupled makes your game modular and flexible to add features without adding unintended bugs.
This pattern is normally implemented when an object wants to send messages to its subscribers (other objects). The object does not need to know anything about how the subscribers work, just that they can communicate.
4. The Composite design pattern. A game normally consists of many views. There is the main view where the characters are rendered. There is a sub-view where player’s points are shown. There is a sub-view which shows the time left in a game. If you are playing the game on a mobile device, then each button is a view.
Maintainability should be a major concern during game development. Each view should not have different function names or different access points. Instead, you want to provide a unified access point to every view, i.e., the same function call should be able to access either the main view or a sub-view.
This unified access point is possible with a Composite Design Pattern. This pattern places each view in a tree-like structure, thus providing a unified access point to every view. Instead of having a different function to access each view, the same function can access any view.
5. The Model-View-Controller design pattern. If this pattern was a rock band, then it would definitely be called «The Beatles». No doubt about it. It is the most widely used and loved design pattern among programmers. This pattern is made up of three fundamental design patterns:
🔹The Strategy design pattern
🔹The Observer design pattern
🔹The Composite design pattern
As shown in the illustration, the Strategy pattern represents the Controller part of the MVC. The Strategy pattern decouples user inputs from the game’s logic (Model) and interfaces (View).
The Composite design pattern represents all Views (main window & buttons) in an application. This pattern provides a unified access point for all views to the model.
The Observer design pattern represents the logic of your application (Model). Through this pattern, the Model is able to interact with the views and controllers without knowing anything about them. This pattern makes the interaction between all classes loosely coupled.
Read the text again and match the halves of the sentences
Read a brief history of e-sports and put the events in the correct order
A brief history of e-sports
Competitive video gaming precedes the Internet era and has been around since the 1970s and 1980s when organized and televised gaming tournaments hosted by games developers, usually as a marketing tactic, were commonplace in countries like Japan and the United States. Despite video games at the time being offline and lacking the massive multiplayer functions that we take for granted in our favourite titles today, the medium found a way to rise to popularity.
The earliest recorded e-sport event, which was labelled under more amusingly creative name Intergalactic Spacewar Olympics, took place in 1972 at Stanford University, California. The university invited Spacewars players to compete for a one-year subscription to the Rolling Stone magazine. It wasn’t until 8 years later when video game publisher Atari held the Space Invaders Championship in 1980 — and more than 10,000 people showed up from all across North America — that competitive video gaming was considered a mainstream hobby.
The rest of the 1980s saw the establishment of several organizations such as Twin Galaxies and the U.S National Video Game Team which helped promote video games worldwide, along with the competitive scenes that inevitably accompanied them, created and driven by passionate fan-bases. When the Internet era properly arrived in the 1990s and more video games began taking advantage of the connectivity and multiplayer possibilities it provided, larger e-sports tournaments formed and greater awareness followed. Games such as Counter-Strike, StarCraft and Warcraft had their humble beginnings in the LAN era and became powerhouses in the modern e-sports industry today thanks to the growing subcultures they fostered in the early days of connected gaming.
You can find a more detailed look into the history of e-sports 🔗here.
- What type of gamer are you?
- Types of games
- The principles of game design
- Focus on the words
- Your design
- Homework 1
- Homework 2
- Homework 3