Dungeon of Souls by GullynGames

[raw]
made by GullynGames for Ludum Dare 45 (JAM)

Screen Shot 2019-10-06 at 6.08.07 PM.png

Controls:

WASD or arrow keys to move

Click to shoot

Press M for Map

Explore the Dungeon of Souls and try to find the pieces of your soul, fragmented many years ago by the King of Souls. Beware of the empty souls guarding the dungeon.

About

Dungeon of Souls is a roguelike top-down dungeon shooter where your goal is to find the fragments of your soul by defeating bosses guarding three other fragments of your soul.

Development

I made this game for the Jam, in three days. It was made with HTML5 Canvas, and plain Javascript.

Ratings

Overall 886th 3.087⭐ 25🧑‍⚖️
Fun 772th 3⭐ 25🧑‍⚖️
Innovation 878th 2.761⭐ 25🧑‍⚖️
Theme 814th 2.957⭐ 25🧑‍⚖️
Graphics 969th 2.652⭐ 25🧑‍⚖️
Audio 571th 2.881⭐ 23🧑‍⚖️
Humor 669th 2.472⭐ 20🧑‍⚖️
Mood 950th 2.763⭐ 21🧑‍⚖️
Given 20🗳️ 19🗨️

Feedback

NachtWitch
07. Oct 2019 · 20:51 UTC
interesting subission, the colours are really good
Hajden
07. Oct 2019 · 21:14 UTC
The style is odd, which is interesting. But the pacing is slow and combat didn't really intrigue me for long. Is there any progression in player's abilities? (movement speed? shooting speed? something else?)
Rensei
07. Oct 2019 · 22:50 UTC
Nice Binding of Isaac inspired submission. I liked that there was multiple different enemy designs. The rooms felt a bit empty and some enemies were relly difficult to defeat, but I liked it overall :smile:
TCiceroDev
08. Oct 2019 · 00:39 UTC
Nice Work! I feel that the player should feel more progression throughout game. Also I think it could have fit the theme a little better. Overall great job! :)
tobb
09. Oct 2019 · 21:58 UTC
Simple and enjoyable gameplay with straightforward controls. Could use some more progression throughout the game and the shooting SFX got a little repetitive after a while, adding some pitch variation could be a simple fix :)
ModdingMachine
09. Oct 2019 · 22:43 UTC
Cool game! pretty challenging, but once I got the hang of it it became quite fun. I really liked how you could go back into rooms you hade discovered and they wouldn't have changed.
coatline
14. Oct 2019 · 21:32 UTC
Neat game. I wish that there was more to it then just running around while shooting enemies. It would be cool to have an indicator for how much health an enemy has. I did like the way you showed what enemy did what with the lines being the smashers and the ones with the dots shooting more than one bullet. It would be nice to have different classes like a brute class or class that was faster than others. Also adding to that idea, you could make the player choose one of those classes at the beginning of the game. This I think would make the game more interesting as well as more fun to play. :thumbsup:
dans17
23. Oct 2019 · 04:36 UTC
Nice roguelike! I would like to see more variation in environment and a quicker progression.
itsdanidre
23. Oct 2019 · 04:37 UTC
From one HTML5 Pure Javascript Game Programmer to another, a job well done! It was definitely hard making my own engine while doing the Ludum Dare :sweat_smile:

To the game, it's really cool you were able to make it into a dungeon-like. Although the trick simply became "circle them and shoot"

Big question though...

### How do you do rotations! :open_mouth: Are you using images, or HTML5's built in drawRect to your advantage?

## Regardless, nice game! (And that's NOT because of my bias since you made it with plain JS :eyes:)
🎤 GullynGames
23. Oct 2019 · 22:47 UTC
@itsdanidre Thanks!

I do rotations with:

var x = mouse.x;

var y = mouse.y;

player.rotation = Math.atan2(y - player.y, x - player.x) - Math.PI / 2;


That's to get the player's rotation whenever the mouse is moved.

I do use context.drawImage to render the images on the screen.
niborious
24. Oct 2019 · 02:30 UTC
@itsdanidre @gullyngames Love to see other pure js developers! :D (as you can tell by my pic lol)
I used Threejs this time, so not sure if that counts as pure anymore haha

![dungeon-of-souls.png](///raw/7bd/z/29cf6.png)
I Beat it!
Nice score lol

### Design-wise,
The starting shooting speed and enemy health / number of enemies made the game feel really slow starting off.
The mechanics of adding fragments was pretty cool

I think the map in the top right could be more helpful if it showed more than just your current room, and the full map would be Way more helpful if it showed untraveled adjacent rooms so I know where I need to check next or where the dead ends are.

After killing the boss I got
```Uncaught ReferenceError: enemies is not defined
at Player.update (player.js:106)
at update```
in the console, you are also still console logging color information about transitions :P

### Overall,
Props for proc gen!
The music is nice. Love that you made everything yourself, if you made the music too.
Adjusting the attack speed and move speed could really help a lot.

btw @itsdanidre if u are asking about canvas rotations u want to save, translate, rotate, restore,
just google js canvas rotations https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/rotate
itsdanidre
24. Oct 2019 · 03:27 UTC
@niborious UNPUREEEE! :rofl: :rofl: :rofl: Although, going into the Ludum Dare I did promise myself to learn a pre-existing engine for my next game; but heck by the end I was so proud of my own, I'm gonna keep working on the spaghetti code that is the game I've made :joy:

I had initially googled it, and all the translate and restore stuff brought a bad taste to me from a previous tutorial attempt (the player would rotate, but the axis would be skewed), so it'd also move off screen :sweat_smile:

However, after looking at the source code from @gullyngames's game :eyes: I understood the actual process; I originally thought I would have had to draw a rotated image on an empty invisible canvas, then send the pixeldata to the main canvas to be displayed..which deterred me, since I'm not sure if that'll slow down or speed up rendering (constantly sending new pixel datas)


Now though, after creating my own vcam and rendering system, I think I know a way to easily incorporate rotations into my game, which I'll definitely use for future updates. The only question now, is if all those *save, translate, rotate, restore* calls would slow down the game or not. :thinking:
Mattias Cibien
24. Oct 2019 · 05:42 UTC
Very nice gameplay. Kudos for doing it in plain JS. 👍
Igoreshka
24. Oct 2019 · 11:35 UTC
That's fun, but game like that needs some upgrades I think :sweat_smile:
🎤 GullynGames
24. Oct 2019 · 11:48 UTC
@niborious Thanks for the error and suggestions!

I was logging the transitions because they were the last thing I did... Forgot to remove the console.log

@igoreshka That's what I was planning to do next. I only had a few hours left and thought I wouldn't have enough time.
exilegl
25. Oct 2019 · 18:57 UTC
I like the pacman looking mini boss thing. Perhaps a bit more hp dropped by the enemies would be good (or maybe I'm just bad :p)

Here's how I've done so far :confetti_ball:

![Screenshot from 2019-10-25 13-55-19.png](///raw/3f2/z/29d69.png)