Showing posts with label Y2 Research Project. Show all posts
Showing posts with label Y2 Research Project. Show all posts

Friday, November 11, 2011

Presentation finished, Demo - nearly!

Okay, Presentation is done - read it here:


Demo's showing off most of what I need, but can still be improved in a few ways!
Off to Melb soon!

Friday, October 28, 2011

Research Project Update

I have been working on my Research Project more and more recently - though with job applications and Clo wrapping up it's been hard.

I have started writing up my final presentation and once it's done, and I know exactly what I want to show with my project - I will start really focusing my project towards that. Not to say that I'm going to be delaying work on the project in favour of the presentation.

Topics I want to cover in my Presentation:

Behaviour Trees vs. Scripting
Pros and Cons of BTs
Creating tools to aid the creation of BTs. (Tool Investment vs. Ease of Use)
Optimising BTs (esp. with multiple entities using the same BT)
Interesting BT uses. (Genetic BTs)
Conclusion

So yeah, going through and writing that now!

Sunday, September 18, 2011

Research Project Update

Hey guys, update on my research project.

I had a big break from it - mainly because I was focusing on the group project (too much, perhaps) - but, it has come to the time when I should have started really digging in a month ago, so I'm still, as always, behind.

I started looking over my project again about 2 weeks ago - looking at areas where I could improve, and the implementation I have now is not very good.
The choices that leaders and people seem to make almost seem random because of the ridiculous number of factors I've implemented (usually only affecting one-off choices too...) - and so it doesn't really seem like there's much AI at all - there's no cohesion.

Similarly, many interactions within the game don't make sense, for example, when a natural disaster strikes, it cuts off Tech Trees at a random point in the city's investment - wiping out not only say, road infrastructure that makes sense, but... also potentially the civilisation's knowledge of making musical instruments.

Similarly the code is starting to get bloated with poor planning and one-off variables and functions that don't do much. It's getting hard to expand upon.

So I guess what I'm trying to say is that my current project is stupid because I rushed in, just trying to get the programming done - rather than properly designing the system and the data/choice interactions... which frankly, if you're coding AI - seems really obvious. My bad.

So, I'm going to be redesigning my AI system from the group up - paying particular attention to all the relationships and the effects of choices like I should have been. Similarly, I will design my rulesets now as well, ensuring that every variable in each AI entity has a significant purpose. If I want to code in intricacies, I can do that when I'm done.

Similarly I'm thinking of coding a program to create Behavioural Trees. For example, a simple drag and drop interface and such. While this might be a risky detour, it could potentially benefit me a lot in the long run.

So, see how that goes!

Monday, June 20, 2011

Still behind on my research task.

Okay, it's been another month, and I'm still implementing the core framework for my research task.
I can't say I'm proud of that.

That said, I'm really starting to make progress - I've started working (as in, occupation) less, so I have more days free to program, and my progress is much faster than what it was a month ago when I was working 3 days a week, at AIE another 3, and I just wanted to have fun on the last day.

The progress I'm making on the task is also becoming more and more fun, so, I'm enjoying the programming more than when I was just starting out.

So, hopefully it's full steam ahead from here.

Friday, May 20, 2011

Update on Programming Research Task

I haven't started implementing much of the framework for my research task, which is a problem since I did plan to have it done for the 25th (4 days).
So, I'm a little behind.

What I have done however, is implemented A* - which will be useful for Tree navigation, and I've started researching heuristics for specifically trying to take into account how likely it is for a research to lead to other research paths down the track.

So, if a political goal was researching C, and further down the line they wanted to also research D - they might take research A, which leads to both - rather than B which reaches C quicker, but now not lead to D.

I am programming this task in C# - because it is extremely quick to get off the ground. I already have a simple GUI going, with inputs.
The only issue is that it is slower than C++ - so, my efficiency calculations will have to consider this. It is possible that as C# and C++ are pretty similar, I could try to quickly port the code over, and test it on C++ as well.

I am using XML for the research trees - and loading in of other data items, for example, "Area" templates which define temperature ranges, local materials and such which define the initial products that a civilisation can create (such as rice, fruits, and metals).

While, again, XML is slow, it only really needs to be loaded in at the start of the application for skill trees, and, depending on whether I allow the saving and loading of past simulations, they can be accessed on the menu screen when selected.
On the plus side, XML is very quick and comprehensive to edit.

To make up for the time I've lost, I'm going to implement a very basic skill tree, and expand it as I go.