Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for Dungeon Sweep: Knight -- devlog 001
JavaScript Joel
JavaScript Joel

Posted on • Originally published atjoel.net

     

Dungeon Sweep: Knight -- devlog 001

I recently decided I wanted to make an indie game. I have had this idea for a while and I think it's about time.

The idea is a variation of Minesweeper with RPG elements. I'm thinking about calling itDungeon Sweep: Knight.

Art

I can't art, so I decided to go hunting for a ready-to-use tileset. A quick google search brought me to a16x16-dungeon-tileset with a style that I can only describe as perfect.

Dungeon Map

Game Engine

After barely doing any research, I landed onPhaserJS. My decision primarily was it still being in active development and not abandoned yet like all the others. So let's give it a try!

I know I can useApache Cordova to turn this into native Android and iOS. I don't know how well that process works, but that's a problem for Future Joel, not Today Joel.

Generating a Dungeon

Now that I have the perfect tileset in hand, it's time to create a dungeon. This ended up being a lot harder than I thought it would be. My initial plan was to hand-create dungeons using plain text files. Run that through a function and bam, dungeon!

Example early dungeon map (that didn't work):

##########################     #    x        P   ##     #        x        ##     ############      ##   x       x       x   ##########################
Enter fullscreen modeExit fullscreen mode

I had a lot of difficulties with this. The first is I am using# to draw a top wall, left wall, right wall, and bottom wall. The graphics were different for each wall. This was going to be difficult.

So I decided to run these problems through ChatGPT. Let ChatGPT solve this so I can get on with the fun stuff. Unfortunately, ChatGPT was TERRIBLE at this. Even worse than me. So that wasn't gonna work.

After realizing how difficult a problem I gave myself, I stepped back and did a search on NPM for dungeon generators. There were MANY on there, but one stuck out.

Open Source Dungeon Generator

@halftheopposite/dungeon was exactly what I was looking for. It was configurable and I was confident I could make it work.

I ended up abandoning my custom dungeon generator for this one.

The dungeon generator used a different tileset, so I tweaked it until my tileset would work with it. This ended up being a little more difficult than I had anticipated since each dungeon tile returned was a number. So I had to map each number to a graphic. This was tedious but once it was done I fired up the game and it generated this beautiful map!

Beautiful Map

I'm trying to keep the game as a 9:16 portrait ratio so mobile view works well.

What's Next

I have a solid base for my game, engine, graphics, random dungeons that look great. Next I'll be adding the gameplay mechanics. I'll have to drop down some enemies, lay a fog of war on top.

I think I'll have the Knight run around chopping at everything, I think that could also be fun.

Cheers 🍻

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Cofounded Host Collective (DiscountASP.net). Cofounded Player Axis (Social Gaming). Computer Scientist and Technology Evangelist with 20+ years of experience with JavaScript!
  • Joined

More fromJavaScript Joel

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp