Artificial Intelligence in Racing Simulations

March 29, 2017

Long ago, now over eight years ago in fact, a couple books; Speed Secrets and A Twist of the Wrist got me thinking about approaching artificial intelligence in a completely different way. I had not much experience writing artificial intelligence, a tiny bit of pathfinding, decision trees, and a few other basic things that were class assignments or the such. Wouldn’t it be cool if the artificial driver had to work with the same knowledge and inputs as the player? You know, instead of directly moving the vehicle to the new location, the accelerator, brake and steering inputs would be used. The books also mentioned how important reference points are, so the driver should also use these!

I started a fairly epic thread on LFSForum that has evolved into my project log, but in the early days there were some difficulties explaining exactly what I wanted from the project, perhaps at the time I didn’t fully know or understand that myself. But over the years it has become more clear; this is a learning project, a brute force method to learning how to write and artificial driver. Is it the fastest driver, oh no- but getting faster. Is it optimized, ho ahahah – not at all. But it has presented me with numerous challenges that I’ve overcome and most of them with little to no research and just good old “thinking”. Which is what keeps this project going.

It has not been 8 years of constant work, there will be months of off time and then an idea pops in my head “what about …. “? and I build it out in my mind, get super excited and start working on a way to test out that idea. In the beginning it was a challenge just to collect the pertinent data. That evolved into a challenge to control the car in the LiveForSpeed racing simulator. The first time I got a car to move and aim at a cone (in a car park with nothing near) I threw my hands in the air with excitement. Unfortunately I don’t have footage or data available from these early days. The replays I had became corrupt over time.

I believe it would be a great exercise to go through the old history, pick out the most difficult challenges and victorious moments and bring them to life here in this blog. It is likely looking back upon this project could inspire new changes, make me reconsider old ideas, or at the very least bring the information to anyone interested. The trick is keeping it cohesive, as I want to write about current challenges as well as those in the past and that could get messy.

If you have ideas on how I should approach this, please let me know on @timbeaudet on twitter, or any other way you have to contact me.


LudumDare 37: Haunted Room

January 2, 2017

20161211204453_screenshotDuring the ramp up of the LudumDare weekend I didn’t actually pay much attention to the themes I was voting on, or which was popular or not. I didn’t even take the top 20 list and try thinking of different ideas like I’ve done in the past. One Room was announced as the theme and immediately I was at a loss. Like normal everybody Read the rest of this entry »


Game Development Arena

December 9, 2016

book_shelves

No game development arena would be complete without a library of books, actually google does pretty well these days – but I also have a fair collection of table top games for those times when Read the rest of this entry »


TurtleBrains now with Linux Support

November 14, 2016

turtlebrains_on_linux

Upon starting TurtleBrains it was planned to support many major platforms. Not so recently Linux support was added, actually TurtleBrains had been compiling on Linux, and even running with #define tb_legacy_gl_forced in tbi_renderer.h (or compilation settings). This of course is not very Read the rest of this entry »


Smoky Mountain Hiking Trip

November 7, 2016

gsmnp_sunriseAbout a month ago my girlfriend and I went on a short weekend trip to the Great Smoky Mountain National Park. We took a flight from Miami to Atlanta and then drove several hours through the night to Gatlinberg Tennessee, on the other side of the park. A long night was Read the rest of this entry »


Automated Build System Progress

November 2, 2016

logistics-852936_1280_falco_pixabay

I’ve been building up to this for years, and still have some cogs to put into place, but I’ve finally got a major part working; the master script. The master script is something I started about 6 months ago now, wow, and ran into some issues. First I needed it to recursively search directories and run a set of scripts that would be part of the auto build process. These scripts have been Read the rest of this entry »


October Back-and-Forth

October 29, 2016

zcw_back_and_forth

First, I’ve abandoned the blog for a while and I shall apologize for anyone who actually reads my entries, perhaps only to my future self. An avid reader would know I did #Artember but I don’t think I ever mentioned taking part in Read the rest of this entry »


Hot Loading Assets

September 29, 2016



After a random discussion on in the #LudumDare irc channel about directory watching and the desire to get a normal mapping shader implemented one Saturday morning I decided to develop and integrate “hot loading” shaders scripts. Never heard of hot-loading assets, well the best description I can give is: Flipping Magical. No really, I can open Game Project and change an asset file, like the script, hit save, and watch the effects be applied immediately. It is not that difficult to setup. Read the rest of this entry »


Actionable Input!

September 24, 2016
class InputAction
{
public:
  bool IsDown(void) const;
  bool IsPressed(void) const;
  bool IsReleased(void) const;

  void ClearBindings(void);
  void AddBinding(const tbApplication::Key& keyBinding);
  void RemoveBinding(const tbApplication::Key& keyBinding);

private:
  KeyContainer mKeyBindings;
};

Just before LudumDare 36 I added a new way to handle input to TurtleBrains framework, it is quite simple but so far I really enjoy the way it is used. It is just a powerful little object that can Read the rest of this entry »


Allagash Canoe Trip

September 19, 2016

allagash_01_start

Earlier this year, way back in early June, I took my dad on canoe trip through the Allagash Wilderness Waterway. This is a 92 mile waterway stretching over several large lakes and going down the Allagash river until you reach a little town near the top of Maine. After traveling by road for hours, including hours on some well used dirt logging roads we unloaded the truck, loaded the canoe and set off on the water. This was my Read the rest of this entry »