Unity Tutorial – Tactics Movement

Tactics games, like Final Fantasy Tactics and Ogre Tactics, are turn-based combat games on square tiles. This multi-video tutorial will cover movement for a tactics game.

Player movement uses Breadth First Search (BFS) to calculate the tiles that the player’s unit can move to. NPC movement uses A* to calculate a path to the nearest player unit, and then limits the path to the unit’s maximum movement.

Part 1 – covers how to set up the tactics game board
Part 2 – covers how to set up the adjacency list for each tile
Part 3 – covers Breadth First Search (BFS) for calculating the tiles the player can move to
Part 4 – covers movement of the unit’s from tile to tile, including jumping up and down
Part 5 – covers the turn manager so the player and NPC can take turns moving
Part 6 – covers A* and NPC movement which chases after the player

Download this Unity tutorial

Videos

Part 1 – covers how to set up the tactics game board

Part 2 – covers how to set up the adjacency list for each tile

Part 3 – covers Breadth First Search (BFS) for calculating the tiles the player can move to

Part 4 – covers movement of the unit’s from tile to tile, including jumping up and down

Part 5 – covers the turn manager so the player and NPC can take turns moving

Part 6 – covers A* and NPC movement which chases after the player

Game Programming Academy Unity 3D Webinars

For the next four weeks, I will be hosting a free 1 hour webinar on Fridays, 9am – 10am. Topic: Unity 3D. I don’t really have anything planned, so this will mostly be a Q/A session. I’m sure a few of my students will attend and ask questions (probably about why I haven’t graded their homework).

Only room for 50 people for the live version, but I will record the session and make the video available to all.

If you do have some questions you want to ask, I would suggest posting them here first, just in case I need some extra time to prepare an answer.

Game Programming Academy Unity 3D Series
Game Programming Academy is hosting weekly webinars on Unity 3D. We will cover a variety of topics including Artificial Intelligence and creating Multiplayer games.

http://gameprogrammingacademy.enterthemeeting.com/m/KADMMCHD

Game Programming Academy Boot Camp

Today, while having lunch with two of my students from the Art Institute (Nate & Jay), I mentioned that I had thought about teaching local students game programming outside of school.

They know I’m in the process of making online game programming courses, but I mentioned that I could teach them all the same programming material they’ve learned in the last three years in one year without all of the general education and art classes they were forced to take for their degrees.

I told them I needed 20 students before committed to the program at $500/month for 12 months before I could go forward with it. Why? Costs: Office space, desks, computers, etc.

So I gave them a challenge. I told them I would run the Game Programming Boot Camp if they could find me 20 students. Of course, they started posting on Facebook.This would be on-ground boot camp in San Diego. While I want to do online boot camps, I haven’t figured out the logistics yet on how it would work.

