Old Tower is a 2018 homebrew game for the ZX Spectrum, it features a kid that can only move one direction at a time, it must collect all coins in each stage and avoid bats to reach the end.
you can also in some levels control another character by switching over to him with the fire button. in some levels you need to position each character in specific spots to make the other character reach a certian palce.
other things include blocks that dissapear once touched, and block that appear once you fly across them.
while this run seems long, that is only due to the fact that starting up this game takes 9 minutes, the game itself is less than 4 minutes long (thanks ZXSpectrum).
For the sake of watching this run, I edited out the loading in the encode.
feos: Great game indeed, and the movie is nice. The game is short, not too hard, also not too complicated, but this helps to understand what's going on. In addition, the game is made to be quite appealing - it overcomes usual limitations of ZX Spectrum and looks way better than an average ZXS game. The audience also liked it, accepting to Moons.
feos: Setting back to judging underway until all improvement checks are done.
feos: Replacing with an improvement and setting back to Accepted.
Also I found that this game is present as different versions that don't sync, and it's a free game, so here's the link to the developer site, whose version syncs.
Ikr? The game just had to give me another reason to TAS it.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Joined: 4/7/2015
Posts: 331
Location: Porto Alegre, RS, Brazil
Actually it seems the opposite, since TotM was realease in 2016. Anyways, it's such a cool gameplay, both games are very creative and soutracks are great.
That's a nice run, EZGames!
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
I am very very sorry for this but I had recently found a route change in the last light blue level that saved 68 frames.
this should be the only thing that needed changing as far as I could tell.
here is the new file, again sorry I didnt catch this earlier: http://tasvideos.org/userfiles/info/54538345409835729
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Yes vote, but I'm certainly concerned for the 1:59 level, as there's a lot of idle time, and feel a reroute is in order. It seems like it would be faster to go to clear out the upper section first.
Try RURULULDLUDRDRURDULULDLD. Either clear out the right hand section on your first trip through, or second, whichever is more convenient for enemy placement.
Hmm, that might work.
I’m going to be busy today so i wont have much time to test today but when I get the chance I will try it out. Thanks!
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Also I found that this game is present as different versions that don't sync
Do any of these versions contain less loading time for bootup? I wonder if it’s worth using them for this tas simply for convience of the viewers.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Joined: 11/27/2017
Posts: 87
Location: United Kingdom
EZGames69 wrote:
Do any of these versions contain less loading time for bootup? I wonder if it’s worth using them for this tas simply for convience of the viewers.
Its a standard tap file, so I could probably shunt it into a +3 disk image (*.dsk). However, this involves modifying the loading routines in the code so it knows to load from disk rather than tape.
A potentially murky area maybe.
Alright then it’s fine how it is right now.
I just dislike how most ZXS movies are going to be 60% loading time. But ohwell, that’s just how the system works.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Do any of these versions contain less loading time for bootup? I wonder if it’s worth using them for this tas simply for convience of the viewers.
Its a standard tap file, so I could probably shunt it into a +3 disk image (*.dsk). However, this involves modifying the loading routines in the code so it knows to load from disk rather than tape.
A potentially murky area maybe.
Media conversion has been discussed before (specifically regarding commodore 64 games). The ultimate result of those discussions being that leaving things in their original/proper format is best unless the format conversion can be proven to be possible by a general user and directly on the original system without the need of additional/specialized equipment.
As much as I'd personally like to see shorter loading times on any system, I also understand the need for maintaining as much authenticity as possible in the media formats.
TL:DR - Stick with the .tap format and don't shunt/modify the code for a different media format/image.
Joined: 11/27/2017
Posts: 87
Location: United Kingdom
EZGames69 wrote:
I just dislike how most ZXS movies are going to be 60% loading time. But ohwell, that’s just how the system works.
There are some pretty good commercial +3 games on disk. But most of them are movie tie-in/coin-op conversions that don't stack up that well against other systems of the time.
Its pretty easy for homebrew makers to release games in disk image formats as well these days (see spectral interlude). There is just no reason for them to go the extra mile. Every other emulator implements instant tape image loading by pulling the tape data directly into the CPU registers and memory (thereby bypassing the actual tape loading mechanisms).
I do eventually plan to work this out and implement in bizhawk. But obviously this is certainly a non-deterministic thing and wouldnt be any good (in fact would be automatically verboten) for TASes anywhoo.
Would certainly be of benefit to casual play though.
Joined: 4/17/2010
Posts: 11473
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
From what I can tell, no one on TASVideos is pushing for instant tape loader for movies, and it's unlikely to ever be allowed due to our purism. For casual gaming, by all means, just like skipping the BIOS.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Ok, I have analyzed what's happening there in my head, and I believe I know what's going on.
Normally on the ZX Spectrum you can only have 2 colors on each 8x8 pixel block, and these color blocks cannot move. Thus, normally, you are restricted to that color limitation, and colors cannot scroll but in 8-pixel steps.
Here, however, the game achieves something that I have never, ever seen in any Spectrum game made in the 80's or the 90's: It's essentially achieving 8x1 pixel color blocks, at least for that central area.
I believe it's achieving this by estimating when the cathode ray is on either side of that central area, and then it just changes the colors for that horizontal row of color blocks. This essentially makes that central area consist of 8x1 color blocks.
Not only is this allowing smooth scrolling of colors, it actually allows coloring pixels in a manner that's normally impossible. If you notice, between the red bricks there are black, yellow and blue pixels, much closer to each other than 8 pixels. This would normally be impossible, except here, where the colors can change on each row.
My guess is that the playing area is so narrow because there's no way on the Spectrum to actually know where the cathode ray is, and when it's doing a horizontal retrace, and thus it's only done by estimation, and when the estimation kicks in, it could be pretty much anywhere on that blue area on the sides (or on the external border of the image).
It might (perhaps) also be related to CPU consumption, as changing colors on each row so fast might be heavy on the CPU.
As said, I find it absolutely fascinating that I'm not aware of a single ZX Spectrum game made in the 90's or earlier that had discovered and used this trick. (I suppose that even if some programmers did think of it, they didn't come up with any feasible way to use it in an actual game.)
Joined: 11/27/2017
Posts: 87
Location: United Kingdom
Warp wrote:
I believe it's achieving this by estimating when the cathode ray is on either side of that central area, and then it just changes the colors for that horizontal row of color blocks. This essentially makes that central area consist of 8x1 color blocks.
There is no need for the game to estimate where the the beam position within each frame. It is always in the same place from a Z80 T-State perspective each frame (although this differs between the various spectrum models). There are quite a few games and scene demos that makes use of this timing knowledge to achieve cool stuff. Removing colour clash etc. The 8x1 attribute stuff has been known for a while:
https://en.wikipedia.org/wiki/ZX_Spectrum_graphic_modes#%228x1%22_attributes
On other Spectrum models, this effect can be replicated by exploiting the fact that the ULA re-reads the attribute information on every pixel row when generating the video output; it is possible to write a new value to the relevant memory location in between successive lines, and thus cause a different pair of colours to be shown. However, the Spectrum's processor is not fast enough to write to an entire row of attribute bytes in one scanline, so 8×1 attributes can only be achieved over 18 columns. This technique is variously known as Hicolour, Multicolour, FLI or Rainbow Processor mode.
Details:
Pixels: 256 × 192
Attributes: 32 × 192 (limited to a 18x192 area)
Colors: 15
This would explain the 'thin' display for the game, although they have really done something special to get scrolling working as they have.
The author gives some insight into the engine he wrote to achieve this:
https://spectrumcomputing.co.uk/forums/viewtopic.php?t=1079
It's an 8x1 multicolor + pixels scorll :) So a camera can move with any speed, even with 1 vertical pixel without any clashing.
It's my own engine and it works on 48k,128k and pentagon.
- Do you scroll the attributes by jumping into the middle of the drawing loop at different offsets?
Nope, attributes drawed from linear buffer and all an "engine" it's unrolled ..... pop hl: ld (addr),hl ..... mostly :) The multicolor zone not a big, just an 12 cells width, tower walls drawed without multiclor but gives an illusion of 14 cells width. In a top border we draw a top 110 lines of pixels from previous frame before beam. During a multicolor loop tower walls drawed + multicolor. After multicolor we draw an new frame for 50 botom pixel lines after beam so in a next frame we have a picture.
Its *very* well done.
In fact, its this sort of thing that caused the development of ZXHawk (and the associated Z80 accuracy fixes) to take so long. We had to get it writing to the screen buffer at exactly the same cycle in a frame as on real hardware. This is also why ZXHawk is a bit more resource heavy than many of the other cores.
Its nice to see that a game like this, that is so intrinsically tied to real hardware timing, plays correctly in Bizhawk :)
Its nice to see that a game like this, that is so intrinsically tied to real hardware timing, plays correctly in Bizhawk :)
Im going to do everything I can to find games that will push this core’s limits.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing