LambdaHack - Le Bottin des Jeux Linux

LambdaHack

🗃️ Specifications

📰 Title: LambdaHack 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Adventure & Action 🚦 Status: 04. Released (status)
🏷️ Category: Adventure & Action ➤ Role-playing game ➤ RPG ➤ Misc. 🌍️ Browser version:
🔖 Tags: Development; RPG; Tactical RPG; LambdaHack; Procedural Generation; Squad-based 📦️ Package Name: lambdahack
🐣️ Approx. start: 📦️ Arch package:
🐓️ Latest: 2019-03-31 📦️ RPM package:
📍️ Version: Latest: 0.8.3.0 / Dev: 76c157c 📦️ Deb package: ✓
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: BSD 3-Clause 📦️ AppImage package:
🏝️ Perspective: Third person 📦️ Snap package:
👁️ Visual: Text ⚙️ Generic binary: ✓
⏱️ Pacing: Turn-Based 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb & Louis
🎰️ ID: 15300 🐛️ Created: 2018-01-06
🐜️ Updated: 2024-02-19

📖️ Summary

[en]: A libre & multi-platform Haskell game framework / engine to speed up ncurses RPG design of arbitrary theme, size and complexity, with optional tactical squad combat. The developer specifies its characteristics (content to procedurally generate, entities, their relationships, physics, scenario), and the engine builds the world and executes it. This framework makes it possible to compile a ready-to-play game binary. Several interfaces are available (SDL2 and JavaScript). [fr]: Un framework / moteur de jeu en Haskell libre et multi-plateforme permettant d'accélérer la conception de RPG en ncurses de thème, taille et complexité arbitraire, avec une option de combat en groupe tactique. Le développeur spécifie ses caractéristiques (contenu à générer de manière procédurale, entités, leurs relations, physique, scénario), et le moteur construit le monde et l’exécute. Ce framework permet de compiler un fichier binaire prêt à l'emploi. Plusieurs interfaces sont disponibles (SDL2 et JavaScript).

🚦 Entry status

💡 Lights on: ✓ 🦺️ Work in progress:
📰 What's new?: New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done: ✓
🕳️ Not used2: 👔️ Already shown:

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [RogueBasin]

🦣️ Social
Devs (LambdaHack Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord] [PressKit]

🐝️ Related
[Libregamewiki] [Mod DB] [Indie DB]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Debian (20181001) (SotE)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title:
🦊️ What's:
🏡️
🐣️
🔖
📦️
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update:
⚗️
📌️ Changes:
🦣️ From: 📶️

🏝️ https://www.youtube.com/embed/
🦉️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🦝️ https://www.youtube.com/embed/
🕵️ https://www.youtube.com/embed/
🕯️ https://www.youtube.com/embed/
🕯️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️ https://www.youtube.com/embed/
🎲️[fr] https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🎮️ https://www.youtube.com/embed/
🐧 https://www.youtube.com/embed/
🐧 https://www.youtube.com/embed/

📕 Description [en]

📕🐧"blabla"🐧📕


Haskell game engine library for roguelike dungeon crawlers, par

LambdaHack is a Haskell1 game engine library for ASCII roguelike2 games of arbitrary theme, size and complexity, with optional tactical squad combat. It's packaged together with a little example dungeon crawler in fantasy setting that can be tried out in the browser. (https://lambdahack.github.io --- It runs fastest on Chrome. Keyboard commands and savefiles are supported only on recent enough versions of browsers. Mouse should work everywhere).

Using the engine

To use the engine, you need to specify the content to be procedurally generated. You specify what the game world is made of (entities, their relations, physics and lore) and the engine builds the world and runs it. The library lets you compile a ready-to-play game binary, using either the supplied or a custom-made main loop. Several frontends are available (SDL2 is the default for desktop and there is a JavaScript browser frontend) and many other generic engine components are easily overridden, but the fundamental source of flexibility lies in the strict and type-safe separation of code from the content and of clients (human and AI-controlled) from the server.

Please see the changelog file for recent improvements and the issue tracker for short-term plans. Long term goals include multiplayer tactical squad combat, in-game content creation, auto-balancing and persistent content modification based on player behaviour. Contributions are welcome.

Other games known to use the LambdaHack library:

• Allure of the Stars, a near-future Sci-Fi game
• Space Privateers, an adventure game set in far future

Note: the engine and the example game are bundled together in a single Hackage package released under the permissive BSD3 license. You are welcome to create your own games by forking and modifying the single package, but please consider eventually splitting your changes into a separate content-only package that depends on the upstream engine library. This will help us exchange ideas and share improvements to the common codebase. Alternatively, you can already start the development in separation by cloning and rewriting Allure of the Stars and mix and merge with the example LambdaHack game rules at will. Note that the LambdaHack sample game derives from the Hack/Nethack visual and narrative tradition, while Allure of the Stars uses the more free-form Moria/Angband style (it also uses the AGPL license, and BSD3 + AGPL = AGPL, so make sure you want to liberate your code and content to such an extent).

When creating a new game based on LambdaHack I've found it useful to place completely new content at the end of the content files to distinguish from merely modified original LambdaHack content and thus help merging with new releases. Removals of LambdaHack content merge reasonably well, so there are no special considerations. When modifying individual content items, it makes sense to keep their Haskell identifier names and change only in-game names and possibly frequency group names.


🍥️ Debian:

Game engine library for roguelike dungeon crawlers

LambdaHack is a game engine library for roguelike games of arbitrary theme, size and complexity, packaged together with a small example dungeon crawler.