So here it is: Game Programming Academy Boot Camp

  • 12 months of game programming.
  • One class a month.
  • Each class would run 12 hours per week with an extra 8 hours per week of lab time for doing ‘homework’ and getting help from myself and my tutors. (You can only learn programming by doing programming.)
  • What would we teach?
    • C++ and C# from the basics to the advanced level. This includes Objected Oriented Programming and Data Structures.
    • Unity 3D Game Engine (C#)
    • Artificial Intelligence in Game Programming
    • Network Game Programming
    • PC & Mobile Game Programming (Android)
    • 2D and 3D Graphics Programming (C++/OpenGL)
    • Shader Programming (CG/HLSL in Unity 3D)
    • Plus more advanced software development topics on making games in Unity 3D.
  • Cost: $500/month for 12 months.

What do you get out of it?

  • Learning how to program in C++ and C#.
  • Learning how to make games in Unity 3D.
    • In fact, you will be making at least one game per month, if not more.

If you are interested in signing up, fill out the following form with your name and email address. When I get 20 people interested, I will contact you with all of the details.

Registration closed.

Exploring Shaders in Unity

Here are some notes I put together for a lecture/demo for the San Diego Unity 3D Meetup Group.

Exploring Shaders in Unity
Start with what a shader is and why they are important. Then, a discussion of the different types of shaders used in the rendering pipeline. A brief look at Unity’s built in PBR shaders and why you might want to make your own custom shaders. Finally, a demonstration of the different types of custom shaders and the types of visual effects that can be created using them.

Slides:
Exploring Shaders in Unity

Code:
Exploring Shaders

Exploring shaders in Unity

Tuesday, Jul 12, 2016, 7:00 PM

The Art Institute of California- San Diego
7650 Mission Valley Road San Diego, CA

0 Game Developers Went

Let’s learn a few things about Unity Shaders from Greg Miranda, who teaches Unity Shaders at the Art Institute of California.  Here’s a brief description of what he plans to cover:”Start with what a shader is and why they are important. Then, a discussion of the different types of shaders used in the rendering pipeline. A brief look at Unity’s bui…

Check out this Meetup →

Artificial Intelligence in Game Programming

One of my favorite topics is Artificial Intelligence. I like it so much that I did my master’s thesis on Genetic Programming, a machine learning algorithm that lets a computer create programs.

When we think of Artificial Intelligence, we think of intelligent computer programs that think like, or better, than a human, or we think of a program that is intelligent at a specific task, like IBM’s Watson which competed on Jeopardy.

Creating these types of AI programs is time-consuming and requires vast amounts of computer processing power. Neither of these is practical for a computer or mobile game.

Computer games are limited to how much processing power a computer has and mobile games have even more limitations. Game developers are also limited on how much time and money they can spend on creating their game, a large portion of which is spent on making the game look good.

The good news is, we don’t actually need to create an artificial intelligence in our games; we only need to make it seem as if our characters and creatures look intelligent. The goal of a game is to create a fun experience for the players, not an actual intelligent AI.

Something to consider: what if we did create an AI that could compete against the player? It’s possible that this AI could be too challenging. Players like a challenge, but if they can never win, they will grow frustrated with the game and put it away and play something else.

So how do we make characters and creatures in our games look intelligent? First we need to define what intelligence looks like in a game. It’s difficult to people to point at a game and say “Those characters were intelligent!” However, the reverse is easy to spot, “Those characters were stupid!”

So goal #1, don’t let your AI agents in your game act stupid. Keep them from running into walls, acting completely random, or doing other things that appear to be dumb (like blowing themselves up!).

Keeping them from running into walls is fairly easy with pathfinding algorithms. There are several ways to go, such as A* or using a navigation mesh.

Randomness can be a good thing, but too much randomness does not create the appearance of intelligence. Humans opponents are often unpredictable, but not random. We can use randomness to help us choose between decisions, but we need to temper that with other algorithms to so that those decisions are not always random.

Doing that that appear dumb can be the most difficult. Determining if the AI is dumb usually comes about from a lot of playtesting, however, some things are pretty obvious: don’t use a rocket launcher on a target if the explosion will kill both of you.

There are many algorithms that software developers, mathematicians, and traditional AI researchers have created that game programmers can use to make game AIs that are fun, and more importantly, not stupid.

Algorithms such as:

  • Finite State Machines
  • Steering Behaviors
  • Pathfinding
  • Goal-Based Behaviors
  • Decision Trees
  • Game Theory
  • Fuzzy Logic
  • Machine Learning

These are all topics that I teach my students and I will be covering most, if not all, in future blog posts.

We are always open to comments and questions, so post a comment or visit our Facebook page at https://www.facebook.com/GameProgrammingAcademy.

Stay in touch, and happy game creation!

Regards,
Greg Miranda

HTML5 Game Programming Workshop

Workshop Topic

Create a 2D web-based game using HTML5 and JavaScript.

 

Game

http://www.createsoftgroup.com/gameprogrammingacademy.com/workshop/

Controls: WASD

Reload page to restart game

 

JavaScript Code

http://www.createsoftgroup.com/gameprogrammingacademy.com/workshop/AIWorkshopGame.js

 

HTML5 Game Tutorials

http://www.html5gamedevelopment.com/html5-game-tutorials/2013-06-5-part-html5-game-tutorial-galaxian-shooter

http://www.designer-daily.com/10-cool-html5-games-and-how-to-create-your-own-23820

http://www.gamedevacademy.org/how-to-make-a-html5-game/

http://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/

 

Resources:

Image Editing
GIMP (free)
http://www.gimp.org/

Pixlr (free)
https://pixlr.com/

 

Game Creators:
Unity 3D – 2D and 3D (free version available)
http://www.unity3d.com

Scratch (free)
https://scratch.mit.edu/

Construct 2
https://www.scirra.com/construct2

Stencyl
http://www.stencyl.com/

GameSalad
http://gamesalad.com/

 

Graphics (free)
Reiner’s Tilesets
http://www.reinerstilesets.de/2d-grafiken/

Lost Garden
http://lostgarden.com/labels/free game graphics.html

CGTextures
http://cgtextures.com/

The Spriters Resource
http://www.spriters-resource.com/

SpriteLib
http://www.widgetworx.com/widgetworx/portfolio/spritelib.html

Free Game Assets
http://freegameassets.blogspot.com/2013/09/asteroids-and-planets-if-you-needed-to.html

Hello world!

Hello World,

Welcome to the Game Programming Academy. Our aim here is to teach programmers how to create desktop, web, and mobile games.

We look forward to providing tutorials, courses, ebooks, and sample code to help you learn and publish your own games.

We are always open to comments and questions, so post a comment or visit our Facebook page at https://www.facebook.com/GameProgrammingAcademy.

Stay in touch, and happy game creation!

Regards,
Greg Miranda