Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Archean Games

Pages: [1] 2
1
Quote
Your players will usually have a set expectation of how an enemy in your should generally act. And while subverting those expectations can lead to interesting challenges you run the risk making your AI look random and buggy.

I especially liked this quote as a piece of design philosophy - the idea that AIs, to be taken seriously for story purposes, need not just to act rationally but to act according to a rationale that we can conceive of as human. It's something I tried to do when I did AI writing way back when (I failed miserably though mostly because I'm crap at optimising things so my AI ended up slowing the whole game down and breaking everything :( )

Also, a couple of thoughts:
> Sometime might you be interested in doing do a piece on design stuff for our main articles section? You've got a good writing style for it - it'd need to be maybe a bit more general design-philosophy or focusing on how to implement a particular thing, though you'd still be welcome to plug the project in there somewhere.
> Would you like a subforum for all your threads? I can gather them into one for you quite happily.

It is a lesson we had to learn the hard way.
I'd be happy to write an article for the site but will need some help coming up with a topic. Also, I don't think we're that special to have sub-forum just for our dev blogs. And to be honest they'll probably get more views if we leave them here. Thanks for the offer though.

2
In my last article https://archeangames.itch.io/heralds-of-the-order/devlog/97239/our-take-on-grid-based-tactics-ai-overview, I wrote a general overview of our games AI, namely the main systems that made it tick. The plan was to take an in-depth dive into each of those systems in the following weeks. But reading some of the replies to that article I realized I hadn’t given much context to justify my gibberish. So before I get too bogged down in the "How?" I thought I should take some time and explain the "Why?". After all, this was supposed to be a general ideas box for struggling devs, as such the why is half the battle. And so in this article, I’ll look at the general design philosophy and the important questions that led us to all the systems we’ll be discussing.



What game are you making?

The first and probably most important question. Sorry if I’m stating the obvious but a first-person shooter isn’t going to have the same AI as a grand strategy game. The type of game your making is going to have a profound effect on the AI you need. Do you want its moves fast and efficient or do you want it to have a master plan tailored for every outcome? Will it be making its calculation one every turn or once every frame? In our case, we have a turn-based strategy. Since the calculations needed can be done in a relatively long span of time we could afford to factor in as much information as we wanted in the computers decision making. On the other hand, we didn’t want to let our AI’s crazy schemes run wild. We needed a way to be able to tailor its master plan ourselves, depending on the challenge we wanted to present each mission.


What kind of enemies do you want to have?

There are several different approaches to enemy design in every genre of game. Will you have weak mobs that try to overwhelm the player with numbers or do you have enemies that are just about as strong as the player? Is your AI just a simple agent orientating its way around the world or is it an omnipotent being which knows more about the game mechanics than even the developers? In Heralds of the order https://archeangames.itch.io/heralds-of-the-order, we wanted both the player and enemy teams to be made out of fairly simple but also fairly numerous units. We also wanted all the variable to be there to see for both sides, making it easy for them to make the most advantages decision in every scenario.


Is it fun?

The most important question for every game developer. It applies to every single aspect of your game from the level one sewer rats to the compulsory cooking mini-game. And it can be a so easily overlooked when you’re three months into programing your eighty-layer neural network. Always remember that you’re an entertainer not an academic. Your trying to engage an audience not win a noble peace prize. Think of your AI as a puzzle. You don’t want its solution to be glaringly obvious at first glance. But you do want it to have a solution and one you can reasonably expect an average player to find. A good example of what not to do is the first version of our AI. Having all the available information and the freedom to use it as it saw fit, it decides that the best strategy run from the approaching player and stack all of its units at the end of the level all around the boss. Yeah, it was probably the best strategy it could have concocted. It was also a horrible chore to fight against. Furthermore, if our game was going to be about 2 team grouping up and slamming into each other, why did waste so much time on a fancy level editor. This computer obviously couldn’t be trusted with this much freedom.


How smart does it look?

