Friday, 19 December 2014

Please, kill the Virus. Update 2

The Virus is coming...

Hello everyone!

The development of Please, Kill the Virus is going very good! It is always hard, but I am happy that we are already leaving the prototype stage and moving deeper into the mechanics and features of the game :)

So far we tried three different mechanics for the game to see which one looks and feels better. It is always painful to prototype and feel you are not really making the game, but something you are going to throw away. The truth is that the player will thank you every simple iteration, as the quality of the game will be much higher.


We are also exploring the look and feel of the game. Here are some gifs :)

For some strange reason, this gif makes me hungry... xD

Friday, 28 November 2014

Please, kill the Virus. Update 1

Please, kill the Virus... the new future sensation :)

Hello everyone!

I will briefly introduce you to a new game prototype that has been under development for the few previous weeks. The name is "Please, kill the Virus" and it is a high-score, small game for mobile devices that the Roswell Team we are creating for the gamesJam competition. There you can play the game, or give some feedback, even if you don't speak Russian (like me :)).

"An arcade puzzle game about fighting viruses in microcosm."

The mechanics are very simple, you drag your gun around the circle and tap to shoot. Different kinds of viruses will spawn from the core and you will have to shoot with the right antidote (colour). But be careful, shooting the wrong colour can have undesired effects! Also if you don't will viruses fast they will become more dangerous over time.

The game is being developed using the latest uGUI from Unity 4.6 :)

Friday, 7 November 2014

Unity 4.6 - Simple Tutorial, Vuforia Augmented Reality.


If you are planning to migrate your Vuforia project to the new Unity 4.6 uGUI system you will want to know a couple of things. You will not only take advantage of the new user interface tools but also the Event Systems and Raycasters. In this post I will explain briefly how to detect mouse and touch events over the Augmented Reality content.

Vuforia Unity Plugin is at the moment the best option out there to create multi-platform AR applications and definitivelly the easier to use. The guys at Qualcomm did a great job integrating the Vuforia plugin in the Unity editor in such a way that it is almost inintrusive in the Unity Engine itself.

In Mofables, we are working on an AR project using Unity 4.6 and Vuforia 3.0.9. In the future I will write about the experience of creating a Augmented Reality board game that uses a phone or tablet to work. So far it has been an amazing journey to the unknown, but it is still not finished and we have still much and more to learn. On the meantime I write this post to explain the how to create simple interactive setups.

Prototype AR board game ROAR!.

Friday, 17 October 2014

Northwards of Roswell. Update 4

That sweet moment when your game starts to be playable. Designing missions is so cool! ^^

Hello everyone one more time :)

This update is the most important up to date. We finally managed to finish our first real prototype. It took longer than expected (it always takes longer than expected :P), but the most important thing is that it is here and you can try it.

This will be anyway a great opportunity to collect your feedback! We prepared a small proof of concept of our gameplay that you can play and tell us what you like or hate about it :)

Here, a cookie... I mean... armadillo. You know, for testing the demo :)

Friday, 26 September 2014

Unity 4.6 - Simple Tutorial, Health Bar and Damage Popup!


If you find yourself making a RPG or RTS game you will be in need of Health Bars and Damage Popups (floating text) for your units. With Unity 4.6 uGUI this is easier than ever before. However, there are some details that you can to take into account if you want to have the classic effect in your game, no matter the setup you are using.

The best news about this tutorial is that you won't even need a single asset to make a simple Health Bar or Damage Popup! This is how I implemented those in my project Northwards of Roswell and this is the result:

Fight, my minions... FIGHT! Muahahaha! >:D


Let's start already! :)

Friday, 12 September 2014

Northwards of Roswell. Update 3

Northwards of Roswell... The Movie? :)

After a lot of sweat, blood, tears and enormous amounts of self motivation, I am extremely happy to bring you the next update of Northwards of Roswell. I got really into the AI of the game and brought it to the next level with the implementation of the combat mechanics! At the moment, the combat follows the rules of traditional melee combat in 3D RTS games.

