Jump to content

April 2017 »

S M T W T F S
      1
2345678
9101112131415
16171819202122
23 24 2526272829
30      

Recent Entries

Recent Comments

View more

Adam Omega

4: Adsense

Message Routing

To continue in the series of our multi-threaded game engine, I feel the next topic of discussion should be messaging. To facilatate communication between modules we have devised a messaging system that runs in its own thread. This system routes packets of data or as we call them Envelopes between different subscribed functions for a given message id.

First...

NLS Engine Module Management

Last entry was about the basics, and the generic module interface. This time I think we need to discuss how the modules are loaded and managed.

Introducing the ModuleManager


#pragma once

/**
* \file file base name
* \author Adam Martin
* \date 2011-10-23
* \brief A manager class to load and start modules.
*
* A manager that can...

Well...I have learned a lot

Some time about I posted about systems, and their respective managers. I still have used parts of that system, but at the same time I have evolved beyond the system approach and moved into using distinct and operate modules.

Let's define a few things first:
Module: any system or system-like representation that is loaded externally, and...

Subsystems and their management.

I am developing a component based system using the concept of subsystems for my current game. The system is the game (which controls level loading, timiing, etc) and the subsystems as things such as physics, audio, scripting, rendering, etc. Now each subsystem has its own data that it uses to perform its tasks. These subsystems however don't modify...

A*, a first attempt, and learned tips.

So I am creating a simple puzzle game with basic path-finding in a 2d environment, and I figured the simplest place to start would be an A* algorithm. After finding a few web sources I sat down and just started programming. After 15 minutes or so I managed to craft a basic heuristic A* algorithm.

Here is my NodeMap header:

#pragma once

#include...