Author Archives: Oscar Eriksson
Keeping the distance
There has been a long weekend but I have implemented a distance check. This will also be the firing range later on. It was really simple. It is an new integer member of tank’s base class Agent. I call it distanceUnits. I just assign it the number two for now. When I search the path from the behavior tree, I also fill the tank’s path list. The path finding algorithm fills its own path list by adding the goal node and […]
Keeping the distance
There has been a long weekend but I have implemented a distance check. This will also be the firing range later on. It was really simple. It is an new integer member of tank’s base class Agent. I call it distanceUnits. I just assign it the number two for now. When I search the path from the behavior tree, I also fill the tank’s path list. The path finding algorithm fills its own path list by adding the goal node and […]
What next?
As the title suggests, I am not sure what to do next. Let me try to see what I want to have.
three different characters for each team. They are a tank, a long range shooter and a close combat unit.
Tank moves slowly and has a lot of hp. Fires slowly but powerfully.
The long range shooter fires from a long distance, powerful shots and low hp.
The close combat unit moves quickly, hits hard and has more hp than the long range […]
What next?
As the title suggests, I am not sure what to do next. Let me try to see what I want to have.
three different characters for each team. They are a tank, a long range shooter and a close combat unit.
Tank moves slowly and has a lot of hp. Fires slowly but powerfully.
The long range shooter fires from a long distance, powerful shots and low hp.
The close combat unit moves quickly, hits hard and has more hp than the long range […]
Multiple Tanks
I’ve got the two tanks now. One is a member of team green and the other is a member of team red. They both walk to different locations and both use the same BT.
There where a few problems but nothing extreme. The following picture will be the last picture of the game world with the nodes drawn. I add this picture as a demonstration of my success in adding another entity and have it use the BT itself.
The picture above […]
Multiple Tanks
I’ve got the two tanks now. One is a member of team green and the other is a member of team red. They both walk to different locations and both use the same BT.
There where a few problems but nothing extreme. The following picture will be the last picture of the game world with the nodes drawn. I add this picture as a demonstration of my success in adding another entity and have it use the BT itself.
The picture above […]
Next step
Ok so I have the first BT. To remind you: Check the agent’s arrived at base status. if false the node SUCCEEDS. Yes, simply because if it would return failure or running, the sequence would fail. Then check to see if the base is on a tile which is walkable. Next node in the sequence is finding the closest path to the base AND makes the tank go there.
I do not know if I should split that up, it is […]
Next step
Ok so I have the first BT. To remind you: Check the agent’s arrived at base status. if false the node SUCCEEDS. Yes, simply because if it would return failure or running, the sequence would fail. Then check to see if the base is on a tile which is walkable. Next node in the sequence is finding the closest path to the base AND makes the tank go there.
I do not know if I should split that up, it is […]
#include from hell ( BTSK )
Update:
I have come back from a few days (5-8 h/day) of chasing the root #include of the infamous circular dependency loop. I am shaken but my morale is high.
I had a wonderful idea; I was going to make a “BlackBoard” class. It was supposed to have the ability to collect data and enable the path finding alghoritm…
Before I dig into the idea I need to give you a little backstory; I have a class made up in a hurry only […]
#include from hell ( BTSK )
Update:
I have come back from a few days (5-8 h/day) of chasing the root #include of the infamous circular dependency loop. I am shaken but my morale is high.
I had a wonderful idea; I was going to make a “BlackBoard” class. It was supposed to have the ability to collect data and enable the path finding alghoritm…
Before I dig into the idea I need to give you a little backstory; I have a class made up in a hurry only […]
Reflections about the research done so far
https://github.com/aigamedev/btsk
There is a book, Game AI Pro, in which one chapter explains and creates the code found in the link above. It is the Behavior Tree Starter Kit (BTSK). The book explains the difference between behavior and actions. Behaviors are the set of logical expressions deciding what the AI does, in other words; what action it takes. An even more formal description is that Behaviors are the nodes in the tree who are parents. The leaf nodes either checks the status of […]
Reflections about the research done so far
https://github.com/aigamedev/btsk
There is a book, Game AI Pro, in which one chapter explains and creates the code found in the link above. It is the Behavior Tree Starter Kit (BTSK). The book explains the difference between behavior and actions. Behaviors are the set of logical expressions deciding what the AI does, in other words; what action it takes. An even more formal description is that Behaviors are the nodes in the tree who are parents. The leaf nodes either checks the status of […]
Planning a BT
I have been away from blogging and making games for almost a year now. I had a lot of things going on at the same time since my education in game design and programming. But I have kept contact with some class mates and a few months ago (January 2017) I was inspired by Force Arena, a fast paced mmo rts – game (Massively Multiplayer Online Real Time Strategy). You play a hero who can move, attack and strategically place […]
Planning a BT
I have been away from blogging and making games for almost a year now. I had a lot of things going on at the same time since my education in game design and programming. But I have kept contact with some class mates and a few months ago (January 2017) I was inspired by Force Arena, a fast paced mmo rts – game (Massively Multiplayer Online Real Time Strategy). You play a hero who can move, attack and strategically place […]
Week 3 Naar Big Game Project
the third week of the project was going as planned, almost. What I did was to add the spells for the boss to the spell UML. This UML is now more of list of spells loosely indicating how they can be connected rather than an absolute and definite spell setup. This is because of a newly acquired feature of the UE4. A spell system. This system is dedicated to make custom spells within the engine and can make almost all […]
Week 3 Naar Big Game Project
the third week of the project was going as planned, almost. What I did was to add the spells for the boss to the spell UML. This UML is now more of list of spells loosely indicating how they can be connected rather than an absolute and definite spell setup. This is because of a newly acquired feature of the UE4. A spell system. This system is dedicated to make custom spells within the engine and can make almost all […]
Big Game Project
I am in week 2 of the production of our game Naar. It is a roleplaying game set in an oriental fantasy world. You play as Mokhtar, a djinn who set out to defeat an evil demon Iblis. The main feature of the game is spell casting and combining spells to create new spells. In this production I took on the role as lead programmer, which means I have to overlook the programming, plan code structure and if necessary, delegate […]
Big Game Project
I am in week 2 of the production of our game Naar. It is a roleplaying game set in an oriental fantasy world. You play as Mokhtar, a djinn who set out to defeat an evil demon Iblis. The main feature of the game is spell casting and combining spells to create new spells. In this production I took on the role as lead programmer, which means I have to overlook the programming, plan code structure and if necessary, delegate […]
Assignment part one, part two
Binary Search Tree
I’m doing the rest of part one of the assignment today, the binary search tree.
In my recent post I explained my linked list and what a binary search tree is. I’ll just link the wikipedia link to a binary search tree here if you want to read about them before I explain how I made mine.Binary Search Tree
It is a template class with T as the template type meaning basically […]
Assignment part one, part two
Binary Search Tree
I’m doing the rest of part one of the assignment today, the binary search tree.
In my recent post I explained my linked list and what a binary search tree is. I’ll just link the wikipedia link to a binary search tree here if you want to read about them before I explain how I made mine.Binary Search Tree
It is a template class with T as the template type meaning basically […]
Assignment part one, part two
Binary Search Tree
I’m doing the rest of part one of the assignment today, the binary search tree.
In my recent post I explained my linked list and what a binary search tree is. I’ll just link the wikipedia link to a binary search tree here if you want to read about them before I explain how I made mine.Binary Search Tree
It is a template class with T as the template type meaning basically […]
Assignment part one, part two
Binary Search Tree
I’m doing the rest of part one of the assignment today, the binary search tree.
In my recent post I explained my linked list and what a binary search tree is. I’ll just link the wikipedia link to a binary search tree here if you want to read about them before I explain how I made mine.Binary Search Tree
It is a template class with T as the template type meaning basically […]
Game Programming III
I have just taken a new course, Game Programming III.
There is one major assignment which is divided into three steps. The first part is to construct the most common data structures used in programming, a linked list and a binary search tree. Both are used to store data. The linked list is a list of objects containing data, called nodes. The nodes are linked to each other forming a kind of chain of nodes. The binary search tree is similar, but […]
Game Programming III
I have just taken a new course, Game Programming III.
There is one major assignment which is divided into three steps. The first part is to construct the most common data structures used in programming, a linked list and a binary search tree. Both are used to store data. The linked list is a list of objects containing data, called nodes. The nodes are linked to each other forming a kind of chain of nodes. The binary search tree is similar, but […]