Another thing that we found from the playtesting the first AI is that even though it had one of the best strategies in mind. Most players we showed our game too felt as if they were fighting a random number generator. To them, it seemed to be acting irrational. Your players will usually have a set expectation of how an enemy in your should generally act. And while subverting those expectations can lead to interesting challenges you run the risk making your AI look random and buggy. Even when you don't want your player to know what decision your AI is going to make, why it's making those decisions should always be visible. If a part of your game feels buggy  than it might as well be. Making your AI look smart is usually easier that actually making it smart and in most cases thats as importaint or even more so.


The bumbling to come

With that out of the way, from next time onwards I'll be getting down and dirty in the programming trenches of our game. We're reaching an important milestone in our development. The first chapter of our game(6 story missions) is almost done. We'll be releasing it for free by the end of September. We hope that this will help us generate a large enough following to justify the work needed to finish the rest of our game. If not we'll just have to leave it as a passion project sacrificed at the altar of real life.

If you'd like to know how we got here, check out our first blog https://archeangames.itch.io/heralds-of-the-order/devlog/47578/our-journey-with-heralds-of-the-order, summarizing our journey so far. if you would like to see this game finished consider signing up to our mailing list http://eepurl.com/dEgLZ9, to let us know you're interested in our work. You can play the current version of our DEMO https://archeangames.itch.io/heralds-of-the-order to tie you over until the new one is finished. And consider filling out this survey https://docs.google.com/forms/d/e/1FAIpQLSfW3mQLUFVojr2wJS2e-zptNxlovT9wRQdrJhVIGGviymzVSQ/viewform?usp=sf_link to let us know what you thought. As always if you want to see more from us visit our website http://heraldsoftheorder.com/ or our social media pages: Twitter https://twitter.com/ArcheanGames, Facebook https://www.facebook.com/ArcheanGames, Instagram https://www.instagram.com/archeangames/.


3
It's probably because they can get too big to manage when it comes to more complicated behaviours. If you're using them for moment to moment decision making you can easily end up with thousands of branches. That makes them both heavy on the memory but also a bit slow for comfort. It's not that much of an issue for turn-based games, but it's pretty much unfeasible for real-time games where it has to be traversed every frame.
Most programmers also have this quirk where they forsake everything they know as ancient ju-ju magick the second something new and shiny comes along.

4
Well, it's been a long time since I last wrote one of these and since we're approaching a big landmark in our games development( more on that later) I thought I'd write something that people actually find useful for a change. So in the next couple of weeks, I'll be going over our games AI- the general concepts that make it tick as well as how we adapted those concepts to fit our needs. In this first part, I provide a general overview of all the systems in place. I'll go over each of those systems in depth. Since no two games are the same, this won't be a step by step guide on how to achieve the same results as us. It's more of a showcase of general ideas and approaches when designing game AI. The ideas I discuss can be applied to most games, but I'll be focusing on how we used them in our turn-based tactics game Herald of The Order. As a quick disclaimer I am neither an AI expert, nor am I an expert programmer, so nothing I say here will have much academic backing. I'm just sharing the solutions our team found useful in the hope of at least giving you a good starting point for projects of your own.

Utility AI
The main concept behind our games AI is something called utility theory. In layman's terms, it's the idea that every action a unit can take in the game can be graded with a normalized factor between 0 and 1 and different multipliers can be added to these factors to incentives certain behaviours. If you want a more professional explanation, I highly recommend checking out the works of Dave Mark. He is the author of "Behavioral Mathematics for Game AI". And has several great talks on the subject of utility theory in game AI in the GDC Vault. In our game, a unit can move, use an ability or end its turn. Each of these actions has several considerations, that factor into them. The most important of them is the danger map.



Influence Maps
The main idea of the influence map is that every unit has a zone of influence around them. This influence can be given a numeric value which is positive for members of its team and negative for members of the opposite team. These values overlap giving each position on the map a favorability factor. Using this map your AI can know which positions it's safer to be in and use that knowledge in all of its decisions. You can find a far more in-depth look on the subject around the web, but here's one article I found particularly useful: http://gameschoolgems.blogspot.com/2009/12/influence-maps-i.html