Why I spent so much time implementing this part of the game? First of all, I stopped to use the Rain Plugin. The behaviour trees didn't work for me. Sadly, the plugin is very ambitious and wants to be a all-in-all tool for your games. It proves to be useful in static situations but when you start to make complicated dynamic stuff and combine it with other systems you will need to dig into the superficial documentation they provide. Sooner or later you may find a blocking wall of errors and will decide to drop it off your project. :(

I also spent some amount of time exploring the latest Unity 4.6 Beta. I will definitively use the new gui and event system when implementing the GUI of the game. Finally I also struggled a bit trying to make a flexible enough unit system for the game based on prefabs.


The big family of hybrids in Northwards of Roswell.

Friday, 22 August 2014

Unity 4.6 - Simple Tutorial, new Events System and Raycasters!


Unity 4.6 is (almost) here! Everyone is talking about the new uGUI, the best thing that happened to Unity since the 2D native tools. I already tried the tools and I can say they are simple and awesome, but if you already had experience with nGUI you will see little new stuff in there.

Let's better talk about something else... the new Event System and Raycasters! :)

The new uGUI elements allow to create simple conection between them and other scripts in some sort of visual scripting. Good news are that they didn't limit it to only the new uGUI elements, but they expanded it to allow any unity component to use them, it the Canvas (Graphic Raycaster), 2D (Physics 2D Raycaster) or 3D world (Physics Raycaster).

Events and Raycasters will make the life easier of both programmers and designers.

Friday, 25 July 2014

Northwards of Roswell. Update 2

Welcome to Roswell. A land of opportunities... in Alien Science :)

This update will be short. I spent last two weeks working hard to integrate pathfinding and AI in Northwards of Roswell. It was mostly a matter of learning, but it is great to start to see the first results of it :D

In the road map of our prototype we will need enemies! In Northwards of Roswell, the basic enemies will be the local farmers. They are not too much of a threat, unless they come in the numbers.

Our friendly fellas lookin' to the sky.

Friday, 4 July 2014

Northwards of Roswell. Update 1


Hello everyone!

It has been quite some time before my last update. ETCorps tutorial is at the moment waiting for me to have more extra time. After I finished the second part, I realised that maybe a written guideline is not the more appropiate way of teaching... perhaps I will try with video tutorials in the future.

For the moment, I wanted to show the world that I haven't been idle and actually I have another project that I am working on :)

The name of my current project is Northwards of Roswell:

"The game about aliens on Earth, trying to find their way home." 

Lost doesn't really mean that they are poor, helpless and goodwilled creatures...

It is a real time strategy, 3D game for mobiles where will try to mix two of the best strategy games of the recent years: XCOM and FTL. I will not talk too much about the features of this ambitious project since it is so early in development that anything can change (and will change). :)

Monday, 9 June 2014

RTS Unity Tutorial Together. Part 2 - Top Level Game

Resources... we just need one... Zoltoids, Zoltoids, Zoltoids! :D


Hello every one and welcome to the second part of ETCorps! Today... Resources!

We will start to implement the most basic skeleton of the game. Since the game is about resource collecting and money, I decided to implement this first. Many things are still not definitive but there is already a lot to explain in what I did for this post.

Before we continue I want to make something clear. This is not a step by step tutorial targeted for people that don't know how to program or don't have basic knowledge of Unity. That doesn't mean that if you are that kind of person you should stop reading now. Please don't stop reading :)

The reason behind this decision is that there are already amazing tutorials for that and if I will be expending time on that the scope of the tutorial should be reduced. All in all, every time I will not explain something in detail I will try to add some reference to a tutorial that will explain that topic. If you find yourself lost, check this tutorials.


Let's Roll.

Here is the result of this tutorial, in this post we will talk about how to get here. From design decision to implementation. If you want you can download the full branch of this part of the tutorial in this repository.

Monday, 19 May 2014

RTS Unity Tutorial Together. Part 1 - Prototyping


This is the beginning of  our adventure... an "Alien adventure"...

That's right folks! The winner of the poll that I posted on my previous article was Extraterrestrial Corporations (from now on: ET Corps). I am happy because this was, in fact, my favourite option :)

