DM Style Clone

Discuss your creative projects: game development, writing, film making or any thing else, fantasy related or otherwise! Talk about art you like, display your own artwork or stories, or offer help and insight.
Forum rules
Please read the Forum rules and policies before posting.
Post Reply
redspark
Neophyte
Posts: 8
Joined: Mon Aug 23, 2021 1:35 am

DM Style Clone

Post by redspark »

Hi,

I'm interested in creating a DM clone in the 2D style. I know that 3D is easier but I'm using a language that can't do 3D easily so I'd rather do the 2D version. However, it is so difficult to find any real concrete information on how to code the dungeon view and how to create the graphics relative to the dungeon view you are using. Is there any information on this that others have used? I can guess what it is but I just want to not reinvent the wheel if there is existing guidance.

Also, in DM2 and Lands of Lore, the step and turns are animated. How is this done? Is it sprite animation or something else?

Thanks
User avatar
Sphenx
On Master
Posts: 566
Joined: Sun Sep 09, 2001 11:23 am
Contact:

Re: DM Style Clone

Post by Sphenx »

Hi redspark, if you go the 2D way, checking the DM extracted graphics would give you many hints on how it is done.
For quick references, you could check DM graphics on Greatstone's pages:
http://greatstone.free.fr/dm/g_dm.html
-> check graphics.dat dungeon graphics

Another reference here:
https://www.gamedev.net/forums/topic/63 ... n-crawler/

Basically, you need to construct your view like a puzzle, by taking the different walls graphics (or not), side, front, far, close, depending on the distance from your point of view (player current position). You will draw first the farthest elements then proceed step by step to the closest.

About the move animation, in DM2 there is only forward/backward "half-step", which is done by resizing the graphics elements in between tiles to give that feeling of move (but that's not very pretty).
In Lands of Lore, the turning animation is done by displaying both views alongside (your current view, and the view after you've turned) and move quickly from one to the other (like a slide-show of 2 pics) to give the turning feeling.

You may study this by checking the animations at low speed.

Hope this helps

PS: I don't know if 3D is easier ... there are some considerations that make some basics quite different from 2D. That's not the same.
User avatar
Sphenx
On Master
Posts: 566
Joined: Sun Sep 09, 2001 11:23 am
Contact:

Re: DM Style Clone

Post by Sphenx »

Maybe something of interest (not checked yet, just found it) : Yet Another Dungeon Master Java Clone
https://github.com/fritaly/yadmjc
I guess this is 2D and would have the code information on how to draw the viewport.
redspark
Neophyte
Posts: 8
Joined: Mon Aug 23, 2021 1:35 am

Re: DM Style Clone

Post by redspark »

Sphenx wrote: Thu Aug 26, 2021 10:45 pm In Lands of Lore, the turning animation is done by displaying both views alongside (your current view, and the view after you've turned) and move quickly from one to the other (like a slide-show of 2 pics) to give the turning feeling.
I was wondering if it were a panning between the two views but wasn't sure. Thank you for the links to the articles. The one on gamedev.net suggests that raycasting can be used in the style of Doom. I was wondering if anyone actually used that approach? Raycasting with a locked step or something like that.

Thanks.
User avatar
Sphenx
On Master
Posts: 566
Joined: Sun Sep 09, 2001 11:23 am
Contact:

Re: DM Style Clone

Post by Sphenx »

This is basically what I am doing with my own wip engine DCS/DM : viewtopic.php?f=2&t=30900 using OpenGL for that. The basic tiles environment is rendered in flat 3D while other gfx (items, creatures ... ) remain 2D.
The top example in full 3D is Legend of Grimrock that you may know.
But all of this doesn't work the same as making a 2D rendering view as in DM or LOL.
I don't know what exactly you want to achieve, but if you're building a modular engine, you may be able to switch different rendering views (2D / 3D) for the same game. Also from my point of view, building a DM clone, the most difficult and interesting part is not about rendering the dungeon view but about all the game engine mechanism under.
redspark
Neophyte
Posts: 8
Joined: Mon Aug 23, 2021 1:35 am

Re: DM Style Clone

Post by redspark »

Nice work. Well, honestly, I'm looking to make a rogue-like dungeon crawler with more of a 90s look and feel but perhaps with a better graphics interface. I'm trying to find a balance between the two. I have a mockup based on DM's interface made but it shows a dungeon view from an old-school raycast engine. It is currently using only 32x32 wall texture resolution and that's why it's so blocky but if I got that up higher, then I think it might look better.

Image

The language I'm using doesn't have 3D features at all. I would have to create a C library for it to work and if I went through that much trouble, I may as well change languages. That's why I wanted to use the old-school methods.
User avatar
Sphenx
On Master
Posts: 566
Joined: Sun Sep 09, 2001 11:23 am
Contact:

Re: DM Style Clone

Post by Sphenx »

Interesting, would it be turn-based then ? What would be the magic system like (DM-rune or D&D style) ? What language are you using ?
redspark
Neophyte
Posts: 8
Joined: Mon Aug 23, 2021 1:35 am

Re: DM Style Clone

Post by redspark »

Yes, I was thinking of a turned based system just like a Rogue-like and other retro games. I still haven't worked out all of the game mechanics but I didn't want to go down the route of memorized slots. There are definitely skills and attributes. But I kind of like systems similar to ShadowRun where there are target numbers and dice pools. But, again, I haven't worked it out yet.

Currently, I'm using Dragon Ruby which does not accept normal Ruby Gems and that's why it doesn't have 3D support. But I'm toying with switching to GameMaker Studio, however, that also sucks at 3D. I know both of those engines well and don't know Unity at all and I don't want to invest any more time into learning new languages for now.
Post Reply