Behaviours
Behaviours are what we used to tell our AI how to use the information it has. They took all the factors for a given decision and added multipliers to them depending on how we wanted the unit to act in a given situation. We have simple ones which simply use a list of preset values and more advanced ones which calculate factors of their own for when we want to add another layer of logic to the actions of a unit, such as patrolling around a certain position or moving towards the player. We also wanted the AI to be able to adjust its behaviour according to the player's actions and so we needed a blast from game programming past.



Behaviour Trees
Although they're considered outdated, and they are outdated when it comes to low-level decision making. Behaviour trees are still a useful tool for controlling the AI's overall strategy. In our case, the AI goes down a tree of conditions at the start of each turn. Some examples of these conditions are: "Am I being attacked?" or "Is there an enemy in range?". Depending on if a condition is met or not the tree branches off. A branch can either be another condition, in which case it keeps going further down the tree, or a behaviour, in which case it knows how it has to act during this turn.



The bumbling to come
That does it for the mile-high view. In the next couple of weeks, I'll take a more in-depth look at all the different parts discussed above. As I mentioned, in the beginning, we're reaching an important milestone in our games development. The first chapter of our game(6 story missions) is almost done. We'll be releasing it for free by the end of September. We hope that this will help us generate a large enough following to justify the work needed to finish the rest of our game. If not we'll just have to leave it as a passion project sacrificed at the altar of real life.

If you'd like to know how we got here, check out our first blog, summarizing our journey so far. if you would like to see this game finished consider signing up to our mailing list, to let us know you're interested in our work. You can play the current version of our DEMO to tie you over until the new one is finished. And consider filling out this survey to let us know what you thought. As always if you want to see more from us visit our website or our social media pages: Twitter, Facebook, Instagram.


5
I would like to discuss these matters with you. I think it's useful in the future.
Hi, sorry I didn't respond sooner, but what would you like to discus?
Sorry to disappoint you, Archean Games: Descoperat is a spambot (though not a very effective one), and I should have deleted that post.

Yeah it did look sort of suspicious but thought I'd reply just in case. Thanks for clearing that up!

6
It all started with a simple Idea. "If we record our selves waving sticks around, I can make the animations easier." So said our artist. We watched videos of other studios doing it, it seemed simple enough. So why not, lets give it a shot.




Where though?


Well our game's perspective is a little on the weird side, neither top-down, nor side-scroller. I think you can call it isometric but I'm not sure if it's completely that either. So we can't just record our selves from a park bench. We needed some elevation.  We considered using a tree but neither one of us was athletic enough to be trusted climbing a tree with an expensive camera(my phone). Maybe find a park with a jungle gym. Well considering we're all adults, we didn't fancy the idea of being seen in public, on a children's playground, climbing a jungle gym to record our selves waving sticks around. If there isn't a law against that, humanity is beyond salvation.  Well our only remaining options were to film in the parking lot of one of our apartment buildings or in my parents yard. In this story we went for the second option.\

The set up



If the DIY abomination above has you confused. It's essentially a craved out beauty cream box, duck-tapped to a pipe, with another smaller beauty cream box inside to correct the angle my phone was in. We also had a cardboard square duck-tapped to the ground to represent an element from our game's grid. We controlled the recording process on my laptop trough team viewer, using the dying slivers of Wi-Fi that reached my yard.

The stick waving


Now that we were all set, all we had left was to find some sticks to wave around. A near by broom handle did the trick. Finding a shield was trickier. First we tried whit the upper half of a table, that turned out to be a bit on the heavy side. Next we tried a plastic bin cover, but that was awkward to hold on to, much less wave around. In the end we attached a cardboard cut out to our shield hand, with duck tape of course. It was at this point our artist said:"You know what this is going to look much cooler if we put some capes on." Fair enough even though it was bloody hot. So we found some sheets and tied them over our shoulders. "I think we need more." If you says so. We found more sheets and tried the around our belts. "MORE CAPES!" So we found even more sheets and tied them to our feet. "Make the capes flap more!"... "OK, do that again but don't fall this time." In the end he settled for having just one cape.

