Coder Social home page Coder Social logo

walkmind's Introduction

A Cogmind AI project

WalkMind is a project to create an AI that can play the sci-fi roguelike Cogmind by Grid Sage Games.

This repository contains a number of projects geared towards this endeavor. This README goes over their high-level goals.

WalkMind

WalkMind is an F# console application. Its design facilitates the reading of Cogmind's memory and enables button presses to progress through the game.

SniffMind

SniffMind is an F# library, purpose-built for real-time interfacing with Cogmind. It boasts key features such as attaching to a live instance of Cogmind, after which it extracts valuable gameplay data directly from RAM. This encompasses a wide array of details like terrain that has been explored, player statistics, statistics of other in-game robots, as well as items and equipment located either on the ground or in inventories.

SniffMind reads data structures provided by Cogmind's author. These are crucial for avoiding the need to scrape the game's visual data, allowing an AI to receive comprehensive updates about the game state without resorting to intrusive or inefficient methods. The LuigiAI structures can be found on Kyzrati's GitHub here.

Cogmind must be launched with the argument -luigiAi to expose these data structures. Note that the capitalization must be exact, with a lowercase i at the end.

DumpMind

DumpMind is an F# console application that utilizes SniffMind to dump Cogmind and an enemy's stats onto the clipboard for use with aoemica's Cog-minder.

DataIngest

DataIngest is an internal F# application, designed to generate SniffMind's parsing code. It operates on the files output to the Cogmind/luigiAi folder when the game runs in LuigiAI mode.

LearnMind (coming soon!)

A C# console application providing a learning environment for Cogmind AIs. It provides a framework to:

  • launch and manage game sessions
  • pass inputs from client AI applications to game instances
  • provide the LuigiAI structure data as rich .NET domain types back to client AIs
  • manage synchronization of client AI and game input/ready state
  • test AI behavior in iterative units that build up to higher level actions (step in a direction, shoot one enemy, assemble a scrapyard build, traverse a mats floor, etc.)
  • mock a Cogmind instance through a pre-made data set instead of a live application

License notes

The initial implementation of AStar.fs is licensed under WTFGPL and adapted to AGPL under a different name

All AGPL code contributed by authors of these commits is additionally licensed under the MIT License to the business entity Grid Sage Games and sole creator of Cogmind where possible. As of writing, this includes all code. This is a fan-made project and the authors of this project are not afilliated with Grid Sage Games.

walkmind's People

Contributors

aronson avatar noemica avatar

Stargazers

 avatar kiedtl avatar  avatar Daniel Latzer avatar  avatar

Watchers

James Cloos avatar  avatar Kostas Georgiou avatar  avatar

Forkers

noemica

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.