mDevelopmentLog[2] = “Racing Against Keyboard Failures”

May 16, 2017

Hello Turtles,

This week has proved to be slightly less productive or forward moving than desired, but still, progress is progress. Moku, one of the artists I collaborated with on LudumDare 38, was kind enough to spend time and effort to improve the visuals of the Egg Drop sample/tutorial project. The finished art has not Read the rest of this entry »

mDevelopmentLog[1] = “TurtleBrains to iOS”

May 9, 2017

Hello Turtles,

Plans change. This week was no exception. I did start working on the TurtleBrains improvements that I set out and I did not start working on a top-down racing game. Instead I continued working on TurtleBrains and started porting it to iOS devices. I have also found out about PlainTasks, which is a Sublime Text plugin that allows quick creation and management of todo items, tasks. It even tracks when items were Read the rest of this entry »

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


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


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 »

Automated Build System Progress

November 2, 2016


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


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
  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);

  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 »