When completed, the engine will let you specify content to be procedurally generated, define the AI behaviour on top of the generic content-independent rules and compile a ready-to-play game binary, using either the supplied or a custom-made main loop. Several frontends are available (GTK+ is the default) and many other generic engine components are easily overridden, but the fundamental source of flexibility lies in the strict and type-safe separation of code from the content and of clients (human and AI-controlled) from the server. Please see the changelog file for recent improvements and the issue tracker for short-term plans. Long term vision revolves around procedural content generation and includes in-game content creation, auto-balancing and persistent content modification based on player behaviour.

📕 Description [fr]

Un framework / moteur de jeu en Haskell libre et multi-plateforme permettant d'accélérer la conception de RPG en ncurses, par la LambdaHack Team.

LambdaHack est un framework / moteur de jeu en Haskell libre et multi-plateforme permettant d'accélérer la conception de RPG en ncurses de thème, taille et complexité arbitraire, avec une option de combat en groupe tactique. Le développeur spécifie ses caractéristiques (contenu à générer de manière procédurale, entités, leurs relations, physique, scénario), et le moteur construit le monde et l’exécute. Ce framework permet de compiler un fichier binaire prêt à l'emploi. Plusieurs interfaces sont disponibles (SDL2 et JavaScript).

Il est utilisé notamment par les jeux (dans le Bottin): Allure of the Stars,

Crédit image (lien ci-dessus): Debian


Bibliothèque de moteur de jeu en Haskell pour les robots d'exploration de donjons ressemblant à des pirates.

LambdaHack est une bibliothèque de moteur de jeu en Haskell1 pour les roguelike2 en ASCII aux thèmes, une tailles et complexités arbitraires, avec une option de combat en groupe tactique. Il est fourni avec un petit exemple de dungeon crawler dans un environnement fantastique pouvant être testé dans le navigateur. (https://lambdahack.github.io --- Il tourne plus vite sur Chrome. Les commandes au clavier et les fichiers de sauvegarde ne sont supportés que par les versions suffisamment récentes des navigateurs. La souris devrait fonctionner partout).

Utiliser le moteur

Pour utiliser le moteur, vous devez spécifier le contenu à générer de manière procédurale. Vous spécifiez de quoi le monde du jeu est fait (entités, leurs relations, la physique et le scénario) et le moteur construit le monde et l’exécute. La bibliothèque vous permet de compiler un fichier binaire prêt à l'emploi, à l'aide de la boucle principale fournie ou d'une boucle personnalisée. Plusieurs interfaces sont disponibles (SDL2 est la valeur par défaut pour le bureau et il existe une interface pour le navigateur JavaScript) et de nombreux autres composants de moteur génériques sont facilement remplacés, mais la source fondamentale de flexibilité réside dans la séparation stricte et sécurisée du code et du contenu, et des clients (contrôlés par l'homme et par l'IA) et des serveurs.

Veuillez consulter le fichier changelog pour les améliorations récentes et le suivi des problèmes pour les prévisions à court terme. Les objectifs à long terme comprennent le combat tactique multijoueur au sein d'une équipe, la création de contenu dans le jeu, l'équilibrage automatique et la modification de contenu persistante en fonction du comportement du joueur. Les contributions sont les bienvenues.

Autres jeux connus pour utiliser la bibliothèque LambdaHack:

• Allure of the Stars, un jeu de science-fiction dans un futur proche
• Space Privateers, un jeu d’aventure dans un futur lointain

Remarque: le moteur et l'exemple de jeu sont regroupés dans un seul paquet publié sous la licence permissive BSD3. Vous êtes invité à créer vos propres jeux en forkant et en modifiant ce simple paquet, mais s'il-vous-plaît pensez à scinder éventuellement vos modifications en un paquet de contenu distinct, qui dépend de la bibliothèque du moteur en amont. Cela nous aidera à échanger des idées et à partager les améliorations apportées à la base de code commune. Alternativement, vous pouvez déjà commencer le développement de votre fork en clonant et en réécrivant Allure of the Stars et en mélangeant et fusionnant à volonté avec les règles du jeu LambdaHack. Notez que l'exemple de jeu LambdaHack dérive de la tradition narrative et visuelle de Hack / Nethack, tandis qu'Allure of the Stars utilise le style Moria / Angband plus libre (il utilise également la licence AGPL et BSD3 + AGPL = AGPL, aussi assurez-vous que voulez libérer votre code et votre contenu dans une telle mesure).

Lors de la création d'un nouveau jeu basé sur LambdaHack, j'ai trouvé utile de placer un nouveau contenu à la fin des fichiers de contenu afin de le distinguer du contenu LambdaHack original simplement modifié et ainsi faciliter la fusion avec les nouvelles versions. Les suppressions de contenu LambdaHack fusionnent assez bien. Il n'y a donc pas de considérations particulières. Lors de la modification d'éléments de contenu individuels, il est judicieux de conserver leurs noms d'identifiant Haskell et de ne modifier que les noms en jeu et éventuellement les noms de groupes de fréquences.



🍥️ Debian:

Moteur tactique d’équipe de jeu dungeon crawler de type Rogue ASCII

LambdaHack est une bibliothèque de moteur de jeu en Haskell pour des jeux en ASCII de type Rogue avec un thème, une taille et une complexité arbitraires, et le combat tactique d’équipe facultatif. Elle est empaquetée avec un échantillon de « dungeon crawler » (ramper dans un donjon) dans une configuration « fantasy » qui peut être essayée avec l’exécutable natif ou dans un navigateur à https://lambdahack.github.io.

Consulter le journal de modifications pour les améliorations récentes et le système de suivi de bogues pour les plans à court terme. Les objectifs à long terme comprennent le combat tactique d’équipe de plusieurs joueurs, la création de contenu intrajeu, la répartition de charge automatique et les modifications de contenu persistantes basées sur le comportement du joueur. Les contributions sont les bienvenues.