Here are the results of the survey:

In the end the results were tighter that I expected at the beginning.


It's time to kick start this tutorial, but first of all... What is the first thing you should do before you actually doing anything? That's right, THINK. :)

At the beginning of the development cycle of a game you will have plenty of ideas. The hard part is choosing between them and decide what you really want to create. Test your ideas as fast as you can so you can discard the bad ones as soon as possible. I talked about this before and the truth is that you will never have enough prototypes!

In this post there will be no code or explanation about how unity works. Instead it will be about game design and early video game concepts. The prototypes shown on this post will help us to decide the aesthetics of the game, rather than the game play. Making different game play prototypes should be compulsory in a real project, but a little bit "expensive" for this tutorial. This said, let's get to work :)

Monday, 5 May 2014

RTS Unity Tutorial Together. Part 0 - Idea Selection


Welcome to the RTS Unity Tutorial Together (temporary name :P). A project I want to develop posting here what I do it and why. At the end of the development process we will have a fully playable game and a nice tutorial to learn.
  
Video game development in a nutshell. Let's waste some technology ;)


I plan to make this tutorial with you, that means that everything will be done on the go. There may be back steps and refactoring on the development of this game. Tutorials usually show step by step how to make a video game, like a recipe. The problem is that that is not the real way video games (or any program) are made. I hope you will enjoy going with me through all the process. :)


Monday, 28 April 2014

How to prototype in Unity. The Magic Rule of 3.


It doesn't matter if you work in a big company or you are a one-man team. Ideas doesn't fall down from the trees, and success comes with the price of many failures. That's why you will need prototypes! The art of prototyping consist in being able to test ideas better and faster. In this article I will be talking about two things. First I will make an introduction to prototyping and then I will explain why Unity is the ultimate prototyping tool for video games.


While documenting myself before writing this post, I stumbled across many very interesting articles about how to make video game prototypes (written by people with far more experience than me). Here I will comment two of them that I recommend reading.

The first is a rather old post from Gamasutra. How to prototype a game in 7 days is very complete, and has some revealing facts that I never though about before. It focuses on the fact that "Formal Brainstorming Has a 0% Success Rate". The sentence is quite true, but I will talk a little bit more about it later on the post. It also mentions "Nobody Knows How You Made it, and Nobody Cares" witch means that you should be building prototypes maximising outcome, even if that means forgetting about Software Engineering and good programming techniques.

The second article is from devmag.org.za. Rapid Game Prototyping: Tips for Programmers is a more practical guide of what to do and don't. It also has some interesting ideas like: "If a task is not moving you closer to your goal, don’t do it.". Don't waste your time, the only thing that should survive prototyping are ideas, not code. "When you are in the mud, get out of it, and move on". Use all the dirty tricks you know to fake the final idea of game and don't stop on details that burn your time.


Prototype of Northwards of Roswell, still in development. This state was achieved in 2 hours.

Monday, 21 April 2014

Simple debugging in Unity. Cheap and Painless.


Debugging with Unity can be done very easily. You can for example, connect MonoDevelop to the Unity editor and set breakpoints and all that kind of stuff. This is explained pretty well in the official documentation here, so I will not talk about it on this post. Instead I will explain some alternative methods and tricks that can help you to debug your game that can be sometimes more convenient (because they are Unity exclusive).

First of all, I would like to remark that while you are making any program, great amount of your time and efforts is spent debugging. Depending on your methodology, the amount of time can be lower. In an ideal situation you would be using a TDD aproach, so you fix your bugs before they occur. Unity made a big step releasing the official test tools for Unity (I will write a post about such great plugin in the future). But the sad truth is that many times you can´t just write tests for a videogame.

Bug free software. What a big lie!


Your biggest friend while debugging in the Unity editor will be the console. The console will capture the prints and logs from your code and display them in the editor. It will also retain a reference to the monobehavior involved in the cast if you want (context), so you can click on a console message and the GameObject will be highlighted.

