An AI AdventureThis week I spent a lot of time thinking about AI, which is essential for replicating the experience of a symetrical multi player game in single player. I feel it is important for the game to succeed in single player first, as a standalone experience or to get the player familiar and comfortable with the game for an eventual foray into multiplayer.
It also allows me to upload a portion of my consciousness to the internet to live on forever in robotic form and win countless games for me.First thing I did to improve the AI is introduce potential damage fields. Each unit in the game produces a field around them in the form of potential damage it can do. AI's unit create a positive field, the human player a negative one. AI units try avoid negative damage fields on the map until their own positive fields cancel it out, because this represents that they will deal less damage than the enemy if they engage them there.
May 26, 2016 This time i try some symbiotic fleet builds and set up my own artificial intelligence (AI) for my fleet. With just my programed AI I go up against the computer's medium difficulty challenge scenarios.
Here is a view of it the game:This is when I realized that it is important for the AI to know when a unit counters another. This is probably the most important thing for determining the success of an engagemnet. I am trying to come up with a system were each unit the player builds, the AI is aware of and builds a unit that can adequately counter it. This poses a particular challenge fo this game, because player units are built out of parts, the player can build a unit that AI never seen before and does not know what to do with.
I have prototyped a system were it runs a mini simulation - a game with in a game - where the players unit is tested against the units the AI has available to them so that it can try to find the best one. Sometimes however, none of it's ships are capable of countering that unit at the same cost. A truly challenging AI might need to have access to as wide an array of units as possible, maybe even every unit ever built.
The other limitation of this system is that it simulates the players actions as if they play like the AI does. This leads to two scenarios, the first is that the player is not actually capable of executing as well as the AI does (which, if we program in perfect kiting and projectile dodging, the player might not actually be able to perform at that level), and the AI misses a counter that would have worked against the player. In the second more likely scenario, the AI fails to control the unit as well as the player would and the AI picks a weaker unit which it only thinks is strong against the other unit because it is, itself, too stupid to use that unit correctly.While researching this I was surprised to find that there is a huge divide between the academic AI that is submitted to a and the actual 'AI' that ships with StarCraft and other RTS.
The 'AI' that ships with most RTS's barely deserves the name, as it is nothing more then a bunch of scripts and prerecorded actions using a finite-state machine. It is not a complex learning AI, nor is it even based on a programmatic understanding of the game mechanics, rather it simply follow a set of rules and triggers that fool the player just enough into thinking it is smart. Coming up with a scripted AI for Istrolid is made slightly more difficult again because there are no strict unit classes or roles, they emerge as a result of the players designs. While we could design in a set of parameters it applies to ships to figure out their roles, counters, and functions, the players might come up with a completely different kind of ship that serves a totally new purpose. On the whole an AI based on scripts, triggers, and rules feels cheap, but some hard coded knowledge of how to react in the game is probably required.
My solution will likely be some hybrid of several kinds of AI.A bunch of AI games were played so that was cool. Ok, I took over 2 hours to review the game.Part of the reason is because this is very closely related to a game I am currently building (where each ship component takes a 'square' slot, which is a very similar concept in your current game).Here is my current assessment of your work so far:- The tutorial's actions are based on clicking on a text box, which is not very intuitive. I could actually skip critical parts of the tutorial by clicking on these text boxes as it seems that the actual events are fired by them as opposed to having an overarching manager that checks for certain conditions to be met. It feels like the tutorials, or its system, was rushed in.For example, I got to 'fight' before capturing even a node in the first tutorial which made is harder than was intended, and did not validate that I understood the capturing concept.- The bottom bar lacks information such as unit cost. I found myself going back to the editor to find that information very often.- The editor is currently very unclear. It took me a serious while to understand how the right part of the screen worked and to eventually figure out the cost of a unit.
There's a lot of data, and it is not strucutred. I would recommend doing a UI pass there (break down the info, as opposed to having it all as a single text box).- The zoom is not granular enough. I always found myself too close or too far to the action. If possible, zooming should also be smooth.- The enemy AI was somewhat dumb. Whenever they were outranged, they would flee, even if I was using glasscannon artillery ships that they could tear through almost effortlessly. Furthermore, they were terribly disloyal to their home base. I had anticipated that all units would regroup to prevent me from overtaking their base, but rather, their sense of self-preservation took over and they went out of my range, allowing me to easily capture their base while they watched a few kilometers away.More importantly though, they often had much better ships than me, but simply could not employ simple tactics.
For example, they had very fast and agile ships with terrific firepower from upclose, but they insisted on rushing me headfirst, falling prey to my artillery. A mere flank would've annihilated my forces. More arc-dodging capabilities would be ideal.- Speaking of artillery: it is overpowered as it stands. Defense grid 2 special edition. Building masses of nearly immobile artillery ships allowed me to beat all tutorials and all scenarios easily, even against ships that had equipped gear specifically made to counter it. As it stands, the game favors weapons platforms (artillery) over actual ships which is a bit peculiar.- The cost of option of wider arcs is currently too small. I rarely found myself using anything below 180 degrees because, though it costed me more, the small different there did not change much in the greater scheme of things (especially since I could more easily dodge missiles while returning file).- Controls were a bit clunky, and I found myself missing the key option to select my facing after performing a maneuver by holding the mouseclick and dragging in a direction.
It seems that, instead, I was setting multiple waypoints which I'm not sure worked all that well.- The FPS count marker appears to be faulty: artillery specifically created massive lag on my end, but the display was still saying 400 fps. I'm guessing the graphical output was refreshing normally but that the actual processing speed was reduced 'server-side' making the game itself lag, not the render.- I also found myself a bit disappointed that there was no concept of component integrity. Given that each component occupied a physical space on the ship, I felt it would have been easy and interesting to have specific damaged components breakdown and affect the ship accordingly, such as going headstrong and losing all weapons to the enemy's front firing arc, or having to deal with pests that strike from the rear and destroy all thrusting capabilities (making the ship almost useless).All in all, a distinct good start, but it is still missing a lot.What tech are you using for this? And what is your objective? Hey Orymus3Thank you for taking the time to review my game. It means a lot to me!
What game are you building do you have a link? It seems there are many people thinking about such part building games, and I have collected those people in my irc channel #istrolid on freenode, stop by when you have a chance.You are right about the tutorials. They feel rushed because they are basically bolted onto a multiplayer game. I need to spend more time here. I tried to go with everything is “optional” type of thing but then saw that it does not work and kind of ended up with a mess were some things were optional others were not. I should make it more rigid - do this - this happens. Nothing optional nothing can move forward while objective is not complete.Yes I have gotten from other players that bottom bar needs to be better.
I think I will take this up next. This kind of ties into the editor, and its also very WIP at the moment. I do need to do a UI pass on both of those things soon. This effects the multiplayer side of the game - which is where my passion and most work have been done.The zooming problem is odd. And might be a browser limitation. Touch pads give me very accurate information while mouse wheels do not.
Also firefox and chrome give me different values and I have to adjust. Did you try Chrome or Firefox?I have been pouring my time into the AI and its going slow. I have fixed the “disloyal” part, once AI feels like its loosing the game it goes “all-in”. The projectile avoiding is still some thing I need to work on. As well as better analysis of your forces and countering it with say massive PD spam vs missile and artillery.
Artillery and even more so missiles are overpowered vs AI right now because it too stupid to dodge or counter it.The arcs matter a lot more with fighters. Microing fighters of different arcs is actually quite fun in multiplayer. But you are right there is little definitions between arcs and some engiens. It needs to be improved.As for the mouse dragging “waypoints” you where drawing a formation. It actually comes pretty handy, but I need to make better visual feadback maybe and will make a tutorial explaining how it works if visual feedback alone is not enough.Sounds like there is a bug with FPS counter.
Mass artillery does slow things down. But every single player game - the one you were probably playing runs locally. Its probably just a bug in FPS counter.The “component integrity” was some thing I decided early on not to be a thing. It would make for a different game, more focused around putting armor around your ship etc Managing “damaged” ships and being more unpredicable. I could also have physicaly simulated thrusters and a way to draw and route power conduits. But it was not a game I wanted to make. Having units be “whole” till their death is some thing I want.Thank you for the kind words.
Every little bit of feedback motivates me to work on the game. I am curios what you would think about the multiplayer aspect of the game. It is a totally different game when playing vs humans. Far more interesting game.I am using just plain browser and webGL. Coded in a languages called CoffeeScript that compiles to JS. Server side is also written in coffee script and run on node.js.My objective is to finish this game and grow the multiplayer community around it. I want to game to be free.
My goal is to get as many players playing the game as possible. What game are you building do you have a link?It is a spinoff of a project that has been recently made defunct.The concept of modular ship-building has been prevalent in my designs for over 3 years now, so I'd say I still have 3 ongoing ideas that ressemble your project, but one specifically that is very similar albeit turn-based.my irc channel #istrolid on freenode, stop by when you have a chance.I wish I had the time for casual IRC chats.You are right about the tutorials. They feel rushed because they are basically bolted onto a multiplayer game. I need to spend more time here. I tried to go with everything is “optional” type of thing but then saw that it does not work and kind of ended up with a mess were some things were optional others were not. I should make it more rigid - do this - this happens.
On this game portal, you can download the game Tiger Woods PGA Tour 08 free torrent. The full game Tiger Woods PGA Tour 08 was developed in 2007 in the Sports genre by the developer EA Tiburon for the platform Windows (PC). At the moment latest version: Full Game, rating: rate. Tiger woods pga tour 07 pc download free. Tiger Woods PGA Tour 08 for PC – Tiger Woods PGA Tour 08 is a Games apps that you can running into your Windows PC. This demo app was developed by Electronic Arts Inc. And now, updated to the latest version at This year. So, what are you waiting for?
Nothing optional nothing can move forward while objective is not complete.I know the feeling. It IS the good way to start though: have the game 'host a match' even for single player games saves you a lot of time down the road, but it is much harder to reclaim authority over the server for something like a tutorial. Most games I've 'fake the game' locally for tutorials, but it involves a lot of repeated code which is unclean.Yes I have gotten from other players that bottom bar needs to be better. I think I will take this up next.
This kind of ties into the editor, and its also very WIP at the moment. I do need to do a UI pass on both of those things soon.
This effects the multiplayer side of the game - which is where my passion and most work have been done.I know a person if you're willing to hire. She's terrific.The zooming problem is odd.
And might be a browser limitation. Touch pads give me very accurate information while mouse wheels do not.
Also firefox and chrome give me different values and I have to adjust. Did you try Chrome or Firefox?Was on chrome, but there are ways to circumvent that.
Maybe you can 'trick' the input management and turn it into some form of boolean check that zooms in by 'one unit' everytime it scrolls up?The arcs matter a lot more with fighters. Microing fighters of different arcs is actually quite fun in multiplayer. But you are right there is little definitions between arcs and some engiens.
It needs to be improved.I didn't have another player next to me to try the multiplayer aspect of the game. Is there currently a means to test it online? Would love to try it out with you if anything:PThe “component integrity” was some thing I decided early on not to be a thing. It would make for a different game, more focused around putting armor around your ship etc Managing “damaged” ships and being more unpredicable. I could also have physicaly simulated thrusters and a way to draw and route power conduits. But it was not a game I wanted to make.
Having units be “whole” till their death is some thing I want.Thanks! You're leaving some room there;)My objective is to finish this game and grow the multiplayer community around it. I want to game to be free. My goal is to get as many players playing the game as possible.Good luck with that!