Isometric games with SP1

ZX80, ZX 81, ZX Spectrum, TS2068 and other clones
Post Reply
sdolotom
New member
Posts: 7
Joined: Mon Mar 08, 2021 1:15 pm

Isometric games with SP1

Post by sdolotom »

Hello, it's a bit broad question. I'm at an early phase of developing an isometric game along the lines of Fairlight, Knight Lore etc. SP1 seems a perfect choice for it, in particular, because of its layer support, so no need to have an own back-to-front logic. It was quite easy to get sprites drawn in isometry. However, I'm not quite sure about drawing the walls/floors. Using regular sprites for them looks like an overkill, and I'm not sure how tiles would help. Hence, a couple of questions:

Is it possible to add a custom sprite drawing routine to draw the walls the way I want (e.g. filling a shape with a texture) without interfering with SP1-drawn sprites?
Are there examples of someone making an isometric game with SP1.

A Fairlight screenshot for reference:
Image
derekfountain
Member
Posts: 121
Joined: Mon Mar 26, 2018 1:49 pm

Re: Isometric games with SP1

Post by derekfountain »

I've never seen an isometric game done with SP1. It might work. :)

I know that just drawing onto the screen then displaying masked sprites doesn't work. SP1 needs to know about the screen so it can optimise its masking, which is why SP1 tiles are used for backgrounds. But there's a discussion here:

https://www.z88dk.org/forum/viewtopic.php?t=10754

which seems to describe how to drop a block of data into the screen and have SP1 understand it's there. I don't have time to process it right now, but it might do what you need. I'd be interested in what you work out.
sdolotom
New member
Posts: 7
Joined: Mon Mar 08, 2021 1:15 pm

Re: Isometric games with SP1

Post by sdolotom »

derekfountain wrote: Thu Mar 25, 2021 3:23 pm I know that just drawing onto the screen then displaying masked sprites doesn't work. SP1 needs to know about the screen so it can optimise its masking, which is why SP1 tiles are used for backgrounds.
I found a vague phrase here: https://www.z88dk.org/wiki/doku.php?id= ... prites:sp1
* Creating custom sprite types and draw code
among other features of SP1, but cannot find any elaboration on that. Perhaps will have to resort to reading the source.

I've also come across a site where a guy reverse engineered "The Great Escape", maybe, will find some inspiration there.

http://www.davespace.co.uk/the.great.escape/
Timmy
Well known member
Posts: 392
Joined: Sat Mar 10, 2012 4:18 pm

Re: Isometric games with SP1

Post by Timmy »

I don't see any problems with making isometric games with sp1.

Even though I haven't seen anyone using sp1 to make isometric games.

But no, I don't think it's very hard to make them, as long as you don't try anything special.

Tiles are very easy to use for the background walls and floor.

I could probably write a simple isometric game within a day, but I try not to make monochrome games. And I don't want to draw isometric graphics; it's a lot of work. Maybe I will, someday.

I don't understand your question, but we are always using tiles 0-255 for drawing tiles, but that's purely because we don't need more tiles. Did you notice that in some sp1 functions, the tile number parameter is a word and not a byte? The parameter can also be used as a word, and in that case it just means the address of the tile instead (at least that's what I heard).

Note that the techniques of drawing complicated isometric graphics is always going to be very hard to get it fast on the spectrum, and it will also use a lot of memory, with or without sp1.
sdolotom
New member
Posts: 7
Joined: Mon Mar 08, 2021 1:15 pm

Re: Isometric games with SP1

Post by sdolotom »

Thanks Timmy! I guess I'll try with tiles.
Post Reply