In the previous post, we learned how video game industry evolved and become monopolised by game franchises that repeat the same ideas release after release. The consumers may not be bored of such games, but among this a déja vu mist, fresh ideas shine like a lighthouse.
To understand what indie games are, and how they fit in the scene, we must first build a context. History of video games started not so much ago, but they suffered such a quick evolution in few decades.
Last week I gave a talk about indie games at IES Alfons III in Vall d’Alba. One of its teachers saw my previous talk, where I was speaking about AI. He thought it could be interesting for students to learn about video game development, but he was not sure if they would understand a technical lesson. So we spoke on the phone and arranged a more suitable talk, focused on explaining video games creation and motivating students to choose a related career.
Hi! As promised, here I am again with another “basic concepts for coding lovers” thing. Before proceeding, I’d like to say thank you to all the people that read my last post and gave me feedback, because you help me very much during my learning process. 🙂
Well, after this short but certainly emotive declaration, we’re getting into the matter. Today we’ll learn about refactor. Continue reading “Refactoring: A quick overview”
I’m applying for a job in a frankly interesting company, so I’m reviewing all the good programming practices I was taught and learned during my career. Those are essential for developing good code, however an alarming number of “programmers” don’t really understand them (or actually never heard about them).
This post is the third part of the talk I gave on the WTM and belongs to this root post.
We call pathfinding to the process by which the machine calculates the shortest or fastest path from its position to the position of its target.
Pathfinding sits on the border between Autonomous Movement and Decision Making, because usually we first decide where we want to go, then pathfinder works out how to get there, and finally we move to the goal using a movement control system.
This post is the second part of the talk I gave on the WTM and belongs to this root post.
We say that a machine is making decisions when it processes a set of information to generate an action that it wants to carry out.
In this section we’ll look at two of the most common decision making techniques used for games development: State machines and Behavior trees.
This post is the first part of the talk I gave on the WTM and belongs to this root post.
One of the most fundamental requirements of artificial intelligence is to move characters around in the game sensibly. I mean, how to make a dude move on his own.
At this point we have two options: Steering behaviors and Formations.
And so I tought it would be interesting to write the content of that talk in a post. This will allow me to develop an explanation about what AI is, and at the same time I’ll be able to link my sources and embed the recorded talk and the Prezi. Let’s do this!
Today I’ll write about Pathfinding. Pathfinding is the plotting of the shortest route between two points. Applied to videogames, it is a process through which the AI calculates the most suitable route to get from a starting point to the goal, even across mazes.
gdxAi provides an API for this feature, the (obviously) named Pathfinding API. While steering behaviors were the best option to pursue dynamic targets, pathing is optimized to pursue static targets. Thus, I implemented it on the kitten’s movement towards a waypoint.
As explained in my previous post, I had a problem with the movement of the mob. When the mob was following the kitten, and suddenly encounter a collidable obstacle in the way, he was getting stuck at that obstacle and wasn’t able to pursue the kitten anymore.
I noticed that, after that happened, the ray thrown by the mob was colliding all the time, making impossible for the mob to see the kitten. Hence, the mob was not just colliding with the obstacle, but actually getting inside the obstacle.
Hello everynyan! Was summer vacation long enough? Did you enjoy any relevant videogame or anime series? Please, let me know!
Here, summer was full of great experiences. We organized another meeting with our World of Warcraft guild and it was as funny as always! Also I joined my family for a few days, which is important because they live 500 Km. away from me.
Back to work, I started playing around with the awesome gdxAI, so today I’ll talk about Artificial Intelligence! Doesn’t it sound good? 🙂 Continue reading “Artificial Intelligence I – Arrive behavior”
Hi! It’s been a while since my last post. My live has changed so much! I finally left my dryasdust work at a large IT consulting company, and got another job at a small Dutch company. Dutch people rock! I changed my job, I changed my house, I lived all new kind of experiences in different countries… And I also changed my mind! Now let’s code again!
In this third step I achieve kitten’s movement. I had to dust off my physics and mathematics schoolbooks and used tons of scratch paper where kittens became arrows, numbers and strange Greek symbols. It was kind of bleak until I saw the real kitten romping around through the screen. At that moment I smiled and added six more kittens and light projecting functionality just for fun.
Here’s my first post. I’ve been working on a first simple quest: animate a kitten.
I recommend you to download the code from github before continue reading.
I’ve inserted some links across the post. Some of these links will guide you to external resources. Other links lead to my code.
I will differentiate my links with this color.
It is important that you keep this in mind because it may be difficult to figure out what am I trying to do without reading the related code.
Please, forgive me for using other’s charset on this first steps. I know I will have to start drawing some day, but for the moment I rather focus on software design in order to avoid overwhelming myself.