MSXdev23 #29 Xelden Ring

MSXdev23 #29 Xelden Ring

by MSXdev Team on 17-10-2023, 18:37
Topic: Challenges
Languages:

If you're a regular MSXdev stalker follower, you where probably wondering "Will Santi enter this year?" - well, he did!

Continuing with his X-branded games series, author Santi (aka Brain Games) enters the MSXdev23 with a true MSX1 3D action RPG style called Xelden Ring. The game follows in the category of "happy world turned into hell when demons arrived". Your job is clear, rid the world of the baddies.

By the way, this is MSXdev23's last published game - deadline has passed.

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

Relevant link: Xelden Ring
Relevant link: Play online

Comments (52)

By Uninteresting

Champion (378)

Uninteresting's picture

17-10-2023, 18:42

Impressive. (I haven't done more than walked a bit around, especially I didn't read the manual so I haven't truly played it.)

By Bengalack

Paladin (881)

Bengalack's picture

17-10-2023, 19:03

OMG! This is impressive! I've seen clunky screenshots from 3d-games and slow videos on youtube from other 3d-demos, so my expectations were low on the 3d-feeling of the game. But I'm surprised it plays o well. It does, and probably thanks to a good framerate!

So cool to see people making games outside the norm! Taking on the challenge. I like the level msxdev23 is at Smile

By Totta

Expert (114)

Totta's picture

17-10-2023, 19:06

Witchcraft!!! Our old MSX1 can't surely do 3d this well.
I'd say let's burn the game

By Bengalack

Paladin (881)

Bengalack's picture

17-10-2023, 19:12

Dig that title screen as well. Cool, tasteful and clean.

By santiontanon

Paragon (1872)

santiontanon's picture

17-10-2023, 19:14

Thanks guys! One note though is that frame rate is only smooth on a Turbo R haha. If you play on a Z80 machine, I did my best, but things are much more choppy haha Wink

One quick note: press "X" in the title screen to checkout all the keys. Control is a bit complex unfortunately. But quickly: move with arrow keys, rotate with WASD, change camera mode with Q. Many more keys, but just to walk around that should get you started Smile

By Uninteresting

Champion (378)

Uninteresting's picture

17-10-2023, 19:22

Totta wrote:

Witchcraft!!! Our old MSX1 can't surely do 3d this well.
I'd say let's burn the game

Burn it to a ROM?

By Micha

Master (129)

Micha's picture

17-10-2023, 19:27

Wow, real 3D on the MSX! and I like the easy music (just like I did with the Westen House music). Title screen looks really good !

By ToriHino

Paladin (959)

ToriHino's picture

17-10-2023, 19:27

When starting it on an MSX 2+ (at least online) the game goes into random errors. Mostly the 3D rendering is completely off and you can see the player twice, sometimes also the boxes below are filled with strange characters, and some times it goes into a mostly black screen. On MSX1, 2 and Turbo-R however it works fine.

Especially on Turbo R it looks impressive.

By santiontanon

Paragon (1872)

santiontanon's picture

17-10-2023, 19:45

Oh, thanks ToriHino for the report! I'll check what is the problem with MSX2+ tonight! I have some ideas of what might be happening, but let's see. But probably that's what happens when finishing the submission the day before the deadline lol ¯\_(ツ)_/¯

By hap

Prophet (2049)

hap's picture

17-10-2023, 20:34

I killed some slimes and went to Earthsobar. The signs say NSEW, but there is no compass? Or is there an item that for that later, maybe the 'world map'? Strange that you need to use the Jump button instead of 'E' when talking with the guildmaster or shopkeeper.

Impressive 3D graphics, if I were to play longer, I don't think I'd mind the choppy framerate (get used to it eventually). For example I enjoyed Out Run on MSX1.

By FranChesstein

Supporter (15)

FranChesstein's picture

17-10-2023, 20:49

Awesome !!!
Big smile

By shalafi

Master (191)

shalafi's picture

17-10-2023, 20:51

Ok, Santi, this is definitely Wizardry, this should not be possible.

I recall I had a similar idea, but it was on large steps and turns by 90 degrees, classic labyrinth style game,

This is something else completely. I shall try it on a real computer just to see my jaw drop.

By santiontanon

Paragon (1872)

santiontanon's picture

17-10-2023, 21:11

Thanks!!!

@hap: there is a compass, it's hidden somewhere in the forest Wink, and also a world map, sold in the shop, but I realize I made it too expensive haha. I will make it cheaper in future versions. Also, oh! the interaction thing must be a bug, it should be "E" for both the guild master and shopkeeper. I'll look into it!

@shalafi: oh! you should do it! I remember playing lots of hours of Zig Zag in the Spectrum which is that type of game!!

By ARTRAG

Enlighted (7003)

ARTRAG's picture

17-10-2023, 21:15

SORCERY ! This 3D is insane !! Big smile
Greetings Santi !!

By ARTRAG

Enlighted (7003)

ARTRAG's picture

17-10-2023, 21:18

@hap you know the direction of the town where you start, so you can deduct the directions of Earthsobar

By Rataplan

Champion (364)

Rataplan's picture

17-10-2023, 21:27

Holy cow, yeah on MSX1 it's choppy, but still. But on Turbo R it has to be the best 3D so far? I'm absolutely amazed by the freedom of movement. Great achievement!

By Parn

Paladin (864)

Parn's picture

17-10-2023, 22:16

Just amazing. And even though a bit choppy, it's quite playable at 7MHz, FPGA users rejoice. Smile

By Maggoo

Paragon (1221)

Maggoo's picture

18-10-2023, 04:36

Mind blown! How is this even possible? Fantastic job Santi!

By Guillian

Prophet (3540)

Guillian's picture

18-10-2023, 10:27

(O_____O) Impressive job! I can't barely belive the game is running on a MSX.
Congratulations, Santi!

By gdx

Enlighted (6635)

gdx's picture

18-10-2023, 14:16

Oh, a 3D game on MSX that's nice to see! I hope you can finish it someday.

By pitpan

Prophet (3158)

pitpan's picture

18-10-2023, 17:12

Congratulations. The CPUs probably hate you, Santi! Impressive coding.

By hap

Prophet (2049)

hap's picture

18-10-2023, 18:01

santiontanon wrote:

Also, oh! the interaction thing must be a bug, it should be "E" for both the guild master and shopkeeper. I'll look into it!

I meant after the initial interaction. it looks like it's C or Space, C makes sense to me but Space does not (then again, to people only used to MSX, maybe it does).
When I played it yesterday, I didn't realize you could push small cubes, so I had nothing to do in Earthsobar. Today, I reached the end of the game, playing with an overclocked Z80 on meisei. It has the potential to become a good RPG.

By santiontanon

Paragon (1872)

santiontanon's picture

18-10-2023, 18:39

Ah! I see! yes, it's SPACE/C for skipping text boxes, but you have a point, I'll add "E" for that too!

And great to hear you reached the end of the game! It means it's not that unplayable hahaha But also good point about pushing objects, I should add a hint somewhere that that's a possibility.

By hap

Prophet (2049)

hap's picture

18-10-2023, 19:08

I don't know, 'Souls' type games are known for not doing much hand holding for the player. It just means yesterday I was too stupid to figure it out.

By mohai

Paragon (1051)

mohai's picture

18-10-2023, 19:32

Amazing work !!!!
This game looks better and faster than the old Freescape games for ZX.
I hope not be the guilty one that made Santi do this game. LOL! LOL!

By NYYRIKKI

Enlighted (6127)

NYYRIKKI's picture

18-10-2023, 20:02

That is really insane stuff, right here!

Once again true Santi quality: Not only a impressive technically, but also containing good playable content. Absolutely a masterpiece!

However after saying that the controls really need some tweaking IMHO... I tried to play with default controls, but my brains did not agree. I then swapped A/D with Left/Right and was very extremely happy gamer for a while... But then in a church the priest sent the killer skeleton after me and he killed me pretty much instantly as I was totally lost with my keys again.

Could there maybe be different key definitions for different camera modes?

By albs_br

Hero (518)

albs_br's picture

19-10-2023, 03:21

Insane stuff. Eager for a technical breakdown on the blog, it would be great.

By max_iwamoto

Paladin (695)

max_iwamoto's picture

19-10-2023, 04:37

Very nice to play on Turbo R.

By NYYRIKKI

Enlighted (6127)

NYYRIKKI's picture

19-10-2023, 05:06

Sorry to say, but I could not really play it like this, so I had to do something...

Here is now quick 'n dirty patch for the keyboard: https://msx.fi/temp/xelden_demo_keys.ips

Now I think it feels SO much better to play and much more logical. The right hand now controls all the time direction of face regardless if you are in 3D mode or in camera mode and overall it feels a lot more like good old Doom controls (left hand is now either stafe / up & down OR cameraman control depending of mode)... Little warning that I did render the keyboard configuration tool mostly useless in the process though, so you are stuck with WASD + cursors for now. The game is anyway under heavy development, so this is meant just as POC.

By aoineko

Paragon (1207)

aoineko's picture

19-10-2023, 08:57

I agree with NYYRIKKI; the game is much more enjoyable to play with forward/backward and turn right/left on the keyboard arrow keys. In fact, what's missing is the ability to save your key configuration (in a PAC cartridge or in the CMOS, for example).

By Sepulep

Resident (43)

Sepulep's picture

19-10-2023, 12:50

I would say the game needs mouse support Wink

By santiontanon

Paragon (1872)

santiontanon's picture

19-10-2023, 13:28

Haha, Thanks Nyyrikki! Not in my personal computer right now, so, can't test your patch. So, in fixed camera mode, left/right still move your player left/right and in "doom camera mode" they rotate?

By hap

Prophet (2049)

hap's picture

19-10-2023, 15:34

Yeah, configurable controls for fixed camera mode would be nice. And also the ability to reconfigure controls mid-game.

Some other suggestions? (other than making the game 6 to 10 times larger Wink )
- shopkeeper always says you found a sword, with anything you buy (bug)
- press E in inventory to identify item
- combine multiple potions into 1 icon, like you do with rocks
- ability to sell items (like dagger when you upgrade your weapon)
- pause game when accessing inventory? Though it could be intentional you need to hide from a boss before drinking a potion.

By theNestruo

Champion (444)

theNestruo's picture

19-10-2023, 16:28

One more suggestion:
- On fixed camera mode, instead of just moving the camera when the player goes too far, also turn the camera towards the player. It would feel more natural and it would be easier to explore areas (in MSX1, where you are most likely to use the fixed camera mode)

By santiontanon

Paragon (1872)

santiontanon's picture

19-10-2023, 17:21

Thanks!! Great suggestions! I am noting everything down, and will experiment with all of these! I am taking a little break this month to finish some other things haha, but I'll be back to this and post updates once allowed (after the dev deliveration time is over) Smile

I am particularly interested in controls/camera, as I am aware this is the weakest part of the game. So, I'll definitively iterate on this based on your suggestions!

By NYYRIKKI

Enlighted (6127)

NYYRIKKI's picture

19-10-2023, 19:55

santiontanon wrote:

Haha, Thanks Nyyrikki! Not in my personal computer right now, so, can't test your patch. So, in fixed camera mode, left/right still move your player left/right and in "doom camera mode" they rotate?

Yes, exactly.

By JGM

Master (149)

JGM's picture

20-10-2023, 10:46

Wow, this is MAGIC! great work! Againg Smile Smile

By Sandy Brand

Champion (320)

Sandy Brand's picture

21-10-2023, 21:33

Great job! Smile

By DarkSchneider

Paragon (1034)

DarkSchneider's picture

22-10-2023, 14:28

One thing I like is that Santi games always have its own distinctive flavor.

By ren

Prophet (2056)

ren's picture

22-10-2023, 16:56

Quote:

its own distinctive flavor

Yeah, too bad ghost_jp seems to have halted (MSXdev) development, he made it some kind of sport to compete with Santi right? ;)

