Author Topic: Discussion forum for Horizontal Shooter Tutorial  (Read 13054 times)

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
Here you can post your questions and suggestions according to the Horizontal Shooter Tutorial
Time will come. It's just a matter of time...

Offline Enigma

  • Mc. Print
  • *
  • Posts: 24
    • View Profile
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

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
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...

Offline Enigma

  • Mc. Print
  • *
  • Posts: 24
    • View Profile
That would be awesome, thanks :)
Russ Hoy

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
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...

Offline Enigma

  • Mc. Print
  • *
  • Posts: 24
    • View Profile
Thanks for the map editor :) It seems that the code for the editor is not in the zip though.
Russ Hoy

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
Ok. Should be fixed.  :whistle:
Time will come. It's just a matter of time...

Armoured

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

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
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

  • Guest
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

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
That's the whole truth.  :good:
Time will come. It's just a matter of time...

Offline okee

  • Dr. Type
  • ****
  • Posts: 324
    • View Profile
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)

Offline Manu Segura

  • Mc. Print
  • *
  • Posts: 25
    • View Profile
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!

Offline Steinbock

  • Mr. Drawsprite
  • **
  • Posts: 66
    • View Profile
    • Mountainsoft
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...

Offline Manu Segura

  • Mc. Print
  • *
  • Posts: 25
    • View Profile
That would be great, thanks Steinbock.