enJine: a fast tilemap engine

2»

Comments

  • edited June 2011
    Ketmar wrote: »
    heh. 16 chars is ideal for blitter (128 screen addresses). but i'll try to do 24x24 to see how it is going. maybe i'll even do 32x16 for platform part and 24x24 for 'freefly' part. %-)

    Hi, how are you getting on with this? I haven't had much time to work on my own project recently but with a bit of optimising and coffee I've managed to get 15x8 tiles (30 x 16 chars) in just over one frame with 3 independent tiles (I'm really working hard to stick with this and extend it to 6 independent tiles because although I know it's going to be about 30%-40% slower than using IX and IY for two tile sets, I think it'll be worth it). At the moment each row of tiles takes about 32 scan lines to draw, whereas your method manages to get it done in about 24.

    My next step is to start overlaying sprites on top of it and work out the timings.

    The plan is to do some useful processing until the beam starts drawing the screen and then start drawing a row of tiles and run the sprite drawing routines two rows behind using 8 linked lists (one for each row of tiles) so that the sprites are ordered by vertical position and I can draw them top down.

    In other words:

    Draw tile row 0
    Draw tile row 1
    Draw tile row 2
    Draw sprites for tile row 0
    Draw tile row 3
    Draw sprites for tile row 1
    etc.


    In that way I'm hoping that by the time the beam comes around for the next frame the screen drawing will be well ahead of it and will leave time for game logic. I think it'll just scrape by but if it doesn't work out I'll just have to go back to the old restrictions on tile sets.
  • edited July 2011
    @Ketmar

    this is indeed very interesting, I can easily see an old skool Zelda clone in my mind as i tap on the cursor keys, or even a Final Fantasy III esque game - these types of adventures games could translate very well and look epically awesome =).

    The enJine is indeed comming along in terms of graphic manipulation and I am very VERY impressed, if I ever get to that skill of coding, I think I would attained 10 steps higher than I could possibly dream of!

    I would like to see sound handling, interms of AY/Syth / Beeper action - with these in tow, you would have the basics of a legendary adventure game.

    Theres lots this little enJine could do, from side-on scrollers, to shoot'em ups, even racing games. lots and lots of fun to be had, only the lack of imagination could hold this one back
  • edited July 2011
    2kphair: alas, i still have no time to improve enJine. heh, i'm "working for food" now. so enJine and game projects are on hold for now. but 'on hold' is not the same as 'dead'. %-)

    2Zetr0: tnx alot. strangely, i was thinking about platformers only. the big problem of enJine that is doesn't do attrs. it's not so hard to add attr support, but then there will be horrible clashes.

    nevertheless, i will try to make zelda-alike demo when i got some free time.

    i also need to write some supplemental tools. at least good level builder, the one i have now is virtually impossible to use (but it can show building errors and estimate how much t-states enJine will take to build blitters and to blit the map for the given part of the level).

    i also need 'enJine constructor' that allows user to build his own version of enJine without messing with the sources (i.e. 'i want to do only horizontal scroll with attributes, level map will not wrap, level map width is N; build the sources for me!').
  • edited July 2011
    enJine constructor program... nice idea!!!... :)
Sign In or Register to comment.