Author Topic: Allure of the Stairs (Sci-fi, squad, WWW)/LambdaHack (Fantasy, Haskell engine)  (Read 244 times)

Mikon

  • Acolyte
  • *
  • Posts: 48
    • View Profile
    • Email
Hi! Two ASCII squad-based roguelikes for your enjoyment, built using the same Haskell engine. Both can be played in the browser or you can download binaries (less lag, especially in AI vs AI mode). I'm grateful for any feedback.

Here is the Sci-fi one, with survival elements (these will be more pronounced in the future, including building, crafting and story-telling; but there is already a robust tactical framework for improvised item throwing, dynamic lights for stealth and scouting, with fleeing/chasing/taunting/avoiding unnecessary combat, and more, including attempts by AI to best the player in all of that). It has multiple scenarios, in most of them you control a party of characters; the main scenario is a long crawl through an abandoned spaceship, in which the happily looting heroes suddenly find themselves unfairly trapped and stranded. The game ASCII UI follows the Angband/Moria visual tradition.

http://allureofthestars.com/play (alternatively: http://allureofthestars.github.io/play)



And here is the low Fantasy one, Cthulhu/MathPunk, much less serious, not as varied content, but may be more palatable if you don't like (near-future) Sci-fi. It is bundled together with the free software Haskell game engine. Feel free to to build your own game with it or mod an existing one. The game follows the Nethack visual tradition.

https://lambdahack.github.io



Have fun and please drop me a line!
« Last Edit: October 10, 2017, 04:25:11 PM by Mikon »

Mikon

  • Acolyte
  • *
  • Posts: 48
    • View Profile
    • Email
Hot! Plans for the next year!

* [UI] This is a big one. We are breaking through the eternal 80x25 characters barrier! The game window will be resizable and dungeon level viewport will be scrollable. Help needed, including brainstorming. In particular, I have no idea whether the view should always centre on the squad leader or only until any area outside the level is visible or yet something different, e.g., auto-scrolling so that the messages that overlap viewport from the top don't obscure the leader. See. https://github.com/LambdaHack/LambdaHack/issues/22
* [Gameplay] As soon as this is implemented, levels will have awesomely different sizes! But then we suddenly don't know how to align them vertically and it matters, because a single staircase is located at the same position on each level it passes through and so the relative distance of staircases needs to be preserved (even if we rotate levels, which I don't think we are loony enough to implement). Assuming there are no story-wise constraints, should the levels just align with their geometrical centres or is it too boring? Or top-left corner? Or centre of the top line? Also, what to do if a staircase passes through a void outside the level? See https://github.com/LambdaHack/LambdaHack/issues/115


News! (Also Hot)

* [Engine] Veronika Romashkina have just overhauled and sanitized our commandline support, using the optparse-applicative library. Commandline messages now look much spiffier and adding new options for testing and debugging will now be a breeze.
* [Engine] We switched to a new notation for specifying dice rolls in content. Where before you'd write "3 * d 4 - 2 |*| 5" now you enter "(3 `d` 4 - 2) * 5". BTW, it's just pure Haskell (hence the backquotes for infix function application) so you can include arbitrary expressions. e.g., to make sure that when you change base die for a weapon it changes for all weapons of the same class. If you are writing your own game or modding an existing one, please switch to the current master branch and write your dice in the new format to save your effort. Let me know and I will speed up 0.7.0.0 release so that you can get your game/mod out without delay.

Keep the feedback coming! Cheers!

Mikon

  • Acolyte
  • *
  • Posts: 48
    • View Profile
    • Email
Release candidate (v0.7.0.0-rc) is now tagged on github. You can find windows binaries (64bit and 32bit, respectively) at

https://ci.appveyor.com/project/Mikolaj/allure/build/artifacts
https://ci.appveyor.com/project/Mikolaj/lambdahack/build/artifacts
https://ci.appveyor.com/project/Mikolaj/allure-hpt6r/build/artifacts
https://ci.appveyor.com/project/Mikolaj/lambdahack-4hh0j/build/artifacts

The game engine API for 0.7.0.0 is hereby frozen. Quite a few changes for 0.7.* are planned (e.g., the big dungeons, if they fit), but they will not break the API any more. The game will now be tested for a few weeks or months (please contribute feedback) and then will be released, including the browser versions.

Here is the changelog (only the first few changes are visible to a player or a game creator, though some minor ones are not included in the changelog):

- decouple tile searching from tile alteration
- fix missing report about items underneath an actor when changing levels
- API breakage: change the syntax of dice in content
- API addition: introduce cave descriptions
- keep all client states in the server and optimize communication with clients
- improve item choice for identification and item polymorphing
- reset embedded items when altering tile
- replace atomic command filtering with exception catching
- reimplement dice as symbolic expressions inducing multiple RNG calls
- switch to optparse-applicative and rewrite cli handling
- add stack and cabal new-build project files
- improve haddocks across the codebase

Have fun!