Posts

Hosting a PostgreSQL Database

Introduction I recently came across a company called Heroku who offer a hosted version of PostgreSQL. Since I am looking into hosting a database I thought I would share my thoughts on what you should think about when hosting a PostgreSQL database as well as comparing a Cloud hosting provider like Rackspace against the Heroku service. What to think about when hosting a server When looking to host your database there are a number of things you need to consider (in no particular order). Location Where are your main customers. Where are your servers going to be that will be communicating with the database. Ideally you would like the database to be as close to the other servers as possible, preferably in the same building on the same network.

A C++ library for communicating with Amazon S3

Introduction Amazon web services (AWS) has many SDKs available for interacting with its services. Java Mobile Android iOS php python ruby Windows and .NET But the one that they don't support and have no SDK for is C++ . Because of the lack of an official SDK from Amazon many people have written their own C++ code for communicating with the REST api . I decided to have a quick look to see what was out there and compile a version that could be used commercially.

Experiment with Wt, Cinema4D Melange and WebGL

Image
Yesterday I decided to have a play with Wt . Wt (or Witty) is a C++ Web Toolkit which lets you write a webserver entirely in C++ without having to know anything about HTML, Javascript, HTTP or TCP/IP. I was also interested to see that they have basic support for WebGL in there and decided to give it a test drive. Not being one to make things simple I thought I would also throw Cinema4D’s Melange library into the mix to allow the export of some interesting scenes from Cinema4D and try to view them in a web browser.

Selecting a Game Engine

Before you can select your game engine you need to make a few choices. Who is my target audience? Is it PC, PS3, iPhones or anyone with a webbrowser? Then you will need to start looking for technology that you can use to develop for that platform. This may give you a number of different solutions to choose from, after which you then pick one that best suits your needs based on your skill set and requirements. The game platform(s) Before looking for the game engine you need to decide what platform (or platforms) you are going to be targeting and how you would like to deliver the MMO to your user. Firstly lets look at a few delivery mechanisms.

How to make an MMO

Introduction A lot of websites say that making a MMO by yourself is hard work. And I fully agree with each and every one of them. Creating a MMO is indeed incredibly difficult.  If you were to build an MMO yourself you will need experience in everything from 3D graphics, networking, website design, scripting engines and much much more. This is no easy task, but it is very interesting. There are many ways of developing your own MMO. You could use some of the free or commercially available engines that are already on the market (HeroEngine, Multiverse or Eclipse) but my interest is not actually in how to make the Game but more in how to make the technology behind the game and to also share that with you, my reader.

Importing Quake files and previewing levels using Irrlicht (Part 3)

Irrlicht Viewer Code Now that we have all the data loaded the next thing we want to do is open up a Irrlicht Viewer and view the scene as it will appear in any game we might make. Firstly there is the RunGameCommand. This is a bit different from the other load command because we want to run the game in its own thread. So to do this we will use Cinema4D thread. In this case we have created a new class called GameThread that is amember of the  RunGameCommand.

Importing Quake files and previewing levels using Irrlicht (Part 2)

The LoadQuake Command Firstly there is the command itself, which is not that much. This just has an execute method and of course it is registered in the main.cpp file. class LoadQuakeCommandData : public CommandData { public:    virtual Bool Execute(BaseDocument* doc); }; Bool RegisterQuakeLoaderCommandData() { //Note that I should really get another ID from the maxon plugin cafe here rather than go + 1   return RegisterCommandPlugin(ID_RUNGAME_CMD+1, "LoadQuake", 0, "", "LoadQuake", gNew LoadQuakeCommandData()); }