MSXdev23 #02 - Tower of Damnation

MSXdev23 #02 - Tower of Damnation

by MSXdev Team on 06-03-2023, 09:47
제목: Challenges
태그: msxdev'21, msxdev23
언어 설정:

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

댓글 (33)

By Wlcracks

Hero (565)

Wlcracks의 아바타

06-03-2023, 11:37

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

By aoineko

Paladin (1002)

aoineko의 아바타

06-03-2023, 13:00

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

By mgoulart

Rookie (24)

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.

By mgoulart

Rookie (24)

mgoulart의 아바타

06-03-2023, 13:10

I took the screenshot moments ago.

By mgoulart

Rookie (24)

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.

By aoineko

Paladin (1002)

aoineko의 아바타

06-03-2023, 13:19

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

By Parn

Paladin (837)

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!

By mgoulart

Rookie (24)

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)

By aoineko

Paladin (1002)

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.

By mgoulart

Rookie (24)

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!

By Parn

Paladin (837)

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.

By mgoulart

Rookie (24)

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!

By ro

Scribe (4962)

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

By mgoulart

Rookie (24)

mgoulart의 아바타

06-03-2023, 14:41

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

By thalin

Resident (40)

thalin의 아바타

06-03-2023, 15:17

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

By Parn

Paladin (837)

Parn의 아바타

06-03-2023, 15:32

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

By konamiman

Paragon (1198)

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

By mgoulart

Rookie (24)

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).

By mgoulart

Rookie (24)

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.

By mgoulart

Rookie (24)

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.

By tfh

Prophet (3346)

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.

By konamiman

Paragon (1198)

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.

By gdx

Enlighted (6208)

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.

By inchl

Expert (83)

inchl의 아바타

07-03-2023, 09:38

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

By konamiman

Paragon (1198)

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.

By gdx

Enlighted (6208)

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.

By mgoulart

Rookie (24)

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.

By ToriHino

Paladin (855)

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.

By gdx

Enlighted (6208)

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

;	.
;	.
;	.

By mgoulart

Rookie (24)

mgoulart의 아바타

08-03-2023, 01:48

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

By gdx

Enlighted (6208)

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.

By mgoulart

Rookie (24)

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!

By tanuki

Supporter (14)

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.