Defining Awesome — 2009 — October
  • Status Updates

  • Posts from October 2009

    October 9th 2009

    I’m back to the Character Builder making a new man. Added some useful functionalities –

    charbuild

    October 9th 2009

    I think I’m a Cowboy Coder (http://ping.fm/9owS3)

    October 8th 2009

    Quick physics test for Link-Dead showing bouncing balls and working very fast collisions. http://ping.fm/28LQ8

    October 7th 2009

    Solving problems by using intelligence

    Programming is just arrangement of structures and data. If a problem/block arises it is either:
    – because you are constrained within the limits of the structures you are using (like using an external programming library) or
    – because you have not planned out how to cleverly arrange the structures you are using

    Example:
    I was using an external programming library called Box2D. It is a physics library. My game is not a physics game but it has elements of physics in it (like flying and colliding objects). Yet it is a game mainly defined by game logic and playability rules which are not “physical”. One of the biggest problems I had (it has been months, what you see in the test version is something working but buggy) was choosing between walking past and climbing stairs. This is a very hard problem if you are working with a physics library because physics are deterministic. There is no choice for a human, it is just math, so you must build tricky work-arounds. Which sometimes work sometimes not, anyway they are a pain in the ass. I got fed up with it and decided to write my own code for dealing with this from scratch.

    What I did:
    A physics library holds only collision data for a map that describes the position, size and structure of walls and floors. It is built only for the purpose of stuff bouncing off inside a map. I need more. That’s why I made my own collision data structures which keep more information. For example for each floor/wall/stairs I hold information where does it connect to and which direction I can walk on it. This is very useful for the stair climbing problem as well as very good data for AI bots.

    To end this a final note:

    The Greatest Optimization Method Ever – All algorithms can be bypassed by arranging data differently.

    Ponder on this for a moment. I managed to eliminate hundreds of checks of a Line-to-Line collision algorithm per second just because I did what I described above. Hell, I didn’t even need to write the damn algorithm at all! I don’t like programming algorithms – I like programming games – which is in fact – just arrangement of structures and data.

    October 7th 2009

    Stairs are working (!) using space key to climb down or up stairs. I’ll soon post a blog how to come up with elegant problem solutions.

    October 6th 2009

    According to my postulate “Don’t do what a computer can do for you” I want to automate my blogging. Why write if a computer can show what you’re doing. I need a program that sits in the tray and takes screenshots every couple of seconds and uploads it on a website with a gallery. Is there a software like that out there? If not does someone have spare time to do something like this?

    October 5th 2009

    Platform style stairs, where you can choose to go on them or not. It’s a very non-trivial problem. I’m not posting anything until it’s done.

    October 5th 2009

    I never expected that stairs are so hard to do. It’s one of the reasons I’m writing my own physics, I have to tackle this problem directly.

    October 2nd 2009

    There is a point after which optimization reaches its physical limits. After that to improve performance you can only cleverly arrange data.

    October 1st 2009

    If you’re wondering what’s up with Sigvatr. We haven’t really done anything for a couple months together and we officially split up a while ago. As the project moved on it became apparent that we are very similar to each other yet have very different goals (namely make our own game). Hence we can’t work together anymore. Eric is now learning to program and I am learning how to make procedural art.

    Links