https://github.com/peterss7/the-meaning-discordancy
An experimental game in development that uses NLP to simulate the emergence of meaning... Game mechanics only exist in paper notebook thus far but the math is very interesting.
https://github.com/peterss7/the-meaning-discordancy
asp-net-core configuration csharp docker emergence endpoints entity-framework game-development geometry git mathematics microservices nlp powershell python rest-api scss similarity-matrix similarity-score vscode
Last synced: 26 days ago
JSON representation
An experimental game in development that uses NLP to simulate the emergence of meaning... Game mechanics only exist in paper notebook thus far but the math is very interesting.
- Host: GitHub
- URL: https://github.com/peterss7/the-meaning-discordancy
- Owner: peterss7
- License: other
- Created: 2025-05-23T00:25:07.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2025-06-12T01:19:47.000Z (5 months ago)
- Last Synced: 2025-06-17T05:07:09.713Z (5 months ago)
- Topics: asp-net-core, configuration, csharp, docker, emergence, endpoints, entity-framework, game-development, geometry, git, mathematics, microservices, nlp, powershell, python, rest-api, scss, similarity-matrix, similarity-score, vscode
- Language: C#
- Homepage:
- Size: 4.29 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README


Copyright Β© 2025 Steven Peterson
All rights reserved.
This software and all associated materials are the exclusive intellectual property of the author.
No part of this code may be copied, modified, distributed, or used without explicit written permission from the author.
**Note:** This project is not licensed under an open-source license.
Creative Commons references may be included for informational purposes only.
# The Meaning Discordancy
An experimental game of *emergent meaning*.
**The Meaning Discordancy** is a competitive language game where players turn units of truth to shape meaning along ideological spectrumsβchaos/order, divine/physical, unity/divisionβto make their alignment dominant.
## Description
This game uses NLP libraries to perform vector similarity calculations on player input, primarily as players take turns tagging images. Over time, thematic structures emerge, and players find themselves in a battle of ideology β where winning means constructing meaning more efficiently than your opponent... or losing to theirs.
That's the idea, anyway. It's a ways off, but that's the vision.
## Getting Started
### Dependencies
* Program runs in docker.
### NLP Similarity Evaluator Service
* Python
- flask, flask_smorest, flask-jwt-extended
- flask-sqlalchemy, flask-migrate, sqlalchemy, pyodbc
- python-dotenv, gunicorn, passlib
- sentence-transformers, scikit-learn
### TheMeaningDiscordancy API (C# Backend)
* .NET / EF Core
- Microsoft.AspNetCore.Http.Abstractions
- Microsoft.EntityFrameworkCore.SqlServer + Tools + Abstractions
- Microsoft.Extensions.Logging / DependencyInjection.Abstractions
### Angular Client
* Angular Material
* Storybook
* Rimraf
### Installing
* Installation scripts are still under development.
* Docker setup is not yet fully implemented.
* Frontend:
```bash
cd ./src/client
npm run install:all
* Python backend
```bash
cd ./src/nlp/powershell
./install.ps1
### Executing
* NLP Similarity Service(./src/nlp/powershell)
```
./run.ps1
```
Starts the Flask-based NLP backend.
* Angular Client(./src/client/)
```
npm run start:all
```
Starts both the client app and Storybook for component previews.
## File Structure
### The Discordancy Api
> Controllers and entry point
π (click to expand)
```plaintext
β βββ TheMeaningDiscordancy.Api
β β βββ Classes
β β β βββ AppHostSettings.cs
β β βββ DiscordApi
β β β βββ ConfigurationApiController.cs
β β β βββ ItemApiController.cs
β β β βββ TagApiController.cs
β β βββ Extensions
β β β βββ StatupExtensions.cs
β β βββ Program.cs
β β βββ Properties
β β β βββ launchSettings.json
β β βββ TheMeaningDiscordancy.Api.csproj
β β βββ appsettings.Development.json
β β βββ appsettings.Local.json
β β βββ appsettings.json
```
### The Discordancy Core Services
> Where the business logic of entities is executed.
π (click to expand)
```plaintext
β βββ TheMeaningDiscordancy.Core
β β βββ CoreServices
β β β βββ CoreStartupExtensions.cs
β β β βββ Item
β β β β βββ Configuration
β β β β β βββ ItemConstants.cs
β β β β βββ Extensions
β β β β β βββ ItemStartupExtensions.cs
β β β β βββ Mapping
β β β β β βββ ItemProfile.cs
β β β β βββ Models
β β β β β βββ Dtos
β β β β β β βββ Create
β β β β β β β βββ CreateItemDto.cs
β β β β β β βββ ItemDto.cs
β β β β β β βββ Update
β β β β β β βββ ItemUpdateDto.cs
β β β β β βββ Entities
β β β β β β βββ ItemEfc.cs
β β β β β βββ IItemMap.cs
β β β β βββ Repositories
β β β β β βββ Interfaces
β β β β β β βββ IItemRepository.cs
β β β β β βββ ItemRepository.cs
β β β β βββ Services
β β β β βββ Interfaces
β β β β β βββ IItemMappingService.cs
β β β β β βββ IItemService.cs
β β β β βββ ItemMappingService.cs
β β β β βββ ItemService.cs
β β β βββ Tag
β β β β βββ Configuration
β β β β β βββ TagConstants.cs
β β β β βββ Extensions
β β β β β βββ TagStartupExtensions.cs
β β β β βββ Mapping
β β β β β βββ TagProfile.cs
β β β β βββ Models
β β β β β βββ Dtos
β β β β β β βββ Create
β β β β β β β βββ CreateTagDto.cs
β β β β β β βββ TagDto.cs
β β β β β βββ Entities
β β β β β β βββ TagEfc.cs
β β β β β βββ ITagMap.cs
β β β β βββ Repositories
β β β β β βββ Interfaces
β β β β β β βββ ITagRepository.cs
β β β β β βββ TagRepository.cs
β β β β βββ Services
β β β β βββ Interfaces
β β β β β βββ ITagMappingService.cs
β β β β β βββ ITagService.cs
β β β β βββ TagMappingService.cs
β β β β βββ TagService.cs
β β β βββ Utilities
β β β βββ Classes
β β β β βββ ImageData.cs
β β β βββ Extensions
β β β β βββ UtilityStartupExtensions.cs
β β β βββ Services
β β β βββ ImageUtilityService.cs
β β β βββ Interfaces
β β β βββ IImageUtilityService.cs
β β βββ DiscordContext.cs
β β βββ Properties
β β β βββ launchSettings.json
β β βββ Results
β β β βββ DiscordError.cs
β β β βββ DiscordResult.cs
β β β βββ Error.cs
β β βββ TheMeaningDiscordancy.Core.csproj
```
### Discordancy Infrastructure
> Persistence/WIP
π (click to expand)
```plaintext
β βββ TheMeaningDiscordancy.Infrastructure
β β βββ Classes
β β β βββ Interfaces
β β β βββ IDiscordDataEntity.cs
β β βββ Extensions
β β β βββ PersistenceStartupExtensions.cs
β β βββ Repositories
β β β βββ DiscordRepository.cs
β β β βββ Interfaces
β β β βββ IDiscordRepository.cs
β β βββ TheMeaningDiscordancy.Infrastructure.csproj
```
### Angular Client
> Not displaying ts, scss, and html file for angular components to consolidate space. The are there.
π (click to expand)
```plaintext
β βββ client
β β βββ README.md
β β βββ angular.json
β β βββ documentation.json
β β βββ package-lock.json
β β βββ package.json
β β βββ src
β β β βββ app
β β β β βββ app-routing.module.ts
β β β β βββ app.module.ts
β β β β βββ constants
β β β β β βββ discord-constants.contants.ts
β β β β βββ core
β β β β β βββ core.module.ts
β β β β β βββ models
β β β β β β βββ config-data.model.ts
β β β β β βββ services
β β β β β βββ client.service.ts
β β β β β βββ config.service.ts
β β β β βββ items
β β β β β βββ components
β β β β β β βββ components.module.ts
β β β β β β βββ item-table
β β β β β β βββ item-table.module.ts
β β β β β β βββ item-tile
β β β β β βββ items.module.ts
β β β β β βββ models
β β β β β β βββ item.model.ts
β β β β β βββ services
β β β β β βββ item-styles.service.ts
β β β β β βββ items.service.ts
β β β β βββ shared
β β β β βββ components
β β β β β βββ action-bar
β β β β β βββ action-header
β β β β β βββ components.module.ts
β β β β β βββ file-upload
β β β β β βββ icon-button
β β β β β βββ modal
β β β β βββ layout
β β β β β βββ footer
β β β β β βββ header
β β β β β βββ home
β β β β β βββ layout.module.ts
β β β β β βββ sidebar
β β β β βββ models
β β β β β βββ config-data.model.ts
β β β β β βββ modal-data.model.ts
β β β β βββ pipes
β β β β β βββ normalize-url.pipe.ts
β β β β βββ services
β β β β β βββ modal.service.ts
β β β β β βββ styles.service.ts
β β β β βββ shared.module.ts
β β β βββ assets
β β β βββ index.html
β β β βββ main.ts
β β β βββ stories
β β β βββ styles
β β β β βββ main.scss
β β β β βββ mixins
β β β β βββ _components.scss
β β β β βββ _detail.scss
β β β β βββ _layout.scss
β β β β βββ components
β β β β β βββ _display-components.scss
β β β β β βββ _image-components.scss
β β β β β βββ components.scss
β β β β βββ mixins.scss
β β β βββ styles.scss
β β βββ tsconfig.app.json
β β βββ tsconfig.json
```
### NLP Similarity Evaluator Service
> Calculating scores by evaluating emergent similarities.
π (click to expand)
```plaintext
β βββ nlp
β βββ Dockerfile
β βββ __init__.py
β βββ app.py
β βββ powershell
β β βββ install.ps1
β β βββ reinstall.ps1
β β βββ run.ps1
β βββ requirements.txt
β βββ resources
β β βββ __init__.py
β β βββ tag_resource.py
β βββ schemas
β βββ __init__.py
β βββ tag_schema.py
```
## Utilities
From project root:
```bash
.\AddHeaders.ps1 # Add copyright headers
.\AddHeaders.ps1 --restore # Undo last header run
.\.treeignore\tree.py # Get a visual on the indentation situation
```
These scripts automatically add or remove legal headers across code files, formatting the comment style based on file extension.
Planned: --update functionality to refresh existing headers.
## Help
If Python imports cannot be resolved, ensure that your interpreter points to:
`./venv/Scripts/python.exe`
## Version History
* 0.1
* Initial Scaffold
## Acknowledgments
Inspiration, code snippets, etc.
TO-DO
## Authors & Contact
For licensing inquiries or collaboration opportunities:
**Steven Peterson** [LinkedIn β](https://www.linkedin.com/in/steven-peterson7405926/)
**TheMeaningDiscordancy** [Github β](https://github.com/peterss7/The-Meaning-Discordancy)