Source: ASM

ASM's GFX9000/turboR game Ghost 'n Goblins gets more and more features complete, with the addition of an SCC soundtrack composed in TriloTracker. In this short teaser you can see the current status of the game and hear the new SCC replayer in action. It seems like one of the few things left to do is add some nifty sound effects for a feature complete GFX9000/turboR/SCC game engine.

Relevant link: Ghosts 'n Goblins teaser with TriloTracker SCC soundtrack

Comments (23)

By snout

Ascended (15187)

snout's picture

19-04-2013, 14:18

Very nice soundtrack, this game is looking (and sounding) more and more promising!

By JohnHassink

Ambassador (5389)

JohnHassink's picture

19-04-2013, 14:23

I'm sure this music is just to test the replayer though. This is (a beta of) how it's supposed to sound:
http://www.youtube.com/watch?v=YqgM-ebElB0

By guantxip

Paragon (1594)

guantxip's picture

19-04-2013, 15:52

Yes, the song was the first one we find to test the driver.

By [D-Tail]

Ascended (8232)

[D-Tail]'s picture

20-04-2013, 11:56

JohnHassink wrote:

I'm sure this music is just to test the replayer though. This is (a beta of) how it's supposed to sound:
http://www.youtube.com/watch?v=YqgM-ebElB0

Am I the first one to get that authentic MicroCabin'esque feeling here? Thanks a lot for your great music John! :D

By mars2000you

Enlighted (5481)

mars2000you's picture

20-04-2013, 12:07

Unfortunaly, the stereo is missing Sad

By snout

Ascended (15187)

snout's picture

20-04-2013, 16:00

SCC != stereo

By mars2000you

Enlighted (5481)

mars2000you's picture

20-04-2013, 16:42

PSG + SCC = stereo for stereo fans (also PSG + MSX-MUSIC or PSG + MSX-AUDIO for example), you just need to use a good mixer (real or virtual) !

By mesiasmsx

Prophet (3134)

mesiasmsx's picture

25-04-2013, 11:26

Great port!! I want a gfx!!

By hap

Paragon (2020)

hap's picture

25-04-2013, 19:46

If I may know, how optimized is the replayer by now? (aka: how many scanlines per frame spent on the replayer, min/max/average) =)

By assembler

Champion (375)

assembler's picture

25-04-2013, 21:15

I don't know how to calculate the scanlines.
The main loop (during development) is:

bucle_externo:
	ld hl,pantalla_actualizada  ;<-Set to 1 at each interruption
	ld a,1
        ld de,0
bucle_principal:
	inc de 
        cp [hl]
        jr nz,bucle_principal
        ....
        ;engine code
        ....
        xor a
        ld [pantalla_actualizada],a
        jp bucle_externo

Without music, DE reaches ~13000.
With the player, DE is about ~10000

So the player consumes 3000/28 (according jannone BiT)~= 107 cycles in each interrupt.

Calculations may not be correct, but I have no more info.

The player is a BETA version, so is not yet optimised.

By ARTRAG

Enlighted (6192)

ARTRAG's picture

26-04-2013, 23:42

For those curious to see how G&G would have looked like on msx2 link

Try on openmsx with dirasdisk under msx2.

PS
The Star Trek ship is by Toni Galvez and naturally here it is only a placeholder
;-)

By guantxip

Paragon (1594)

guantxip's picture

27-04-2013, 09:42

We are studying this possibility for further on. The idea was almost to do it in msx2+ using sprites OR on screen5. Really I have some sprites OR of the first stage . The flickering would be the problem if there are too many enemies on horizontal line. I think the palette in sc8 for sprites is fix and is not good for OR combinations.

By ARTRAG

Enlighted (6192)

ARTRAG's picture

27-04-2013, 09:52

In case you go for msx2 (not for msx2+) let me konw, maybe some of the SW scrolling routines could fit for your needs.
In the same google site page, if you download v1 of the G&G test you will see the z80 used as white bar in the border link

By assembler

Champion (375)

assembler's picture

27-04-2013, 09:53

Do you think is possible to make multidirectional scroll with your routine?

By ARTRAG

Enlighted (6192)

ARTRAG's picture

27-04-2013, 11:15

If you stay with the 4 main directions it should be quite simple.
The sole real difference with respect to a standard vertical scrolling would be that the tiles in my code needs to stay in rom/ram, and stored by columns, so it would be up to the z80 fill the new horizontal line (i.e. 256 -16 = 240 bytes) entering in the lower or upper border of the screen by accessing to the tiles in ram.
The tricky part would be diagonal movements. Maybe that would be possible too, but a bit hard to implement and very cpu intensive. The z80 should plot 240 bytes/pixels + a column of additional 176 bytes).

ps
in version 3 I fixed few small problems in the map

By syn

Paragon (1917)

syn's picture

01-05-2013, 13:30

I just realised, this replayer was made by you (ASM) guys? Or did Trilobyte supplied you with one?

By ARTRAG

Enlighted (6192)

ARTRAG's picture

01-05-2013, 15:05

It is an early beta by trilobyte that will come with tt

By syn

Paragon (1917)

syn's picture

01-05-2013, 16:10

Good news then, regarding the replayer Wink since im planning to use TT for my current project as well.

By Colemu

Hero (531)

Colemu's picture

02-05-2013, 20:17

Looks like a promising game,
not something that makes me want to buy a GFX9000 though...

By anonymous

incognito ergo sum (109)

anonymous's picture

02-05-2013, 23:28

[D-Tail wrote:

Am I the first one to get that authentic MicroCabin'esque feeling here? Thanks a lot for your great music John! Big smile

Thanks D-Tail! In that case, get a load of this: Wink
http://www.msx.org/forum/msx-talk/software/trilotracker-fm-v...

By Colemu

Hero (531)

Colemu's picture

16-08-2014, 21:30

OK, after playing the demo I'm sold.
Any progress on this game? Hope it's eventually finished Smile

By assembler

Champion (375)

assembler's picture

18-08-2014, 08:48

Now I'm working on the engine, which I share with "Losaben Akel". All maps are already packed, and I only need play some tetris to fit optimally all the sprites of each phase before starting to code each enemy.
The development is slow, but not stop.

By Grauw

Ascended (8208)

Grauw's picture

18-08-2014, 13:23

assembler wrote:

I don't know how to calculate the scanlines.

It’s a very convenient, precise and often-used visual performance measurement technique.

Set the background colour to e.g. red at the start of your VBLANK-synchronised code, and set it back to black when the code is done. Now you can see in the borders of your screen how many scanlines the code takes to execute. One scanline corresponds to 228 Z80 clock cycles (about 64 µs).

During Synthesix development I keep it running all the time, if I add something that is very costly I can see it immediately, and I can do before-after comparisons and write into my commits “this costs 10 extra scanlines” or “this optimisation saved 6 scanlines”.