Creating a 2D Shooter game in Unity: Introduction
In this tutorial, we will learn how to create a simple 2D spaceship that fires missiles with Unity; some of the skills that you will learn along the way include:
- Creating sprites
- Instantiating Objects.
- Add and use Rigidbody physics components for 2D objects.
- Apply a force on an object.
Creating a shaky bridge
In this post, we will create a shaky bridge, a bridge that collapse as the player walks on it. For this we will create a sprite and add a Rigidbody2D component to it. We will then either activate or deactivate the gravity on this object so that it starts to fall only the player collides with it.
A while ago, I was talking to Jason, who is one of the (many) passionate game developers on this mailing list; he has been using the books Unity from Zero to Proficiency series and has made some pretty cool games since then. I thought it would be great if he could share some insights and some of his current projects.
So let’s meet Jason!
The plan for the this small tutorial is to do the following:
- Create a simple scene where the player is initially represented by a tank (made of simple boxes) and is controlled using the arrow keys.
- Add networking capabilities so that this scene can be played by (and shared amongst) several players over the same network.
This will be done step-by-step and all the networking aspects will be covered in details, so that you get a solid grasp of implementing a simple networked game; once you understand how to create such a game, you will be able to transfer these skills to a game of your choice.
The new book Unity from Zero to proficiency will be out on 17th October 2016…Meanwhile this is a trailer that shows some of the features that you will be able to implement with this book, including:
- Database access
- Network Multiplayer Game
- Procedural level generation
- Code profiling
- and much more…
We all do it!
Yet, this is a topic that rarely receives attention: memory allocation and performance; When our game has been created and that functionalities have been implemented, we would typically use a profiler to try to identify issues that may slow down our code; this being aid, many of the bottlenecks detected by the profiler, may be prevented by coding defensively and avoiding some common pitfalls; these are often linked to garbage collection, memory allocation, and speed of access; in this post, we will start to talk about the heap and the stack, explain what these terms mean, how and why data are stored in these, and how to optimize our code to use them wisely and efficiently. Continue reading
In this short tutorial, we will be looking at creating levels from a text file; this will involve;
- Creating a text file accessible from a resources folder within your project
- Reading this file line by line
- Instantiating objects based on the value read in the file
This technique can be used to create multiple levels very easily. This will at least do two things for you: (1) it will make it possible to modify the structure of the level without having to modify the code, and (2) to create individual files for each level.
When it comes to scripting, even at an intermediate level, there are a few things that you can do to make sure that your code is lean and efficient, including:
- Using Update and FixedUpdate wisely.
- Deactivating unnecessary scripts temporarily.
- Removing overridable methods.
- Using search functions wisely.