By NYYRIKKI

Enlighted (6127)

NYYRIKKI's picture

22-10-2023, 19:20

The demo was a bit short, but I must say I really enjoyed it...

I found at least one clear bug... On the road to Tendara (go out of Middlebridge and go to right) it seems you can push the blocks trough all the walls. I noticed also that if you are near the wall that has candle and you turn away from the wall the candle is left between player and camera although the camera can see trough the wall... Not quite sure how to fix that though... Maybe these sprites should have pointing direction as well so that they are not visible if they are looked from behind? Also it seems that although you can't walk trough the walls, it seems that you can anyway hit opponents even trough walls.

Overall very, very, very impressive demo!

By NYYRIKKI

Enlighted (6127)

NYYRIKKI's picture

23-10-2023, 07:53

theNestruo wrote:

One more suggestion:
- On fixed camera mode, instead of just moving the camera when the player goes too far, also turn the camera towards the player. It would feel more natural and it would be easier to explore areas (in MSX1, where you are most likely to use the fixed camera mode)

I'm not quite sure this makes life more easy as it makes running/attacking to certain direction very much harder. (if you ie. keep going left you just end up running around in hexagon shape or so.) On many games the camera works quite close like this (camera is like on a rope hanging behind the the protagonist), so people are quite used to this kind of controls, but I'm quite worried how well it works when the world updates in these kinds of large steps every once in a while instead of all the time and when your player is not in middle of screen, but all over the place until control directions just change again on next whole screen update.

