TileMap v1.0

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
obo
Berk
Posts: 12
Joined: Sat Sep 01, 2018 10:08 am
Location: Nottingham, UK
Contact:

TileMap v1.0

Post by obo » Sun Oct 28, 2018 1:20 am

I've released version 1.0 of TileMap, my playable game map (Windows only). It runs many Spectrum emulations in parallel, with some data sharing between instances.

The test version from a few months back only supported Jet Set Willy. This update adds Jet Set Willy II+, Dynamite Dan, Dynamite Dan II, Spindizzy, Starquake, and Technician Ted. I've a couple more games in the works too.

Download from: https://simonowen.com/spectrum/tilemap/
6 x

User avatar
g0blinish
Dizzy
Posts: 96
Joined: Sun Jun 17, 2018 1:54 pm

Re: TileMap v1.0

Post by g0blinish » Sun Oct 28, 2018 6:11 am

32bit need too.
0 x

obo
Berk
Posts: 12
Joined: Sat Sep 01, 2018 10:08 am
Location: Nottingham, UK
Contact:

Re: TileMap v1.0

Post by obo » Sun Oct 28, 2018 1:10 pm

g0blinish wrote:
Sun Oct 28, 2018 6:11 am
32bit need too.
Added! It's not quite as fast as the 64-bit version, but it may be the only option for some.
0 x

User avatar
hitm4n
Dizzy
Posts: 59
Joined: Fri Nov 17, 2017 12:56 pm

Re: TileMap v1.0

Post by hitm4n » Sun Oct 28, 2018 2:39 pm

What an awesome idea and app. Enjoyed watvhing the Starquake vid from your site.
0 x
I don't have anything cool to put here, so i'll just be off now to see a priest with yeast stuck between his teeth and his friend called Keith who's a hairpiece thief...

llewelyn
Berk
Posts: 48
Joined: Thu Feb 22, 2018 3:27 pm
Location: virginias eastern shore

Re: TileMap v1.0

Post by llewelyn » Sun Oct 28, 2018 2:54 pm

An explanation would be nice! I mean, I went to your download page and watched the video of 'spindizzy' and so I assume that the advantage is of being able to move around the entire playable area? The controls are a bit confusing though - its probably me being thick and ancient and not a games player as a rule!

Looks jolly nice though and must have been a hell of a lot of work. Congrats.
0 x
tempus fugit

User avatar
Einar Saukas
Manic Miner
Posts: 603
Joined: Wed Nov 15, 2017 2:48 pm

Re: TileMap v1.0

Post by Einar Saukas » Sun Oct 28, 2018 3:25 pm

Great app!

It would make games like Sabre Wulf a lot easier. You would instantly see location of all map pieces and the path to reach them...
0 x

Ralf
Manic Miner
Posts: 977
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: TileMap v1.0

Post by Ralf » Sun Oct 28, 2018 3:39 pm

I've got an error message at start:

Sorry, your D3D hardware lacks structured buffer support

Does it mean that some modern graphic card is required?
0 x

Kweepa
Microbot
Posts: 189
Joined: Sat Feb 03, 2018 6:14 pm
Location: Austin, Texas

Re: TileMap v1.0

Post by Kweepa » Sun Oct 28, 2018 3:52 pm

This is incredible! Great work!
I love that it only runs the rooms you can see, and presumably has to synchronise them when they are revealed.
And even fully zoomed out in JSW the 64bit version only uses about 25% CPU and runs at 50fps (on my laptop).

I have a couple of suggestions:
- presumably Spindizzy is drawn back to front. If the player sprite is blocked you could just draw the room(s) in front semi transparent, fading them in and out... Oh, having read the controls I see you manually turn off the other rooms. Probably a lot more work then.
- the movement from room to room is rather jerky in the video. maybe if the player xy doesn't change much you could move more smoothly (eg using a damped approach function).
0 x

obo
Berk
Posts: 12
Joined: Sat Sep 01, 2018 10:08 am
Location: Nottingham, UK
Contact:

Re: TileMap v1.0

Post by obo » Sun Oct 28, 2018 5:55 pm

llewelyn wrote:
Sun Oct 28, 2018 2:54 pm
An explanation would be nice!
I'd say more people have been confused by it than got it straight away! It lets you play the original games, but see more than just a single room. That's about all it does. I'll write up some details on how it works, in case anyone wants to try converting other games (not all are suitable).

Einar Saukas wrote:
Sun Oct 28, 2018 3:25 pm
Great app!

It would make games like Sabre Wulf a lot easier. You would instantly see location of all map pieces and the path to reach them...
I've mostly added Sabre Wulf, but have some data synchronisation issues to solve, so it didn't make it into v1.0. You're right it does make the games a lot easier, though I've been enjoying just exploring -- that's why game cheats are on by default too. :)

Ralf wrote:
Sun Oct 28, 2018 3:39 pm
I've got an error message at start:

Sorry, your D3D hardware lacks structured buffer support

Does it mean that some modern graphic card is required?
I've tested it on systems with Intel integrated graphics from a few years ago, so it shouldn't need anything too new or fancy. It could be worth updating your graphics drivers to see if that helps. Failing that, PM me some hardware details (motherboard and/or graphics card) and I'll look into it. The structured buffers are needed for byte-level access to the Spectrum display data. At times it's converting hundreds of images every frame, so it needs to be pretty quick.

Kweepa wrote:
Sun Oct 28, 2018 3:52 pm
I love that it only runs the rooms you can see, and presumably has to synchronise them when they are revealed.
Maybe surprisingly, it doesn't need to do any synchronisation when they're revealed, it just continues running them from where they were. It mostly only needs to synchronise when you change rooms, unless there's some shared global state they need to track (Sabre Wulf does that for the Wulf and Natives).
And even fully zoomed out in JSW the 64bit version only uses about 25% CPU and runs at 50fps (on my laptop).
The CPU runs the Z80 emulations, and copies the Spectrum display data from each at the end of each frame, but that's about it. If you press End to zoom out in Starquake it's running 512 emulations in parallel, which pushes it the hardest of the currently supported games. The GPU still does most of the heavy lifting with display generation, and will probably be 20-50% on a typical system.
- presumably Spindizzy is drawn back to front. If the player sprite is blocked you could just draw the room(s) in front semi transparent, fading them in and out...
The tiles are drawn in the order they're added, but that happens to give enough back-to-front to give the desired effect. However, TileMap doesn't currently know when the player sprite is being blocked, as it sees only flat areas of screen data. Even the screen overlapping is an illusion, using an auto-generated mask. That said, it would be possible to use the coordinates of the main sprite, together with the mask data from screens that could obscure the current screen, to achieve that semi-transparent effect. It's those kind of possibilities that have made TileMap a fun project to work on.
- the movement from room to room is rather jerky in the video. maybe if the player xy doesn't change much you could move more smoothly (eg using a damped approach function).
It does use an easing function [sin(1.5707963 * t], but only over 200ms duration. It may be as simple as increasing the duration, which was mostly chosen for large map jumps. It could perhaps have different values depending on whether the new room is already visible -- short for large jump, longer for smaller pans. I experimented with smooth tracking of Willy in JSW, to always keep him centred, but it looked worse. I think it may be the 50Hz sync on a 60Hz monitor, so I'll have to try again when I can get hold of a GSync monitor.

Thanks for the feedback all!
4 x

User avatar
druellan
Manic Miner
Posts: 262
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: TileMap v1.0

Post by druellan » Mon Oct 29, 2018 11:18 am

What an incredible idea. ¡Love it! Game maps is something I'm starting to dig in, but this is on a whole new level.
0 x
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

Post Reply