https://img.itch.zone/aW1nLzE1MDY1NzEucG5n/original/3BJgHv.png\


The result


After all that, an entire day of waving sticks around, one more day of editing footage and yet another day of looking at tutorials of how rotoscoping works(since it turned out neither of us actually knew).  We realized that we were filming in a wrong angle and all of that was pointless... All well back to the drawing board.

In the end it turned out that the apartment building option was better.



Well at least we're finally on track an producing results.



The bumbling to come


If you'd like to know how we got here, check out our first blog (https://exilian.co.uk/forum/index.php?topic=5836.0), summarizing our journey so far.In the next few weeks we're going to try to get 2 or 3 more levels out and packed into an extended demo.  We have a mailing list you can subscribe to http://eepurl.com/dEgLZ9. You can play the current version of our at https://archeangames.itch.io/heralds-of-the-order. And consider filling out this survey to let us know what you thought https://docs.google.com/forms/d/e/1FAIpQLSfW3mQLUFVojr2wJS2e-zptNxlovT9wRQdrJhVIGGviymzVSQ/viewform?usp=sf_link. As always if you want to see more from us visit our website (http://heraldsoftheorder.com/)  or our social media pages: https://twitter.com/ArcheanGameshttps://www.facebook.com/ArcheanGameshttps://www.instagram.com/archeangames/, https://gab.ai/ArcheanGames.

7
I would like to discuss these matters with you. I think it's useful in the future.
Hi, sorry I didn't respond sooner, but what would you like to discus?

8
Yeah, that's a sensible start point - do post more of your devlog stuff if you get a chance, too, I enjoyed the last one. :)

Will do! Glad you liked it!

9
I've still been having quick runs on this on occasion - it's the sort of game where a random map/quick battle option could be really neat in addition to the main campaign, as a "short break from work" game experience. :) Hope to see more soon!

Hm, that might be fun. We'll see if we can add something of the sort. Now we're focusing on getting the first 6 story missions of the game out.

10
Hi! I'm Pavel from Archean Games. We're a small team of mostly students based in and around the city of Plovdiv, Bulgaria. With the launch of our first DEMO
 https://gamejolt.com/games/herald-of-the-order/366356 I decided to leave a record of our misadventures, so if nothing else comes of our game at least future historians have something to laugh at. The fist installment of our devlog I thought I'd give a quick summary of where we started, where we are now and the bumbling frenzy that got us here.

Where we started
We've wanted to make games ever since we were in high-school. With that goal in mind we started learning the basics like programming, working with various engines like Unity, participating in local game jams and working on several game projects which will never see the light of day, at least not if we can help it. As our second year of university started looming over the horizon we were hit by a horrendous realization: "We're gonna have to find a real job soon!". With that macabre threat over our heads it was obvious that we were missing our last chance at this indie game shtick. "We'll just have to make a game before it's too late then." OK smart ass! What game!? And so the headaches began. After some deliberations we decided we wanted to emulate the turn based strategies of old, where you have more units than you know what to do with and the levels are more than a flat plane with a pretty back drop. So it was settled. We had our concept.



Commence the bumbling
In the first several weeks there was an unpleasant possibility that we would have to do a large part of our project without an artist. He could probably lay some ground work and give us some concepts we could build on, some pretty good ones if you ask me.



But we we're still faced with the gruesome fact that most of our game would probably consist of the aesthetic abomination which is programmer made pixel art. Fortunately for us, maybe not so much for him(depending on how things go), he did stay with us and we could instead make a game with the more aesthetically pleasing option which is hand drawn line art.



And since that was settled we actually had to start the "making" part. Well we knew we wanted to make a turn based strategy game but that's a pretty broad term there was so much you could stack on top of that, or so we said. As the weeks went by we started work on the core features we knew our game would have for sure and thought we'd work out the bells and whistles "next week".

 This went on for about six mounts. We experimented with resource management, equipment crafting, match three mini-games and several more gimmicks, all of which were "put on the fridge for later". In the end we decided to keep it simpler, making games was fun and all but we didn't want to be making the same game all the way up to retirement. And so we focused on the basics, positioning, unit to unit interactions and counter play, we even threw in global player abilities, or God Powers, to spice tings up a notch, but only a notch.

