Discussion forum for Horizontal Shooter Tutorial

Previous topic - Next topic

Steinbock

Here you can post your questions and suggestions according to the Horizontal Shooter Tutorial
Time will come. It's just a matter of time...

Enigma

Is there any chance that you can give us the map editor so we can play about with the levels and add new things to it?
Russ Hoy

Steinbock

Of course!   =D
Original sourcecode is written in Delphi. Please give me a week or two, so i can
rewrite it in GLBASIC. I think this makes more sense.
Time will come. It's just a matter of time...

Enigma

Russ Hoy

Steinbock

Simple tilemap editor is now available.
See "EDIT" in first post topic http://www.glbasic.com/forum/index.php?topic=2950.0
Time will come. It's just a matter of time...

Enigma

Thanks for the map editor :) It seems that the code for the editor is not in the zip though.
Russ Hoy

Steinbock

Time will come. It's just a matter of time...

Armoured

Hi
Ehm, where is the first part of the tutorial?  :whistle:

Steinbock

If you mean an attached "ZIP-code", then there is none.
In the first part it's a small "motivation" to do a little own work.  =D
Time will come. It's just a matter of time...

Armoured

Quote
If you mean an attached "ZIP-code", then there is none.
In the first part it's a small "motivation" to do a little own work.

Then you haven't made a "tut Part 1.zip"?
I can download from the first post only the editor

Steinbock

Time will come. It's just a matter of time...

okee

Thanks for that, very useful also nice to see how other people
structure their programs.


okee
Android: Samsung Galaxy S2 -  ZTE Blade (Orange San Francisco) - Ainol Novo 7 Aurora 2
IOS: 2 x Ipod Touch (1G)

Manu Segura

Hello all,

Amongst other doubts I have with the tutorial, the most important one that comes to my mind right now is:

Can anyone explain me how the .evt file works, how should I edit it to make things happen in the level?

Thanks in advance for the help!

Steinbock

Hello

It is explained in tutorial no. 6:

in level00.gbas the objects manually. But in a completed game are much more required, and it would be very laborious to call every single object separatly. Therefore we read out the datas from a predefined file level00.evt. For this we must expand our existing event-type (TEvent).

Code (glbasic) Select

        IX%             =   0
        ID%[256]
        Pos%[256]
        X%[256]
        Y%[256]

IX is a pointer to the actual listentry, ID is the objectID, Pos is the scrollposition WHEN the object shall appear and X,Y the position WERE the object shall appear.
With
Code (glbasic) Select

    // init events
    OPENFILE(1,"./isdo/level00.evt",TRUE)
    FOR p=0 TO 254
        READUWORD 1,val
        Event.Pos[p]=val
    NEXT
    FOR p=0 TO 254
        READUWORD 1,val
        Event.ID[p]=val
    NEXT
    FOR p=0 TO 254
        READUWORD 1,val
        Event.X[p]=val
    NEXT
    FOR p=0 TO 254
        READUWORD 1,val
        Event.Y[p]=val
    NEXT


in level00.gbas we load these datas into our eventlist. The request when a object shall appear, we do in the subroutine EventHANDLER in library.gbas.
Code (glbasic) Select

//=============================================================================
  SUB EventHANDLER:
//=============================================================================

LOCAL   ix%,typ%

    ix=Event.IX
    IF ScrollX=Event.Pos[ix]
        SELECT Event.ID[ix]
            CASE ID_ENEMY1 TO ID_ENEMY2
                ObjectADD(Event.ID[ix],Event.X[ix],Event.Y[ix])
        ENDSELECT
        INC Event.IX,1
    ENDIF

ENDSUB // EventHANDLER


First we request the current index in the eventlist, then we check the type and add the corresponding object to the scene. The rest goes as if by magic.


Today or tomorrow i will upload a simple eventeditor :)
Time will come. It's just a matter of time...

Manu Segura

That would be great, thanks Steinbock.