Posts

Showing posts from March, 2019

White boxing a test environment with ProBuilder

Image
As I stated in my proposal, to white box out a test environment I was going to use ProBuilder as it is a quick and built-in way to model geometry.  I had tested some environments in scenes  Although this came with some issues as I do not have any prior modelling experience I had a few issues while making the initial rooms, the more I used the software and read up information the quicker I was able to complete the models, however I did vastly underestimate the time it would take me to white box a rough test environment. Another issue I had with ProBuilder is that while building my models, especially the first couple I was having issues connecting pieces together in the way I wanted and it appears I was unable to remove the faces and vertices correctly as once I got round to putting colliders on the environment, some of the models where I had placed doorways in had a very messy collider around those locations which could affect the performance of the test level. At present it has n

Redesigning the Behaviour Tree and Blackboard Implementation

Image
My original Behaviour Tree (BT) was not executing correctly with the agents getting stuck within certain states, or unexpectantly skipping over behaviours altogether. This was not ideal, so I set up a meeting with Chris Janes to discuss the issues I was having. After stepping through the code, Chris pointed out that the tree was not resetting the child lists and some other issues. Due to these problems I elected to redesign how the BT is implemented making sure that everything is reset when a node begins and terminates. With the redesign of the BT I was able to spot some design flaws in how the tree was executing the child nodes and priorities of some of the behaviours were incorrect. To rectify this issue, I created a generic conditional check node that can check the states that the guards are currently in and ensure that the flow of control is sent down the correct branch of the tree for the current situation. For example, if a guard is patrolling but the player has been spott

Researching Blackboards

Image
"a[ sic ] blackboard system is composed of three main components: the blackboard, a set of knowledge sources (KSs), and a control mechanism" (Carver and Lesser, 1994) although over the years the blackboard system has evolved and "many times no arbiter is used" (Isla and Bumberg, 1980) where the arbiter is the control system, that (Carver and Lesser, 1994) describes. The blackboard model has proven to be popular for AI problems outside of games artificial intelligence (AI) and within, however, within games AI "blackboards are commonly used with behavior[ sic ] trees"   (Broder, 2014) although they can be used without a behaviour tree.  Blackboards are a place where data can be stored and read by agents within a game world.  Agents can have their own independent blackboard, a global blackboard can be used or both. As mentioned above, blackboards can be used to store data after a calculation.  This can help with performance as it will not need to be calcu

Presentation Feedback

Image
Recently I had to perform a presentation to two of my tutors at the University of Suffolk to give them a progress update on my final project.  To begin the presentation, I spoke about some of the milestones stated in my project proposal that I had completed which was mainly about researching into the various AI techniques, Line of Sight (LoS) and beginning to implement a Behaviour Tree (BT) and some behaviours for my Guard AI. I then gave a rough breakdown into how a BT functions before discussing some issues that I have been having with the project and in my personal life, and how they have affected the timeline of the project leaving the project around two weeks behind the intended schedule.  I then went on to explain the future of the project speaking of what I intend to have implemented by the deadline and what stretch goals I plan on implementing should there be enough time. After the presentation tutors were then given a chance to ask questions around the project, I didn'