Demo of multidirectional scroll 50fps

edited July 2014 in Development
Hello!!!

Im working with scrolls, and I want to show you a demo of a posible game.

It works at 50fps and can manage about 7 sprites in the screen with different
behaviours.


Post edited by climacus on
«1

Comments

  • edited July 2014
    That's smooth !
  • edited July 2014
    Okay, now confess that you've just speeded up the emulator for recording ;)

    It looks really impressive
  • edited July 2014
    Looks really good and fast and smooth. WELL done. 8-)
    Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
    My games for the Spectrum: Dingo, The Speccies, The Speccies 2, Vallation, SQIJ.
    Twitter: Sokurah
  • edited July 2014
    Bonus question...

    The screen is 12x7 (16x16) tiles.
    How big is your backbuffer?
    Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
    My games for the Spectrum: Dingo, The Speccies, The Speccies 2, Vallation, SQIJ.
    Twitter: Sokurah
  • edited July 2014
    Sokurah wrote: »
    Bonus question...

    The screen is 12x7 (16x16) tiles.
    How big is your backbuffer?

    I dont use backbuffer. So the left, rigth and down borders must be in black attribute. For upper, Ive done a small routine for calculating the part of the sprite to be shown.
  • edited July 2014
    Can't see the demo unfortunately, but is the scrolling something like astroball?
    No one important.
  • edited July 2014
    daveykins wrote: »
    Can't see the demo unfortunately, but is the scrolling something like astroball?

    Well, Id say something like Afteroids...
  • edited July 2014
    Fast and silky smooth- it's a treat for the eyes! The gameplay reminds me of a scrolling Project Future.
  • edited July 2014
    I see a top-down racing game with cool physics and network play :)
  • LCDLCD
    edited July 2014
    So you finaly found the hardware scroll register in the ULA too. :razz:
    Nice. cannot await to show the finished game to some commodore users.
  • edited July 2014
    Looks exceptional. You've done some superb speccy games up to now, this one looks to be a corker in the making. I only wish I had your skill!
  • edited July 2014
    Do you have a YouTube link for this please?
    No one important.
  • edited July 2014
    daveykins wrote: »
    Do you have a YouTube link for this please?

    https://www.youtube.com/watch?v=NnmBqkW-1aE
    So far, so meh :)
  • edited July 2014
    Very good work!
    No one important.
  • edited July 2014
    thats the fastest scrolling ive ever seen
  • edited July 2014
    I'm impressed! :-o
    My blog (in Portuguese): Cantinho do TK90X.
  • edited July 2014
    3 different tiles per line

    i think
    drawing sprites on the upper border
    after sprites here is a background refreshing
    something like push hl,de,bc,af because 3 tiles per line.

    good and fast technology. but poor background.
    [Stronghold] [l'Abbaye des Morts] [Stronghold2 WiP (30%) defrosen]
  • edited July 2014
    Very thanks.

    The idea is to make a scroll game at 50fps with an interesting number of sprites in the screen.

    Perhaps someting like Alien Syndrome but with more frenetic action.

    So it has some limitation such as the number of tiles per line (as @Jerri said)

    I can put only two different tiles or three if the tiles are not repeated.

    Ive done a scroll routine managing four tiles per line, but it did?t work at 50fps with a sufficient number of sprites in the screen.

    The most complicated problem to solve has been to calculate where to put the sprites in the map in order to avoid no tresspasing areas. And it can be work better.

    And, how about the sound? I dont know if I will have to sacrifice some sprite for it...
  • edited July 2014
    Nice one! If we are to believe in next-gen developer arguments that 30 FPS is ideal for most games, and extend that logic to this game do you think you can still achieve smooth scrolling but with more sprites?
  • edited July 2014
    daveykins wrote: »
    Do you have a YouTube link for this please?

    Sorry. Ive been out of Internet!!!

    Thanks, Polomint!!!!!!
  • edited July 2014
    Arjun wrote: »
    Nice one! If we are to believe in next-gen developer arguments that 30 FPS is ideal for most games, and extend that logic to this game do you think you can still achieve smooth scrolling but with more sprites?

    I dont know, but I prefer finish with 50fps first...
  • edited July 2014
    climacus wrote: »
    Very thanks.

    The idea is to make a scroll game at 50fps with an interesting number of sprites in the screen.

    Perhaps someting like Alien Syndrome but with more frenetic action.

    So it has some limitation such as the number of tiles per line (as @Jerri said)

    I can put only two different tiles or three if the tiles are not repeated.

    Ive done a scroll routine managing four tiles per line, but it did?t work at 50fps with a sufficient number of sprites in the screen.

    The most complicated problem to solve has been to calculate where to put the sprites in the map in order to avoid no tresspasing areas. And it can be work better.

    And, how about the sound? I dont know if I will have to sacrifice some sprite for it...

    yeah
    main zx spectrum problem - low screen refreshing speed.

    Joffa Smith make games with 25 fps - Firefly was created on this technology.
    you can play sfx on free tacts. as maked in firefly :)
    [Stronghold] [l'Abbaye des Morts] [Stronghold2 WiP (30%) defrosen]
  • edited July 2014
    Wow. Id put more info into the yiutube description so its easier to search in youtube,
  • edited July 2014
    climacus wrote: »
    I can put only two different tiles or three if the tiles are not repeated.

    I don't really understand this limitation. How does this work?
    Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
    My games for the Spectrum: Dingo, The Speccies, The Speccies 2, Vallation, SQIJ.
    Twitter: Sokurah
  • edited July 2014
    Sokurah wrote: »
    I don't really understand this limitation. How does this work?

    Well, Ill try explain it (perhaps I doing it in wrong way)

    Each line of the map takes 16 pixels high.

    Each tile takes 16x16 pixels.

    I use POP AF, POP HL, POP DE, POP BC for taking the grahic to print in the line and I put ir in the screen with PUSHes for these registers.

    Each graphic takes 4 preshifted tiles so takes 16 high for 64 width.

    For example each graphic can be: grass-tomb-tomb-grass and its shifted.

    So after POPs the registers have:

    AF=grass-tomb
    HL=tomb-tomb
    DE=tomb-grass
    BC=grass-grass

    If I put PUSH AF it will appear the tile grass-tomb (in the properly shifted).
    If the following is PUSH HL, it will appear a tomb, etc...

    So I only can combine two tiles because I dont have more registers to use.

    I can use IX, IY or alternative registers, but it is slower.

    I dont know how it works in other games (like Cobra). Ive wanted to do it by myself.

    I hope Ive explained me properly
  • edited July 2014
    climacus wrote: »
    Well, Ill try explain it (perhaps I doing it in wrong way)

    <snip>

    I hope Ive explained me properly

    Hmm, I think I've got it...think so. :lol: I guess there are some things you can not really know how works fully unless you really sat and developed it yourself. wrongified2.gif
    Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
    My games for the Spectrum: Dingo, The Speccies, The Speccies 2, Vallation, SQIJ.
    Twitter: Sokurah
  • edited July 2014
    Sokurah wrote: »
    Hmm, I think I've got it...think so. :lol: I guess there are some things you can not really know how works fully unless you really sat and developed it yourself. wrongified2.gif

    :lol:
  • edited July 2014
    Looking at that YouTube video, this routine would make the best version of Sensible Soccer ever! Well done.
  • edited July 2014
    Sokurah wrote: »
    Hmm, I think I've got it...think so. :lol: I guess there are some things you can not really know how works fully unless you really sat and developed it yourself. wrongified2.gif
    It's a bit of a trick. Instead of thinking in terms of blocks in the maze, you think in terms of fixed blocks across the screen and what could be passing through them at any one time.

    So with two different cell types on a row (e.g. grass and wall) you have four different combinations as things scroll horizontally: grass -> more grass, grass -> wall transition, wall -> more wall and wall -> back to grass. You treat each screen block as a mini-animation of what may pass through it as the maze scrolls horizontally.

    Now you pre-load each of those combinations into registers AF, BC, DE and HL, then use a tailored list of PUSH instructions to draw the appropriate pre-shifted animation into each position on the screen.

    You can use more registers, but it hugely complicates things to have the extra codes for IX, IY or EXX instructions in there and it makes things slower. So that's why you stick with two cell types per row, so there are only four different sequences.

    Vertical scrolling is a lot easier, as you just raise and lower the screen address you're writing to.

    Yes, it's how Cobra works and how my 50Hurts demo works.

    Though Cobra has an extra trick. Although the PUSH puts up 16 pixels at a time, it can shift left and right by a byte (8 pixels). That means that instead of an empty block, a solid block, and two transitions, you can have an empty block, and three narrow items so long as they're only 8 pixels wide plus one scroll step (i.e. 9 or 10 wide). Like the way Miner Willy animates, they scroll sideways within a 16x16 block then the whole frame jumps 8 pixels just before they slide out of it. It means you don't need transitional versions of these blocks, and is how the narrow vertical pillars and pipes are done all on the same row in Cobra.
    Joefish
    - IONIAN-GAMES.com -
Sign In or Register to comment.