One thing in this mode that I would like to see changed though is that when you rotate the camera, it now rotates around it self. It would make much more sense if it would rotate around our tainted like in 3D-mode.

santiontanon wrote:

I am particularly interested in controls/camera, as I am aware this is the weakest part of the game. So, I'll definitively iterate on this based on your suggestions!

One thing that I think could be pretty cool way to solve ie. the "candle problem" I mentioned would be just to prevent camera going trough walls. If there is no enough space behind our tainted one, the camera could just automatically tilt towards filming from top and when you move forward it could just "drop from the wall" back to selected position (I hope you get what I mean). Technically I mean there should be one vector "drawn" from player towards camera and then checked if the vector needs to be clipped. Then the vector length could be used to fetch a minimum camera tilt angle.
Would that be too CPU intensive(?) I have no idea. It would not prevent camera going trough ceiling, but that should not be a real problem. In modern games the camera usually tilts to side and maybe zooms in a bit, but this up/down movement should be more easy especially as you have implemented this camera movement already.

One thing I would also like to see implemented would be that the camera direction would be preserved when you walk from one "room" to another. Now ie. if you press down-key to walk away from room, you will end up to loop where you change rooms again and again.

By santiontanon

Paragon (1872)

santiontanon's picture

23-10-2023, 15:24

