Newer Posts Older Posts

Da Boom! - Post Mortem

2014-03-16

 

I did not write it here, but I completed a game recently: Da Boom!.

Da Boom! was developed over the course of the last half year in my spare time. I is a classical bomb laying game with a retro art style, but with the ability that you can play the game over the network. Not only can you play the game over the internet, but you can mix local multiplay and network play, you can for example have two player on one end and two on the other.

The focus of this project mas mostly centred around developing technologies and development strategies. This is the first hobby project that I ever completed. I went out and said, either I complete this project or I give up on game development.

read more

Saving Weeks by Taking a Week Off

2014-03-10

 

I am working quite hard on a new game, which I will announce some time in the next weeks. It's nothing really innovative, but it may be the first game I bring to an end (hopefully).

The last week I took a vacation with my family in Berlin. Originally I though that it would be a "lost" week, in the sense that I would not get anything done and it would push back my schedule by a week. So I planed the week with 0% availability, in my nifty planing tool.

Fernsehturm

I honestly wanted to take the week off, so the only electric device I packed was my phone. On the train ride to Berlin, I decided to take it even a step further, I decided to not think about any work while in Berlin. No engine design, no art concepts and style or work scheduling. I even did not read the books I packed, I just idled my brain where nothing was to do.

And it was awesome!

read more

Transform to View Matrix

2014-02-06

 

How do you construct a view matrix from a transformation matrix?

If you search the web about how to build a view matrix you will find many references to gluLookAt or a custom look at implementation, maybe even how to setup a FPS camera. These all come in handy when you setup a scene ad hoc, but the general case, when you already have a camera that has a transformation matrix is seldom discussed. After I pieced this information together, I want to share it with you.

The general case is quite simple, to get the view matrix (V) from the transformation matrix (T), all you need to do is take the inverse.

V = T - 1

But computing the inverse of a 4x4 matrix is not much fun and definitely quite computationally expensive.

But if you remember what the transformation matrix contains and how you compute a view matrix through the look at function. You will see an interesting correlation.

read more

Redesign with Bootstrap

2013-11-17

 

This website just got a lifting. With the help of Bootstrap the site looks spiffy and the effort to get it work was about 15 minutes. This is the fastest redesign to date.

wooosh

The design is based on the Narrow Jumbotron. Which was easy a quite easy conversion. I dropped the twitter, github and RSS links at the top.

read more

MinGW-w64 for the Uninitiated

2013-10-16

 

The recent version of MinGW32 fully and totally broke on me this weekend. Actually it broke earlier, I just did not register it. But after SDL2 was unable to load OpenGL on code that worked before the upgrade, the cat was out of the box. All the little issues I had with libraries acting odd are related to something with MinGW's internals being broken; probably something in glibc. (Before someone disses me for this, yes I know the upgrade to GCC 4.7.0 is ABI incompatible, I spent about two days recompiling ALL third party libraries from source.) Finally the MinGW package definition for the installer was updated, but in a broken unusable state, which even ensured that MinGW would not install.

So after some detours I ended up using the MinGW-w64 fork. If you listen to the community, the w64 version is better and more up to date, so that is a plus. The only thing that put me off was the ease of use of getting MinGW32 up and running with the automated installer.

As it turns out it is not that hard to get MinGW-w64 up and running. The only problem is it is not obvious. For that reason I will show you here and now how to get your MinGW-w64 environment in about 5 minutes. (Shorter than it takes you to read this post.)

read more

Not Invented Here?

2013-09-18

 

Ups, I did it again! I just built a library for functionality that already exists; I just built a JSON library for C++.

By looking at my "successful" and failed projects on github or rather the projects that provide concise functionality and meses of disconnected code, you can easily come to the conclusion that I have a serious case of Not Invented Here syndrome.

read more

Targeted Ads Are Missing The Point

2013-07-27

 

I use adblock plus and block extensions though chrome, the result is that I don't see many ads. A few site I often visit and have reasonable ads get whitelisted, because I understand that this often is the only revenue they get for operating the site. add

Recently I stumbled over a severe case of targeted advertisement. I recently bought a new desk chair and recently visited the website of my mobile operator to check on a specific deal they had. A few days later I visited, like I often do some of my favorite web comic and guess what ads I had? The website selling the desk chairs with exactly the chair I bought and my mobile provider.

read more

Just a View?

2013-04-18

 

Over the years of developing object oriented (OO) software, many software engineers have come the paradigm that, in most cases "It's just a view". This is especially well described in Andy Hunt's classical Pragmatic Programmer (ISBN: 020161622X) and this stuck with me. (Chapter 29: It's just a view.)

But what I have trouble reconciling this idea with game logic.

read more

Green - Day 4

2013-03-28

 

I implemented my musing from yesterday. The only change is, that I kept the names InputSystem and GraphicSystem, instead of OisSystem and OgreSystem respectively. The rationale behind this is that it makes more sense to use a name that describes what they do and not what they are.

Interestingly, it suddenly dawned on my how the Law of Demeter works in practice.

read more

Green - Day 3

2013-03-27

 

Well, I must confess, this is actually the post for two "half" days. With sickness, social obligations and the release of Hart of the Swarm and BioShock Infinite it is really hard to get work done. But that is the bane of the hobby developers.

First I got the Scene / Entity concept implemented. I implemented a TestScene object, that should contain a smallish physic test scene. To exit the engine in full screen mode, I implemented the logic in the TestScene. But I don't know if it even belongs there.

There are some issues that are nagging me about this design. How do you implement logic that is not bound to one scene and transport (store) the data from one to the other? I think a "cloud" of entities in the engine may make sense, the scene is just a special entity. This allows for special entities to live longer then the scene.

read more

Newer Posts Older Posts