A downloadable game for Windows, macOS, and Linux

Download NowName your own price

Hi there!

I have dozens of projects that I failed to finish. This one is a year old and I decided to spend last 2 days making it releasable. Otherwise it'd rot on my hard drive forever. It's still missing of of the most important features of action rogue-likes: multitude of characters/enemies/weapons/items, but I guess it's better to have it released like that than not at all, even if it's only fun for 5 minutes : )

So... Fight more then one (!) kind of monster with your trusty sword and no plot what-so-ever, collect treasure of coins with no way to spend them and remember - I had more fun writing the game than you have playing it!

Hope you like it.


StatusReleased
PlatformsWindows, macOS, Linux
Rating
Rated 4.8 out of 5 stars
(8 total ratings)
Author0x72
GenreAction
TagsFantasy, Pixel Art, Roguelike, Roguelite

Download

Download NowName your own price

Click download now to get access to the following files:

SlashSlashSlash_win32.zip 5 MB
SlashSlashSlash_win64.zip 5 MB
SlashSlashSlash_macos.zip 7 MB
SlashSlashSlash.love 1 MB

Comments

Log in with itch.io to leave a comment.

Nice Game! and i want to know how to make the tiled drop down gradually. that animation effect looks pretty good. 

(+1)

You can unzip the game and learn how it's made but basically: Floor is recreated each time you enter a room and each tile is a separate object that gets a delay property calculated on creation. Then if floor's time is below the delay I do nothing to given tile. Otherwise update the tile's z property. It's kinda reversed: 400 when it's way down and 0 when it's on final position, so all I do is multiply it by 0.8 each frame.

It's rather boring code:

function Floor:getTileDelay(x, y)
  local lrand = love.math.random
  -- if the player was already there in this room let's not animate tiles entrance
  if self.room.isExited then return 0 end
  -- first room you drop to from above
  if not self.prevRoom then return math.abs(x) * 0.06 + math.abs(y) * 0.08 + lrand() * 0.3 - 0.1 end
  -- comming from another room: bring tiles from that direction:
  if self.prevRoom == self.room.n then return (self.yMax + y) * 0.08 + lrand() * 0.3 - 0.1 end
  if self.prevRoom == self.room.e then return (self.xMax - x) * 0.05 + lrand() * 0.3 end
  if self.prevRoom == self.room.s then return (self.yMax - y) * 0.08 + lrand() * 0.3 - 0.1 end
  if self.prevRoom == self.room.w then return (self.xMax + x) * 0.05 + lrand() * 0.3 end
  return 0 -- should never happen
end

i'm totally appreciated your answer simple and easy to know,and then i will try to take this way for my game,Thanks a lot!

brutal effects!, I need to learn this kind of details

Everything feels so good in this , i really think you should reconsider finishing this haha.

Good job !

(1 edit)

Nice game! Reached the 6th floor and died. Those dirty skeletons.
I'm pretty curious on how you made the weapon attack. In my little project I'm working on in the free time I've only made the weapon rotate around the player at a certain distance and don't know how to do the attack.

Also, amazing game!

Animation wise? Not entirely sure what you're asking about but you can download the .love file, unzip it (it's a zip really) and see the code. It's not very long.

I think you'll find all the answers in weapons/BaseWeapon.lua, weapons/Sword.lua, and player/Player.lua.

Don't worry even if you don't know lua, it's pretty much looks like pseudo-code :)

Hi again!
Wanted to ask another question, is it possible to use the small font that is in the game?

hi! Did you manage to figure out the weapon attack?


sure thing, the font is rather basic, but feel free to use it :)

Hey! At the end yea I figured out the way to make that type of attack. Also thanks, I think I might use it in a project I'm trying to do.

This is pretty amazing! Reached level 3, killed by 6 archers. I felt like Julius Caesar.

But the game is really good.

Bravo! and thank you! : )

(1 edit)

Cool game!  Although one thing  to note: When a wall is half broken and you hit it, it restores.  I believe this is because you have it set in phases (fixed, half broken and destroyed), and when you hit it can deal 2 stages (critical hit I suppose?) and this resets the broken wall.  And pausing it doesn't stop the music, which is kinda wierd (but not a problem really). Otherwise awesome game!  

I was wondering one thing: I know you don't use vanilla JS but do you know how to flip a sprite in vanilla?  I'm a complete noob with this stuff so right now my character only faces the direction the spritesheet gave me....

