Difference between revisions of "Hy"

From RogueBasin
Jump to navigation Jump to search
 
Line 2: Line 2:
|company =  
|company =  
|influences = Clojure, Scheme
|influences = Clojure, Scheme
|updated = 2014-04-11 (0.10.0)
|updated = 2015-05-09 (0.11.0)
|status = Beta
|status = Beta
|licensing = Open Source (MIT License)
|licensing = Open Source (MIT License)

Latest revision as of 13:03, 27 October 2015

Hy
Programming Language
Company
Influences Clojure, Scheme
Updated 2015-05-09 (0.11.0)
Status Beta
Licensing Open Source (MIT License)
Platforms OS Independent
Official site of Hy


What is Hy?

From the official documentation:

"Hy is a wonderful dialect of Lisp that’s embedded in Python. Since Hy transforms its lisp code into the python Abstract Syntax Tree, you have the whole beautiful world of python at your fingertips, in lisp form!"

A quick reference of features can be found here.

Roguelike Specific Details

Since Hy is embedded into Python, most of the features of Python are available for Hy. Hy shares the strong and weak points of Python. Strong functional capabilities of Python are enhanced with macros and slowly growing core library. The language itself is still in beta stages and evolving.

Roguelike games in Hy

Status Name
```
{{{name}}}
Alpha Project
Developer {{{developer}}}
Theme {{{theme}}}
Influences {{{influences}}}
Released {{{released}}}
Updated {{{updated}}}
Licensing {{{licensing}}}
P. Language {{{language}}}
Platforms {{{platforms}}}
Interface {{{interface}}}
Game Length {{{length}}}
[{{{site}}} Official site of {{{name}}}]


BrogueMCP is my personal experimental project to enhance Brogue with AI-driven narrative elements. I'm not a game developer by trade - I'm actually a robotics entrepreneur with ADHD who's using this as a learning tool.

About Me and This Project

I'm a robotics entrepreneur from Nebraska who grew up in the 90s tinkering with computers between riding dirt bikes and climbing trees. Started playing AOEII on my dad's old accounting computer, later got into map modding. Studied Agricultural Economics at University of Nebraska-Lincoln, but ended up building robotic systems for manufacturers.

This project isn't a commercial game but a weekend hobby that helps me build development tools and learn. I'm a devout Christian and a father of three daughters, and I'm sharing this work because I think it could become something interesting.

Initially, I was too ambitious - I started parsing LOTR lore to build a comprehensive storytelling database. But after watching Brian Walker's lectures on YouTube, I pivoted to focus on enhancing Brogue's storytelling while respecting his brilliant original design.

Description

BrogueMCP connects Brogue with Ollama's local LLM to generate narrative descriptions during gameplay. The system remembers your encounters and discoveries to create a coherent story throughout your dungeon crawling experience.

I've implemented a narrator personality system that lets you customize how the game describes events. Press 'N' during gameplay to choose presets like Gandalf, Galadriel, or Aragorn, or adjust specific attributes to create your own unique narrator style.

Features

  • AI-enhanced storytelling that responds to gameplay events
  • Memory system that remembers your journey for contextual descriptions
  • Customizable narrator with adjustable personality attributes:
    • Core attributes (voice tone, wisdom level, verbosity)
    • Thematic tendencies (nature references, metaphor complexity)
    • Speech patterns (sentence complexity, archaic language)
  • Same great Brogue gameplay you already know and love

Technical Details

My implementation uses C for the game core with Node.js for the Dungeon Master agent server. Everything runs locally using Ollama with the llama3 model, so there's no cloud dependency.

The architecture follows this pattern:

[BrogueMCP Game] <--> [MCP Interface Layer] <--> [MCP Server] <--> [Agent(s)]

I've worked to implement proper error handling, memory management, and security validation to keep everything running smoothly.

Current Status

αlpha

This is very much a work in progress! I'm currently cleaning up my cursor rules to better separate my Brogue code from my other experiments. I'm working through compilation errors in MINGW64 and trying to get the game running so I can see if my menu is showing up properly.

Download

Feedback Welcome

As a kinesthetic learner who has to "do" to understand, I'd appreciate any guidance from more experienced developers. I'm happy to pass the torch to someone who wants to take this further. Feel free to reach out with questions or suggestions about what narrative elements you'd like to see in the game! ``` || Herculeum