Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - irskep

Pages: [1]
1
7DRLs / [7DRL 2018][Success] Dr. Hallervorden
« on: March 12, 2018, 12:56:11 AM »
Dr. Hallervorden is my third roguelike and my first 7DRL. My first one was Rogue Basement for Ludum Dare 39, to try out Python as a language for RL development. The second, for Ludum Dare 40, was Power-Q for iOS, to see if I could do something on the 868-HACK scale.

This time, I wanted to see if I could design a "full size" roguelike with lots of enemies and items, without it becoming a pile of spaghetti code. At the same time, I wanted to demonstrate some opinions I have about atmosphere in roguelikes. Specifically, I don't like how a lot of roguelikes just drop items all over the place as if the level generator were a messy teenager.

I did the whole thing in Swift using only BearLibTerminal as a dependency, so while it only runs on macOS right now, a Linux port should be straightforward, and probably Windows in a year or two as well. I spent a few weeks before the event working on the engine, getting up to a Rot.js or libtcod equivalent with my own twists.

For setting, I chose a mad scientist's laboratory. There are a lot of obvious enemies to add (doctors, henchmen) and a lot of room for creativity (laser raptors, piranhas in mech suits).



Successes

  • Pretty good UI and help
  • Good enemy and item variety for a 7DRL
  • I'm proud of the level generator's results - good layouts and distinct themes on each level
  • It's definitely "done"!

Non-successes

  • I'm not completely happy with the combat system
  • I shouldn't have had 3 types of damage; just one would have gotten the job done and cost less time
  • The UI could do a better job of helping you swap equipment

So, please do try it out (if you have a Mac) and let me know what you think so I can do better next time!

2
Early Dev / Rogue Basement, a 48hRL
« on: April 24, 2017, 04:42:59 AM »
I made this game for Ludum Dare 38: https://irskep.itch.io/roguebasement

I know it's probably way too easy, but I wanted to see if I could really do something resembling a full roguelike in 48 hours. This is my first RL, so I'm totally ecstatic that I got to this level of completeness.

The user manual explains the controls but doesn't give away everything: https://ldjam.com/events/ludum-dare/38/rogue-basement/rogue-basement-manual

I recorded a few videos along the way. Nothing super amazing, but it shows off some stuff when it was in development. https://www.youtube.com/playlist?list=PLuzdytAQSpVhUCVgJvtgDNEQ2DI41KiKr

And finally, here are the screenshots of its progression from map generator to game: http://imgur.com/gallery/LLfvK

If anyone has any ideas for simple balance tweaks I'm really interested in getting a few more percentage points of fun out of it.

And, finally, I'm sorry it eats up a bunch of CPU and still lags a lot.

3
Programming / clubsandwich, a BearLibTerminal framework for Python 3
« on: April 16, 2017, 11:28:18 PM »
Since the BearLibTerminal thread is on this forum, I figured I'd do a sibling post about a wrapper framework I've been working on.

In preparation for Ludum Dare 38, I spent this weekend writing a bunch of utilities for BearLibTerminal that will make your life MUCH easier! (If you're a Python 3 developer, that is.) It's a Cocos2D-iOS UIKit mashup, for ASCII.

Readme and source code

API docs




Features:

  • Event loop
  • Scene manager
  • Geometry data structures
  • Convenience functions
  • UIKit-like interface framework
  • Script runner to help you iterate quickly

I'm still working on nice documentation, but the Readme should give you a general idea and start a discussion. I love writing docs, so I can safely promise that there will be some good ones very soon.

Motivation

LD38 is next weekend, and I'm thinking about doing a roguelike. BearLibTerminal has gotten a lot better for OS X lately, so I started playing around and decided to stick with it.

The first thing I did was write an asynchronous event loop and scene manager, Cocos2D-style, to make it easy to transition between game screens. It was simple, and you could probably do it yourself in fifteen minutes, but at least I've saved you some typing.

CataclysmDDA has given me high standards for roguelike UIs. I knew I'd never be able to make both a nice game and a nice UI in 48 hours. But I'm a champ at iOS development, and decided to try implementing the important parts of UIKit from scratch, in Python, for ASCII. And it worked! It will take a while for me to explain the concepts, but I'm confident people will be able to wrap their heads around them.

While writing all this, I added some geometry data structures and utility functions for BearLibTerminal. Stuff like a transform stack for drawing, convenient state access for Python, and a little script to help you iterate quickly by continuously relaunching your program.

If you post a mockup UI, I will write a demo in clubsandwich! I tried to make the UI framework as general as possible, but really only played with a couple of layouts. If you want me to prove the utility a bit, you could help me out by posting an ASCII or MS Paint mockup of what you want your UI to look like, and I'll see if I can build it quickly in clubsandwich.

Pages: [1]