MSXdev23 #02 - Tower of Damnation

MSXdev23 #02 - Tower of Damnation

por MSXdev Team en 06-03-2023, 09:47
Tema: Challenges
Etiquetas: msxdev'21, msxdev23
Idiomas:

Here's the second enrollment, and it's another platformer. It's not your regular type, though. Most of us really liked platformers in our days, but sometimes it was just too bad that you could only dodge the baddies. Oh, how we wished to be able to just shoot at them!

In Tower Of Damnation, the title of the new game, you set out and rescue hostages, to finally exit the building at the top floor. If all's well, and you did your shooting, a helicopter will come save your party.

You can submit your own work here. Donating to the contest can be done here.

Relevant link: Tower of Damnation
Relevant link: Play online

Media browser (3)

  • MSXdev23 #02 - Tower of Damnation
  • MSXdev23 #02 - Tower of Damnation
  • MSXdev23 #02 - Tower of Damnation

Comentarios (33)

Por Wlcracks

Hero (565)

Imagen del Wlcracks

06-03-2023, 11:37

Does this work? The file doesn't contain ROM headers?

Por aoineko

Paladin (1002)

Imagen del aoineko

06-03-2023, 13:00

With WebMSX the game seem to hang on the main menu.

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 13:19

Yes it's working both in emulators (fMSX and WebMSX) and real machines (tested on Panasonic WSX and SM-X HB from Victor Trucco). About the ROM headers I think that the ROM structure seems different because this game was created using MPAGD engine.

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 13:10

I took the screenshot moments ago.

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 13:12

aoineko,

The default controller for this game is WASD for movements, O for jump, P for shoot and H for pause. You can redefine the keys using the menu selection.

Por aoineko

Paladin (1002)

Imagen del aoineko

06-03-2023, 13:19

Oh yes. This is not a usual choice for the default configuration. Smile

Por Parn

Paladin (837)

Imagen del Parn

06-03-2023, 13:20

It has a strange default keyboard control scheme, so unless you already know the default keys you can't even redefine them. Referring to the manual, you use W and S to navigate the menu and O to select the highlighted option. The game itself is very playable and fun to play. Graphics are simple but they have personality and charm. I didn't see much of the game but I enjoyed the music as well. Well done, Marcelo!

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 13:30

This control scheme is intentional for two reasons:

1 - Almost all modern platform games from PC uses WASD for movement
2 - Some real machines have terrible cursor keys (I really dislike Hotbit cursor keys)

Por aoineko

Paladin (1002)

Imagen del aoineko

06-03-2023, 13:54

WASD should be ZQSD on French MSX. Wink
At least the keyboard arrows are compatible with all MSX.
That said, you could support both configurations simultaneously.

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 13:57

OMG! I didn't realize that we can have different keyboard layouts!

LMAO!

Anyway, at least you need to redefine keys just once and play with the selected configuration!

Por Parn

Paladin (837)

Imagen del Parn

06-03-2023, 14:08

Just saying, this may be true for modern PC games, but is pretty unexpected when it comes to MSX games (unless we are talking about some ZX Spectrum conversions, which obviously is not the case). Of course you can redefine the keys every time you want to play, but without external instructions (like the manual) it may be challenging. I wonder if @aoineko's suggestion is feasible, but it may lead to conflicts if you can redefine one set of keys and not the other.

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 14:15

If MSXDev allows me to upload a update using cursor keys as default keys I will do it!
I will send an email right now!

Por ro

Scribe (4963)

Imagen del ro

06-03-2023, 14:30

About the default keys, this is why we leave a link to the original msxdev section where you'll find such info Wink

But, real men don't rtfm ofcourse Smile

Por mgoulart

Rookie (24)

Imagen del mgoulart

06-03-2023, 14:41

And about the manual please look it! It took my soul to create it! Smile

Por thalin

Resident (40)

Imagen del thalin

06-03-2023, 15:17

The manual is impressive! MPAGD seems to be a powerful tool!