There is many ways of sending messages to the console. The first is using the static class Debug. Debug allows you to Log messages with context, errors, exceptions and warnings. There is another function called print (a wrapper for Debug.Log in the monobehaviour classes). These are all pretty much the same, the difference is that errors can stop the editor if the "Error Pause" option is selected in the console. If you double-click on the console line, it will point the line in the code where the error or log is inside monodevelop.

Click to highlight the context. Double click to go to the code.

Monday, 14 April 2014

Video games and Learning. Beyond Educational games.


There is a big misconception about video games and their education value. Most of the world agrees that "educational" video games really teach people things. Most of this games are designed for kids. Why? Because there is people out there that still thinks that video games are something bad and a waste of time.

Here is a little secret: 
All games are educational! 

Truth is, that the only difference between educational games and normal games are the first are usually more boring. The attempt to add obvious educational content to the games fails most of the time just because it was not needed. It is a wrong approach.


There is something to learn from every game. In an engaging way.

Everyone knows that the first step to successful learning is interest. If something is not interesting or is not meaningful to you, you will spend a lot of time and energy for little benefit. Games are good way of keep the learner motivated and so, create a great environment to improve the knowledge and skills of the player. 

There are of course more steps in successful learning. Many of them are described in Gee's video. I totally recommend to watch it from the beginning to the end. At some point he mentions that one of the reasons of why the games are so good at teaching is because games need to, in order to sell. If you find a good game it will necessary be good at teaching.






Friday, 11 April 2014

Single Responsability Principle. Disassembling Singlenton in Unity


If you ask me what is the most important of the SOLID principles that you should follow when developing for Unity, I would say the first. The Single Responsibility Principle (SRP) states that "Every class should have a single responsibility, and that responsibility should be entirely encapsulated by the class", also that "All its services should be narrowly aligned with that responsibility". In other words, don't mix beer and wine.

This can be sometimes complicated in different programming languages, but looks like Unity was created to specifically follow this rule. Because most of the logic of a game object is something you do not have to care about, you can create different behaviours that will do very simple things.

Singleton UML diagram. The simplest design pattern I could think of... xD

The example I will work with is the Singleton Pattern. The singleton is used a lot in Unity to have items that have to survive different game scenes. At the same time, you don't want that game object to duplicate while navigating though the game. The script below ensure that already, you just need to add in the Start or Update your functionality. For example: Game Controlling or Background Music.


Monday, 7 April 2014

Working in Team Basics. Unity and Git.


If you are an small development studio and decide go for Unity, you will not regret. Although, there are some things you would like to know before continuing. In Mofables we migrated from Cocos2D to Unity four months ago. It was at the time I joined the company, so it was in my hands to decide the road map.

Like always, I will be talking mainly about free or cheap solutions. Everyone knows that you can buy a team licence from Unity Technologies that will help your greatly to share your work and keep it safe. There are many solutions like that, but are very expensive and definitive "no" for people witch is just starting and can't really take advantage of them.

The first thing you need to do to get things up and running is setting up a collaborative environment. Depending on the size and competencies or your team this can be easier or harder. To simplify the things, let's imagine your team is composed of 4 people. You may be interested in Agile Methodologies such as SCRUM or Kanban, I recommend Trello for tracking and planning.

Trello is free and very versatile. There is a plug in to support Scrum for your browser.

You can use pretty much any kind of repository, but I really recommend Git. Git is fully distributed, witch means that everyone's work will be independent and faster. Also there are plenty of web pages like Bitbucket, where you can get your projects hosted privately, for free and without limits. Also the use of some client like SmartGit will allow everyone in the team to collaborate without knowing how repositories really work.

Friday, 4 April 2014

iBeacons in Unity. Asset Store Review.


This is a review about an Unity plug-in that you can find in the Assets Store. The component is called iBeacon and costs 15$. For a technological solution of that kind, I think is a fair price. The plug-in is the first of its kind in the Asset Store and it doesn't have any review yet. So let's get to it!

IBeacons are low-powered bluetooth devices. They are small as an egg and have a battery that can last years. Phones and tablets are able to connect to them an receive information witch makes location-based apps very convenient.

