An open API service indexing awesome lists of open source software.

https://github.com/shendriks/clong

An implementation of a video game that simulates table tennis with rotating gravity using Kni (a MonoGame derivative) and Hexagonal Architecture (a.k.a. Ports & Adapters).
https://github.com/shendriks/clong

clean-architecture csharp dotnet game hexagonal-architecture kni monogame

Last synced: 2 months ago
JSON representation

An implementation of a video game that simulates table tennis with rotating gravity using Kni (a MonoGame derivative) and Hexagonal Architecture (a.k.a. Ports & Adapters).

Awesome Lists containing this project

README

          

# Clong

[![.NET](https://github.com/shendriks/clong/actions/workflows/dotnet.yml/badge.svg)](https://github.com/shendriks/clong/actions/workflows/dotnet.yml)
[![Lint](https://github.com/shendriks/clong/actions/workflows/super-linter.yml/badge.svg)](https://github.com/shendriks/clong/actions/workflows/super-linter.yml)

An implementation of a video game that simulates table tennis with rotating gravity using MonoGame and Hexagonal Architecture (a.k.a. Ports & Adapters).

There's also a blog post: https://shendriks.dev/posts/2024-12-30-making-game-logic-framework-independent-with-hexagonal-architecture/

## The Architecture
![Architecture](Docs/architecture.svg)

## Control Flow(s)
### Control Flow for Update
![Architecture](Docs/control-flow-for-update.svg)

### Control Flow for Draw
![Architecture](Docs/control-flow-for-draw.svg)

## See it in Action
![Gameplay](Docs/clong.gif)

Or play on itch.io: https://shendriks.itch.io/clong