Temple of The Roguelike Forums

Game Discussion => 7DRLs => Topic started by: TOASTEngineer on March 08, 2016, 05:33:34 PM

Title: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 08, 2016, 05:33:34 PM
(http://i.imgur.com/3eL0gRZ.gif)

So this is my first roguelike ever, and I'm starting basically from scratch, and the game is basically totally unplanned and probably overscoped. And I lost yesterday because I had a migraine all day. However, I'm amazing, so chances of success are basically 1200%.

SDGTH is based on a dream I had a few weeks ago where I was a dog in Hell, and I was trying to fight my way out with the help of other dogs whom I had rescued from their eternal canine torment. Upon awaking I decided that'd be an awesome idea for a roguelike, and 7DRL was coming up, so... here I am.

Basically, the player character is a dog, and it must escape nine levels of Hell, fighting sick-nasty demons and stuff with its AI-driven dog pals. You've gotta command your dog pals by "marking" terrain and objects and with body language, since, yanno, you're all dogs.

I'm doing it in Python + TDL (libcotd except with a nicer API) and building binaries with Nuitka.

I actually registered the project on Monday but I didn't know this was the place to put stuff like this until now. I am smert.

Project repository:
https://gitlab.com/toastengineer/somedogsgotohell_7drl2006

I accidentally named the repo 2006 instead of 2016, but that's fine. Oh, and while the thingy on my Gitlab front page shows commits on the 4th, if you actually look at the dates the first contribution was indeed on the 5th. Slanderous lies!

EDIT:

DONE SON
DOWNLOAD LINK:
https://schilcote.itch.io/7drl2016

Well, done as in all the critical features are present. There's no win state, but the things I actually considered important, like dogplomacy and smell and intricate stealth-ish combat mechanics are in. It's a fun toy at least.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: kniiight on March 08, 2016, 07:35:40 PM
Your sense of humor. I like it.

I'll be watching this one.

(http://25.media.tumblr.com/tumblr_m203joNExb1qivhiio1_400.gif)
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 08, 2016, 07:48:43 PM
Here, have some more of it:
(http://i.imgur.com/h751Z1y.png)
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 09, 2016, 07:42:50 PM
This is starting to look a hell of a lot like a roguelike.

(http://i.imgur.com/0cEzSuZ.png)

I guess most folks actually start off with a roguelike engine already in this contest, huh? Ah well.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 10, 2016, 05:15:20 AM
You can now use the obscenely clunky combat interface to bite another animal's throat out and watch it bleed to death!
(http://i.imgur.com/LVLImXR.png)
Yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 10, 2016, 07:28:44 PM
(https://zippy.gfycat.com/OrangeElaborateComet.gif)

Emergent behavior can be scary sometimes.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: AgingMinotaur on March 10, 2016, 08:26:30 PM
Yum. Seems fitting for a hell dog.

As always,
Minotauros
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 11, 2016, 06:28:04 PM
Smell-o-vision is in!
(http://i.imgur.com/lN3R3WO.png)

The idea is that your primary sense in SDGTH will be smell, not sight. You can only see six tiles in front of your face, so you'll smell stuff long before you see it.

Only things to do now are optimizing scent dispersal so you don't have to wait a quarter-second each turn, implementing relationships with other dogs, combat AI, and monsters, and then the game will be feature-complete. 40 hours left...
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: Tzan on March 11, 2016, 06:32:54 PM
Will there be an ability or reason to sniff another dog's butt?
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 11, 2016, 07:21:24 PM
Yes, actually! That'll be part of the dogplomacy system. Recruiting and commanding other dogs is one of the core mechanics of this game.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: Tzan on March 11, 2016, 09:30:39 PM
Awesome!     :)
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 12, 2016, 01:39:53 AM
Introducing: the imp!
(http://i.imgur.com/3eL0gRZ.gif)

The imp is a mean motherfucker who will hunt you down and chop you into little bits. He's the second weakest enemy in the game.

Here's me successfully evading and defeating it:
https://www.youtube.com/watch?v=Q7xu7ZDf9Rs
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: Hrakanku on March 13, 2016, 04:09:51 PM
Seems interesting, however hard to play for me since for some reason tdl refuses to install on my system and the game is really, really slow through wine. Could it be possible to package minimum libraries needed to run the game on linux with the sources? Because the ultra-violence and butt-sniffing is a great concept :D
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: Tzan on March 13, 2016, 04:31:22 PM
dogplomacy

I get what you were going for with the title.
But Dogplomacy sounds better.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 13, 2016, 04:53:00 PM
dogplomacy

I get what you were going for with the title.
But Dogplomacy sounds better.

I was just thinking about that last night actually, and yeah, the title is super-unwieldy. If/when I come back to hack on this some more I'll probably call it that.

Doesn't really convey "extremely bloody stealth/strategy roguelike" idea though...

Seems interesting, however hard to play for me since for some reason tdl refuses to install on my system and the game is really, really slow through wine. Could it be possible to package minimum libraries needed to run the game on linux with the sources? Because the ultra-violence and butt-sniffing is a great concept :D

How slow is really, really slow? 'Cos it's ~ .25 - .50s on the average turn (and the first turn takes a couple times that since all the AI routines are kicking in at once) on my machine, which is a straight-up gaming laptop... I tried doing some optimizations but the result turned out to be super buggy and 10 times slower anyway and it mangled the repo on top of all that...

But yeah, I've got a migraine right now so I can't do much of anything, but once that goes down I'll zip up the required libraries and send 'em to you.

Actually... hmm. This probably won't work, but try sticking the .py files into the same directory as the executable in the win32 distribution and launching from there. Maybe also try replacing all the "import <bla>" statements with "from library import <bla>".
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: Hrakanku on March 13, 2016, 05:22:12 PM
How slow is really, really slow? 'Cos it's ~ .25 - .50s on the average turn (and the first turn takes a couple times that since all the AI routines are kicking in at once) on my machine, which is a straight-up gaming laptop... I tried doing some optimizations but the result turned out to be super buggy and 10 times slower anyway and it mangled the repo on top of all that...

But yeah, I've got a migraine right now so I can't do much of anything, but once that goes down I'll zip up the required libraries and send 'em to you.

Actually... hmm. This probably won't work, but try sticking the .py files into the same directory as the executable in the win32 distribution and launching from there. Maybe also try replacing all the "import <bla>" statements with "from library import <bla>".

It's something like 0.8 - 1.2s / turn, which actually still is playable, if only just. And yeah, didn't work, tdl.py seems to be the problem. And whatever stuff that depends upon of course. Also: I kind of love the name, even if it is a bit long.
Title: Re: [7DRL-2016] Some Dogs Go To Hell
Post by: TOASTEngineer on March 13, 2016, 08:10:53 PM
Oh crap. I just now noticed I left in a debug print that's now screwing up the whole status window. That's great.
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 14, 2016, 01:41:13 AM
Oh, I should probably actually link to the finished product, huh?

https://schilcote.itch.io/7drl2016
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: Avagart on March 14, 2016, 05:37:13 PM
***ok, everything is ok, my bad***
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: kipar on March 14, 2016, 06:35:31 PM
I thought i've seen all about optimization after 7DRLs on Unity with ugly ascii chars being shown using modern shaders. But I was wrong. Now i've seen a 7DRL that takes more then 1 second per turn on (relatively old but still) core i7.
So while the name of the game and battle mechanics (and possibly squad mechanics, but i haven't got to it) are great, ii is impossible to have fun from it.
Any plans about post-7drl version which will work, like, 10 times faster?
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 14, 2016, 07:00:54 PM
Yup! I spent the entirety of the last day re-doing the slowest part, in fact... only to find the "accelerated" version was five times slower. I just have to take a different approach to fixing it.
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: KhaoTom on March 20, 2016, 05:55:14 PM
Getting an easily reproducible crash: press A to attack and then immediately hit Enter without inputting anything else.
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 20, 2016, 06:02:09 PM
Yup, that's a known issue. It'll happen with any text input, in fact. It's actually a wierd thing Python does, I never figured out how to get around it...

The game also crashes if something eats your corpse after you die. :P
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: KhaoTom on March 20, 2016, 06:28:51 PM
You can avoid the crash by catching the exception in a try: except (EOFError) block.

Code: [Select]
try:
      command = raw_input('Input command:')
except (EOFError):
      break  # break out of handling the command
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 20, 2016, 06:32:54 PM
Right, but that means wrapping EVERY input() in a try...except, which isn't exactly elegant. I'd much rather have it replicate the same behavior as reading an empty line from stdin...
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: KhaoTom on March 20, 2016, 06:38:32 PM
Elegance has no place in 7DRL  8)
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 20, 2016, 06:57:18 PM
Actually, I think working out elegant architecture early on helped me later. I notice that while I was making progress a bit slower than average early on, I was getting stuff done way faster in the last three days.
Title: Re: [7DRL-2016] Some Dogs Go To Hell (Sucks a-I mean, success!)
Post by: TOASTEngineer on March 30, 2016, 12:13:10 AM
Providing what Hrakanu asked for was significantly harder than I expected.

However, I have released a fixed version of SDGTH that runs about an order of magnitude faster, fixes a few annoying bugs, and also includes stairs to other floors (which never end). It's available on itch.io alongside the competition version.