Por Parn

Paladin (837)

Imagen del Parn

06-03-2023, 15:32

Not gonna lie, the manual is awesome. Very pretty.

Por konamiman

Paragon (1198)

Imagen del konamiman

06-03-2023, 18:32

mgoulart wrote:

This control scheme is intentional for two reasons:

1 - Almost all modern platform games from PC uses WASD for movement
2 - Some real machines have terrible cursor keys (I really dislike Hotbit cursor keys)

Please keep in mind that using the cursor keys for menu navigation and movement in games is a very old defacto standard for MSX games and is thus very strongly engraved as "muscle memory" in pretty much all the current MSX users (and sorry, but "some machines have bad cursors" doesn't seem a quite convincing rationale for ignoring this fact). If I had tried the game without reading this forum or the manual I would just have assumed that the game didn't work and moved on.

What about allowing cursors and at the same time any other redefinable key configuration (WASD or whatever) by default? Then everybody would be happy. Smile

Por mgoulart

Rookie (24)

Imagen del mgoulart

07-03-2023, 00:22

I will upload a new version changing the default keyboard layout for cursor + space (shoot) + control (jump) + P (pause).

Por mgoulart

Rookie (24)

Imagen del mgoulart

07-03-2023, 02:10

Just a quick message, if I delete the DEFINECONTROLS from agd file the keyboard layout will be:

Movement: Cursor keys
Fire 1: Space
Fire 2: "M"
Fire 3: "N"

I will keep this layout. The only problem is that I forgot to save the last version of my project. I need to redo some code that I made for the menu.

Unfortunately I will take a loger time to solve it.

Por mgoulart

Rookie (24)

Imagen del mgoulart

07-03-2023, 04:08

I just uploaded the new version with the new default keymapping.

Movement: Cursor keys
Jump: Space
Fire: "M"
Pause: "N"

It's not perfect but it will improve a lot of your experience at least for redefine your keys.

Por tfh

Prophet (3346)

Imagen del tfh

07-03-2023, 08:41

mgoulart wrote:

I just uploaded the new version with the new default keymapping.

Movement: Cursor keys
Jump: Space
Fire: "M"
Pause: "N"

It's not perfect but it will improve a lot of your experience at least for redefine your keys.

Cool Smile
I've also updated the online playable version.

Por konamiman

Paragon (1198)

Imagen del konamiman

07-03-2023, 08:53

mgoulart wrote:

Movement: Cursor keys
Jump: Space
Fire: "M"
Pause: "N"

One more suggestion if you are willing to make more changes: make "M" and "N" the fire keys, and F1 the pause key. That way you get a very Konami-ish set of controls. Smile

By the way, redefinable controls is a very nice feature that isn't often seen in MSX games, so kudos for that.

Por gdx

Enlighted (6213)

Imagen del gdx

07-03-2023, 09:05

Nice game but, Stop making the choice of joystick or keyboard manually via the keyboard. It is so easy to select the joystick A/B or the keyboard by simply pressing the joystick A/B trigger or Space to start the game. It improves the gameplay a lot.

Por inchl

Expert (83)

Imagen del inchl

07-03-2023, 09:38

Why keyboard or joystick? Just use both at the same time!

Por konamiman

Paragon (1198)

Imagen del konamiman

07-03-2023, 10:23

gdx wrote:

Nice game but, Stop making the choice of joystick or keyboard manually via the keyboard. It is so easy to select the joystick A/B or the keyboard by simply pressing the joystick A/B trigger or Space to start the game. It improves the gameplay a lot.

It's also easy to allow using the keyboard and the joystick simultaneously during the game, thus not needing any choice at all. All the Konami games except the older ones, for example, work like that.

Por gdx

Enlighted (6213)

Imagen del gdx

07-03-2023, 13:10

Yes, absolutely, I don't understand why there are still games in which we have to select the joystick with the keyboard. At most, there should be just something to configure the keyboard keys.

Por mgoulart

Rookie (24)

Imagen del mgoulart

07-03-2023, 14:11

Guys,

I tried everything to use keyboard/joystick simultaneously. I searched in MPAGD forum, some tutorials but nothing. So I conclude that there is no support for this in MPAGD or I'm a dumb that don't know how to do it.

About the new key mapping, on MSX suite for MPAGD, DEFINECONTROLS command needs to be removed from agd file to enable the new default keymapping (Cursor + Space + M + N + 1 + 2 + 3 + 4).

There is no options to remapping this controller inside agd file in order to enable a custom keymapping. The only option is inserting an instance in game menu allowing users to redefine keys as they wish.

I'm really happy that you guys are giving me some feedbacks and kind words! I received an email from MSXDev about incompatibility with MSX2+ and Turbo-R for the game. If you guys can test it, I will really appreciated since I don't have a GT or ST. I tested the game in emulators (Webmsx and fMSX) and in real hardware (Panasonic WSX and SM-X HB from Victor Trucco). For all scenarios, it worked.

I have 3-4 new games planned to develop in MPAGD.

Por ToriHino

Paladin (855)

Imagen del ToriHino

07-03-2023, 20:21

I quickly tried your game on a real Turbo-R ST and both Pal and Ntsc versions work fine on that.

Por gdx

Enlighted (6213)

Imagen del gdx

08-03-2023, 01:05

mgoulart wrote:

I tried everything to use keyboard/joystick simultaneously. I searched in MPAGD forum, some tutorials but nothing.

In assembler, instead of testing simultaneously, you can do something like that:

	GTTRIG	equ	000D8h	;Get trigger button status
	GTSTCK	equ	000D5h	;Get joystick status

;	.
;	.
;	.

; Condition to start a game

WaitStrigger:
	xor	a
	call	GTTRIG
	dec	a
	jr	nz,Trigger	; jump if Space is pressed
	ld	a,1
	call	GTTRIG
	dec	a
	ld	a,1
	jr	nz,Trigger	; jump if trigger is 1-A pressed
	ld	a,2
	call	GTTRIG
	dec	a
	ld	a,2
	jr	z, WaitTrigger	; jump if trigger 1-B is not pressed
Trigger:
	ld	(0C000h),a	; store the value 0, 1 or 2 for keyboard, joystick A or B
;	.
;	.
;	.

; Condition in game

	ld	a,(0C000h)
	call	GTSTCK		; Test cursor keys or joystick A/B

;	.
;	.
;	.

	ld	a,(0C000h)
	call	GTTRIG		; Test Space key or joystick trigger 1-A/1-B

;	.
;	.
;	.

Por mgoulart

Rookie (24)

Imagen del mgoulart

08-03-2023, 01:48

I will try to see how I can insert this script inside MPAGD.

Por gdx

Enlighted (6213)

Imagen del gdx

08-03-2023, 08:30

I made little mistakes.

	ld	a,2
	call	GTTRIG

must be:

	ld	a,3
	call	GTTRIG

and "WaitStrigger:" must be "WaitTrigger:".

GTTRIG and GTSTCK routines are described here:

https://www.msx.org/wiki/Main-ROM_BIOS#Game_controllers.2C_M...

The controller number is stored at C000h in my example but you can choose of course the address that suits you. I don't know MPAGD.

Por mgoulart

Rookie (24)

Imagen del mgoulart

12-03-2023, 04:05

I just sent to MSXDev a new update for ToD.

Today we had here in Rio de Janeiro, the biggest MSX event from Rio (MSXRio). Many people were able to test the game and some bugs were found today.

- Game crashes in few screen because the horizontal sprite limite
- Gunner enemy behavior wasn't correct
- Controller selection wasn't saved after the game is over

All of them was corrected in 1.2 version that will be avaliable soon in MSXDev.org.

Thanks for enjoying the game!

Por tanuki

Supporter (15)

Imagen del tanuki

16-04-2023, 17:34

Will this game be published by someone? I like it, I would like to publish it with Côté Gamers.