Malaika - the interview

Posted by Malaika on July 8, 2006, 9 p.m.

I got an interview with the young-but-proud Gamemaker Insider - HERE

There isn't really anything there that you don't know, but here are a few extra bits about Danse Machina:

I've taken a new direction with level design. Each level will now be a large complex of connecting rooms, and the levels themselves will be non-linear. This will give the impression of you actually being somewhere real, instead of a level that was seemingly built just for the player (they ARE, but you don't want them to THINK that!)

I'm looking at changing the lighting system AGAIN (to Phoenix's lighting engine this time) I want to know whether it improves speed. So Joewoof if you read this, I'd be interested in sending the update to you to run a comparison test… Let me know if you're willing.

I finally got my graphics card. Its sweet. I can now run Oblivion, and have been playing that for a while, as well as Need For Speed Most Wanted. I love that game.

I had to leave my car at the shopping centre last night. It wouldn't start back up. So I'm about to go for a walk to get it, and I'm hoping its okay. I didn't want to leave it there, but I really didn't have a choice. I think it was just too cold for it to start up, and it hasn't been driven in a few weeks so it needs to be shaken back up. This doesn't bode well for my plans to drive it to uni though - it would SUCK if it wouldn't start then!

Well, next time I will writing the blog, and you will be read the blog and we will all eat cake and merry make!

Comments

Firebird 18 years, 4 months ago

I want Oblivion so much.

Flea1991 18 years, 4 months ago

Good job :)

Cheers: Flea1991

Polystyrene Man 18 years, 4 months ago

I have Need For Speed III. Those games are sweet. But I was really disappointed when I started driving a real car. Yawn.

Acid 18 years, 4 months ago

I like cake. Make sure it's chocolate. Mmmmm… chocolate…

Hootiehoo 18 years, 4 months ago

I know of a much faster, but only slightly simpler (in comparison to Phoenix's awesome engine), lighting engine. Ask me if you need it. =D

Malaika 18 years, 4 months ago

That'd be great. I'm looking for one that can do shadows as well, and looks as good as Phoenix's or Geargod's. Danse Machina demands the best! :D

Joewoof 18 years, 4 months ago

Sure, why not? For the fastest result, PM me at GMG (they don't have a "big red notice" system here yet, so…).

I'm thinking about adding more RAM to my computer, too. GM games lately abuse the lighting engines too much, but I still want to play them at their fullest.

Oh yeah, Malaika, I have a good suggestion for improving peformance: implement a frame skip option. This will help greatly.

And since you don't have such and system and never mentioned it, I assume that you're not sure how to do it. Here's an example of the code I'm using for my current RTS game project:

    //FRAME SKIP
    if((frame_skip_trigger == false)&&(keyboard_check(vk_f2) == true)){
        set_automatic_draw(false);
        frame_skip_trigger = true;
        view_hspeed[0] = view_hspeed[0]*frame_skip;
        view_vspeed[0] = view_vspeed[0]*frame_skip;
        keyboard_clear(vk_f2);
    }
    if(frame_skip_trigger == true){
        if(draw_delay > 0){
            draw_delay -= 1;
        }
        else{
            draw_delay = frame_skip;
            screen_redraw();
        }
        if(keyboard_check(vk_f2) == true){
            set_automatic_draw(true);
            frame_skip_trigger = false;
            view_hspeed[0] = view_hspeed[0]/frame_skip;
            view_vspeed[0] = view_vspeed[0]/frame_skip;
            keyboard_clear(vk_f2);
        }
    }

What this code does is, when you press F2, the screen will no longer automatically redraw, and will only do so after an indicated number of steps (in this case, with the variable "frame_skip"). Pressing it again will bring it back to normal. view_hspeed[0] and view_vspeed[0] need to be multiplied by variable "frame_skip", because it only moves when the screen redraws. Basically, use the fucntions, set_automatic_draw() and screen_redraw() together. This is run in the Step Event of course. If you want to test it out, you have to set the following variables in the Create Event:

  • frame_skip_trigger = false;

  • frame_skip = 2;

  • draw_delay = frame_skip.

    Keep in mind that this engine isn't perfect. It has some bugs regarding room-transitions, so you should write up your own.

    If you already know how to do frame skip, that's cool, but why haven't you implemented it yet? It solves half the performance problem and keeps both the atmosphere and gameplay experience intact.
  • Malaika 18 years, 4 months ago

    Thanks! I've never thought of doing that. It doesn't work too well on my computer, but on slower machines, I can see how it could help. I've included it into the game. I'll leave the testing of it up to you though :D THANKS!

    Joewoof 18 years, 4 months ago

    What, so you're using my code, just as it is? It's still incomplete, you know… just make sure you put it somewhere so that it's readily modifiable, since I'm sure to make an update for it to correctly support "restart room" and "go to room" functions.

    Magicman657 18 years, 4 months ago

    Can you make me some cookies? People demand cookies to make up for the DToD crap I did, and I suck at cooking.