It main purpose of the iBeacons is shops, museums and touristic places. That sounds quite boring to be honest. Why not make some game with it? :)


Estimote iBeacons are one of the most popular. Cool design.


Monday, 31 March 2014

Making Videogames for Toddlers with Unity


Four months ago I started to work in Mofables, an experienced company in making apps for kids. As a developer I have learnt a couple of things that I wish I would have known few months ago. Everything comes down to one sentence:


"An adult testing an app for kids is like an human testing food for dogs"

So there it is the secret. Test your app! Test it as much as you can. Your own kids or relatives are not enough. You need to be able to reach as many kids as possible because you will find out things you would never imagine.


 Testing "Shadows" with kids in the preschool. Proud developer :)

The video above is the final test of the app Shadows. During the first tests we discovered many problems in the app. That is why at the end, kids were playing the game without trouble, and more importantly having fun!. The two more important factors when developing games for kids are: Usability and Entertainment. Here are some examples of important aspects you should keep in mind.   

Friday, 28 March 2014

How to use Lerp in Unity. Like a BOSS.


Hello there!

I heard you want to make videogames. I know you want to make GOOD videogames. Am I right? Then keep reading. =)

Lerp stands for Linear Interpolation. The meaning of it is very simple: you have 2 numbers and you need to find some value in the middle.


This is a LERP example with two points. It is not that bad :)


Let's see how it works. Usually Lerp has 3 parameters. Lets see some example:


// Example values
value1 = 10;
value2 = 20;
result = Mathf.Lerp(value1, value2, 0.5f);
// result == 15

What is so great about Lerp is that it can be used with pretty much anything! Vectors, Rotations (Quaternions), even Colors!

I made an small example where you can see different effects that can be achieved using different kinds of Lerp:


Monday, 24 March 2014

How to Create a Replayable Videogame


There is no secret that the gap between AAA and Indie titles is getting bigger and bigger. The video games with the most incredible budgets achieve greater audio-visual experience, but unfortunately its gameplay and story can run dry after few hours. On the other hand there are plenty of small pieces of art created by small teams that provide hours and hours of entertainment.

How is that possible?

There can be some explanations. Some could say that large video game companies are not really interested in long titles, people will not buy Assassins Creed 3 if they are still playing Assassins Creed 2. Others would say that they simply cannot, their game will not be successful as the mainstream public don't care about this kind of things.

But many people care about replayability, mainly Indie Developers.


Or so it was until now...


Ken Levine, proud creator of the Bioshock saga, gave a very interesting speech in the previous GDC. In his own words, "The problem with narrative is that you sort of have to keep getting bigger and bigger and bigger. That gets time consuming. That gets expensive. And you're devoting years and years of your life to this one sort of big moment". He also said that "You ship the game, and it comes out, and people play the game and it's 12 hours long and people have a great experience and you see cosplayers and fans for years like that, but you don't have that constant engagement with the audience."


Ken's games are recognized for its oriniginality. They are also awesome.

The problem he points out is that games have been "moviefied". Games stories are kept secret until the premiere. They need to protect that only and single story because it is the heart and soul of the product. If it gets filtered, you are done. Very often movies that came out of video games have just been big fiascos, it is normal to expect that happens the other way around. 



Video games are not books, video games are much more.


Friday, 21 March 2014

Unity 5 - The Golden Age of Indie Games.

  
Time has come.

I have been wondering about this for some time. "I need a blog... I NEED a blog...". Truth is that it can be hard to find something worth to write about. Something that will take great importance in your life for a long time...

Unity just made my life easier. With the announce in the GDC of the version number 5 of the engine, Unity Technologies shows the world that it is worth to invest your time and effort in a project with future.


asdads
Unity 5 new material shaders. Brought to you by a nun statue.

UNITY 5

So... what is new in this version? As you probably know already, the new version of unity will more powerful and faster, both inside the games and the editor. On the top of that there is a huge list of improvements that you can see in the video:


  Unity 5 promotional video. Some hot shit.
   

Now I would like to focus on the two items I consider the most important of the list. It is just a dream come true to see the two biggest limitations of the engine disappear in the near future.