EDIT: So long as we're posting high scores I got to lvl 6

(6 edits) (+1)

Thanks for the feedback! I'll have this bug squashed in version 0.0.2 : )

I'm glad you like the game.

a.d. question: Well, It depends on what you use for rendering in js - assuming canvas you just do this:

```
drawSprite(ctx, image, x, y, isFlipped) {
  ctx.save();
  ctx.translate(x + (isFlipped ? image.width : 0), y);
  ctx.scale(isFlipped ? -1 : 1, 1);
  ctx.drawImage(image, 0, 0);
  ctx.restore();
}
```
image has to be loaded already
x, y is where you want your top-left corner to be
note image.width added to position but only when the whole thing is flipped

Consider this one to understand how .translate and .scale work together and how the order of them matters (you don't need to understand transformation matrices to use it properly but experiment with .translate, .scale, and .rotate = shuffle them around and see what happens):

```
drawSprite(ctx, image, x, y, isFlipped) {
  var dirX = isFlipped ? -1 : 1;
  ctx.save();
  ctx.scale(dirX, 1);
  ctx.drawImage(image, dirX * (x + (isFlipped ? image.width : 0)), y);
  ctx.restore();
}
```

note that: `drawImage(x, y)` is basically the same as ` translate(x, y); drawImage(0, 0)`

Good luck!

Hm.   I do use canvas but my stupidity and overuse of stackoverflow basically leaves me with a bunch of unorganized spaghetti code, so I'll rewrite it with your tips.  Thanks for your help!

(+1)

Good luck!

(+2)(-1)

I am VERY inspired by your work. You are a genius.
I was very interested in this game. This is somewhat reminiscent of Soul Knight with 16x16 graphics and it's cool. I am very inspired to finish this project, if you don’t mind, I can make a game based on this one and add a couple of my chips there. And of course, publish a project on Google Play as a commercial. I’m writing to Unity long enough, I think it’ll turn out something cool. Of course, indicating you in the description for all the materials that I will use.

(+2)

I'm happy you like my work.

I'm not interested for anyone to take over my hobby project though, I'm sure you'll understand.

I wish you good luck with your games.

Of course I get it. Good luck in your work, you do it perfectly :)

I wonder the name of the sound when the floor falls.

Internally it's called "2", not helpful I guess.

Unfortunately I lost track of which sound comes from whom, but if you feel like searching you can check the links in the credits section (it was some sound pack iirc)

Deleted 4 years ago

HAHA; I wasn't able to get that far (no without cheating that is : )) - congrats on your score, and thank you for playing!

Deleted 4 years ago

Well, everything needs a review I guess. Working on it as we speak : D

(1 edit)

Good Game!

Please tell me the tile map effect algorithm name.

(2 edits)

uh... Not sure if there is any name there tbh. Just delay each tile by the direction you moves + add a little bit of randomness. Otherwise you just move up tiles with some ease each frame:

if tile.delay < time then tile.z = tile.z * 0.8 end

You can download the .love file and unzip it (as it's just a renamed .zip) and see for yourself in rooms/Floor.lua, :getTileDelay method and :update

Like this game! Keep up developing it!  =)

Thanks : )

(-1)

I've been doing the same things with my old and forgotten prototypes.

Looks fun. Good luck!

Thanks, I'm going to need a lot of it : )

What engine did you use?

LÖVE

(+1)

The art is a pleasure. The juice is beyond delicious. I'm truly impressed.

Super fun game! although there isn't much in it right now, I really love what it has so far. The graphics and sounds all tie together so well. This seems like a game i'd personally love to kill a weekend with. Looking forward to where you take it!

Thanks. I'm glad you like it. No enough content for a weekend but maybe in the future : )

Cool game, I like the graphics and the sound effects have body to them. Music is good too. Sorry I couldnt afford to pay for it!

Don't worry about it. It's free as it's a hobby project.

Music and sound effects are all kindly provided by other people (see credits); I only wrote code and draw pixels.

This will be one of my favorite games when you finish it! Just pure love!

I hope I'll manage to do so; no promises though : )

Deleted 4 years ago

Well, it's a löve file so it just work. All the thanks to developers of löve and sdl2 : )

I liked it, it doesn't do much, but what it does is polished and snappy!

Thanks!

I really enjoy all your stuff you put out! I'm excited to play this when I get home from school today. Thank you for always inspiring me! <3

Thanks for the kind words!