Where we are now
Well after almost a year of headaches, with varying degrees of severity. We finally have a DEMO https://gamejolt.com/games/herald-of-the-order/366356 to show for it all.  You could say that we're in late alpha. Most of our features are implemented  and a lot of our levels have been pretty much built. All that's left is fleshing out our story, maybe programming some cut scenes, and replacing all the place holder doodles with actual art. Considering we only have one artist that may take longer than we thought.
 In the next several weeks I'll go into more details about each of our individual bumbles in a desperate attempt to bide my time until we finish the game. If you're interested in hearing more you can sign up to our mailing list http://eepurl.com/dEgLZ9 and we'll send our heralds directly to your inbox, along with some free treats in the following monts. Or if you have a passing affection for us you can pay our social media pages a visit: Twitter https://twitter.com/ArcheanGames , Facebook https://www.facebook.com/ArcheanGames , Instagram https://www.instagram.com/archeangames/ , GAB, https://gab.ai/ArcheanGames. Don't forget to check out our DEMO https://gamejolt.com/games/herald-of-the-order/366356 , it's free so what do you have to lose, and consider filling out this survey https://goo.gl/forms/rrEF5Pwk2pRw8Vom1 to let us know what you thought.

Next week I’ll give a detailed account of our first rotoscoping misadventure. Here’s a small teaser:



11
I played this and filled out the survey. The resistance levels are unintuitive it has to be said, usually gold would be best, silver middle and bronze weak. There are great reasons to break conventions but not all the time :)


We've been wondering about those icons for a while now. The problem is that the player will usually see them when he's considering who to attack and in that case gold means the best option, which is the target with the weakest defence. In the end, we decided that both options would be confusing to some people so we left it as is in the hope that it would be easy to get used to.

12
Aha, OK, got it :) is there any underlying logic to which attacks and vulnerabilities are alpha/beta/gamma in type, or is it just varied according to gameplay need?

They pretty much vary according to gameplay need. Most units have too attack types and there resistance levels match the attack types they have (e.g. if a unit has an alpha ability and a gamma ability, it will have a strong defence against alpha, a mediun defence against gamma and no defence against beta). The names alpha,beta, gamma are still just placeholders.

13
Ah, OK :)

Ooh, a further question - what are the symbols that appear over unit's heads (the yellow symbolic circles/triangles/squares)? I've not worked out those yet either.

They display a units resistance levels: Grey means the unit has a high resistance against the damage type, bronze means that the unit has a medium level of defence and yellow means the unit is weak to that element.

14
OK, I've had a couple more games and I can now get the win reasonably easily now I've worked out how to manage energy better and use the god power properly.

There seem to be some occasions where I get to make multiple attacks (as in, I make the attack, and then the red marker for the attack is still showing and I can do it a second time), though usually I can only make one, and I can't work out when multiple attacks is triggered - is this a bug or a feature?

Also I just checked the windowed mode - it has part of the UI cut off at the bottom for me.

The double attack thing is a bug. We'll look into it thanks!

15
Just got my response submitted :) I enjoyed the demo, completed the mission after three tries - I do like this sort of tactical combat game. I wasn't sure what the yellow power bars were really doing or what used them up which didn't help I suspect.

Also, welcome to Exilian! If you need anything or if we can be any help just give me a shout, I'm the current chair/head admin and executive officer of the site :)

Hi! Thank you for taking the time to give us feedback. The yellow bar is the units energy and determines the turn order. The unit whoes bar fills up first is the that get the turn. It's used up when a unit ends their turn and actions taken taken during the turn, like how far did the unit move or did the unit attack, determine how much of it get's used up.

And thank you for the warm welcome! I'll be sure to contact you if there's something we need.

Pages: [1] 2