Thanks for all the additional comments/suggestions @NYYRIKKI!!

- About torches/camera in walls: actually all objects have a direction, so, the engine does know if it's rendering from behind, the side, etc. I had not thought about it, but I think your idea of disabling torches when rendering "from behind" is a great idea! I could just not assign any sprite to the "from behind" view (all objects have 4 sets of sprites assigned to them for rendering from: front, left, right, back). Great idea!
- I hope the above will already for the "camera in walls" issue. Preventing cameras from getting into walls is not too hard if we only consider the "outer walls of a room" (for inner walls, it's more complex). I didn't do it, as I have no way for "zooming in" even more on the player if the camera is very close (due to sprite size limitations, I can only "zoom out" Wink ), and perspective gets confusing to the eye haha
- And yeah, good point about entering a door "backwards", it happens to me all the time, and I often debug the game using 400% emulator speed, and exiting a door backwards is hilarious at that speed, as you change rooms like 15 times in a single key stroke hahaha. Added to my to do list!
- re: "pushing blocks through walls": oh, that's definitively a bug, you should not be able to. I'll check it out. To save some CPU, I do not assign collision box to objects that are just planes rather than boxes (e.g. outer walls), and maybe I messed up and did not assign proper collision boxes to some objects in that room haha. I'll check it out!
- re: "this version being short": yeah, I unfortunately ran out of time, and could not add more content. But oh well, I take the positive side: I got lots of feedback on the game early that I can incorporate in the final version Smile

@ren: yeah! I miss @ghost_jp too, loved his games and his fun attitude towards the competition!

By ATroubleshooter

Expert (119)

ATroubleshooter's picture

24-10-2023, 00:10

Splendid!

By mzoran

Master (167)

mzoran's picture

28-10-2023, 12:03

I admit that I lack knowledge about R800 capabilities. Regarding 3d computations is it in the same league like Amiga or 286 ?
Kudos to author and hoping to see technical breakdown.

By albs_br

Hero (518)

albs_br's picture

28-10-2023, 20:02

@santiontanon, does it use multiplication instructions of R800?

By santiontanon

Paragon (1872)

santiontanon's picture

29-10-2023, 00:35

I have actually never compared the speed of the R800 when compared to the 68000 or a 286 when it comes to integer arithmetics. But I am sure this has been discussed elsewhere, I'll check! But it's always hard to compare different processors with different architectures, they are probably faster in some things, slower in others, etc.

@albs_br: yes it does! but it does not save much honestly. The multiplication instructions in the R800 are not really that much faster than a fully optimized multiplication routine. After seeing how little did I gain by using the native operations, I even considered removing this feature altogether to save some space in the ROM (so that I do not need to keep two versions of some routines). But since for this version I was not very tight on space yet, I decided to keep it Smile

By Mumbly

Expert (128)

Mumbly's picture

10-11-2023, 15:39

68000 arithmetic is fast compared to a Z80, even a R800, not only because of the clock speed (8Mhz) but also due to the number of 16 bits accumulators available as well as the operations set possible on these registers, that's why I'm so impressed by what you did, I can imagine to make it on a 68000, and it's even not that easy, but I really don't know how you did it on a z80. Congratulations for this. I hope, one day, you will explain how you did it, I'm interested.

By tfh

Prophet (3491)

tfh's picture

10-11-2023, 17:18

Mumbly wrote:

68000 arithmetic is fast compared to a Z80, even a R800, not only because of the clock speed (8Mhz) but also due to the number of 16 bits accumulators available as well as the operations set possible on these registers, that's why I'm so impressed by what you did, I can imagine to make it on a 68000, and it's even not that easy, but I really don't know how you did it on a z80. Congratulations for this. I hope, one day, you will explain how you did it, I'm interested.

Knowing Santi, you can expect an extensive explanation at a later stage.

By santiontanon

Paragon (1872)

santiontanon's picture

16-11-2023, 22:14

Hehe, thanks! Yes, I definitively want to write about it! I am not going to go all out as bengalak hahaha, but I'll definitively write about the core ideas! And I am still trying to squeeze a bit more speed. So, fingers crossed I can make it go a bit faster still Smile

By rioyamamura

Supporter (7)

rioyamamura's picture

01-12-2023, 20:30

Does is use an look up table to do the coordinate transforms for the camera?

By rioyamamura

Supporter (7)

rioyamamura's picture

01-12-2023, 20:31

(a question to santiontanon)