Python

From RogueBasin
Jump to navigation Jump to search
Python
Programming Language
Company Python Software Foundation
Influences ABC programming language
Updated May 3, 2021 (3.9.5)[1]
Status Stable
Licensing Open Source[2]
Platforms Linux, Unix, Mac OS X, Windows and others.
Official site of Python


What is Python?

From the official Python FAQ:

"Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on PCs under MS-DOS, Windows, Windows NT, and OS/2."

A full set of features can be found here.

Roguelike Specific Details

Python's expressive code, dynamic typing, flexible data types, and powerful OO and exception handling facilities make it well-suited to quick, productive RL development. However, like all interpreted languages, Python has a reputation for large memory overheads and being slower in some applications when compared to compiled languages such as C++. These problems, however, can be overcome with the extension of third-party Python modules and proper profiling and programming techniques. Another problem is that Python often requires the user to download an interpreter separately. A way to solve that is to include the interpreter in the game download.

Python's rapid speed of development and human-readable code makes it an excellent choice for programmers wanting to develop a Roguelike in a limited amount of time, making the language ideal for 7DRL Challenges.

Python-Specific Articles on RogueBasin

General:

Field of View and Line of Sight:

Pathfinding

Map Generation:

Scheduling:

Name Generation:

Related links

  • Official Python website
  • Official Python FAQs
  • libtcod is a free, fast, portable and uncomplicated API for roguelike developers providing an advanced true color console emulator, input, and lots of other utilities frequently used in roguelikes.
  • BearLibTerminal is another API for roguelike developers. Unlike libtcod, it provides and API for output only. It is therefore more compact, and is much simpler. Sports binding for C/C++, C#, Ruby, Lua, Python and Pascal.
  • py2exe is a package which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Since most Windows users will not have Python installed, py2exe is a good way to distribute your Python game to that audience.
  • PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, and Mac OS X.
  • Pygame (Pygame) is an SDL wrapper for Python that has been used for many graphical and non-graphical Roguelikes.

Roguelike games in Python

Status Name
defunct Artisan
stable Armoured Commander
```
{{{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! ``` || CrashRun

```
{{{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! ``` || CyberRogue

7DRL Cypress Tree Manor
7DRL Fist of the Rogue Warrior
```
{{{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

```
{{{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! ``` || Ighalsk

defunct I, Monster
defunct Lands of Elderlore
βeta Mines of Elderlore
defunct Netpack
7DRL Nightmare Tyrant
βeta Nyctos
defunct Pyro
βeta rng clrc
```
{{{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! ``` || Roguelike me

defunct Shuruppak
stable SummonerRL
7DRL Swamp Monster
defunct The Temple of Torment
```
{{{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! ``` || Torchlit

7DRL TrapRL
βeta Ultima Ratio Regum
defunct Wa
7DRL Whispers in the Void
7DRL Z-Day

References

  1. Python downloads, official downloads page with release information.
  2. History and License, detailed license info from the Python documentation.