All Projects → TheElectronWill → why-roguelike

TheElectronWill / why-roguelike

Licence: AGPL-3.0 license
A multiplayer ASCII roguelike

Programming Languages

scala
5932 projects
shell
77523 projects

Projects that are alternatives of or similar to why-roguelike

Game
⚔️ An online JavaScript 2D Medieval RPG.
Stars: ✭ 388 (+2182.35%)
Mutual labels:  roguelike, multiplayer-game
Ramen
A simple console emulator for ascii games written in go
Stars: ✭ 35 (+105.88%)
Mutual labels:  ascii, roguelike
Magicallife
A 2d game that aspires to be similar to Rimworld, with more depth, magic, and RPG concepts.
Stars: ✭ 145 (+752.94%)
Mutual labels:  roguelike, multiplayer-game
Lambdahack
Haskell game engine library for roguelike dungeon crawlers; please offer feedback, e.g., after trying out the sample game with the web frontend at
Stars: ✭ 439 (+2482.35%)
Mutual labels:  ascii, roguelike
NDScala
N-dimensional arrays in Scala 3. Think NumPy ndarray, but type-safe over shapes, array/axis labels & numeric data types
Stars: ✭ 37 (+117.65%)
Mutual labels:  dotty, scala3
Dotty
The Scala 3 compiler, also known as Dotty.
Stars: ✭ 4,836 (+28347.06%)
Mutual labels:  dotty, scala3
Sadconsole
A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!
Stars: ✭ 853 (+4917.65%)
Mutual labels:  ascii, roguelike
scala3-cross.g8
No description or website provided.
Stars: ✭ 12 (-29.41%)
Mutual labels:  dotty, scala3
cavernos
Retro fantasy terminal for building DOS-era ASCII games, powered by WebAssembly
Stars: ✭ 32 (+88.24%)
Mutual labels:  ascii, roguelike
asciiarena
Terminal multiplayer deathmatch game
Stars: ✭ 34 (+100%)
Mutual labels:  ascii, multiplayer-game
Allure
Allure of the Stars is a near-future Sci-Fi roguelike and tactical squad combat game written in Haskell; please offer feedback, e.g., after trying out the web frontend version at
Stars: ✭ 149 (+776.47%)
Mutual labels:  ascii, roguelike
Inkuire
Hoogle-like searches for Scala 3 and Kotlin
Stars: ✭ 70 (+311.76%)
Mutual labels:  dotty, scala3
scala-3-crash-course
Scala 3 workshop presenting the top new features of the language.
Stars: ✭ 34 (+100%)
Mutual labels:  dotty, scala3
Axes-Armour-Ale
A fantasy, ASCII dungeon crawler for Windows, Linux & OSX
Stars: ✭ 22 (+29.41%)
Mutual labels:  ascii, roguelike
tf-dotty
Shape-safe TensorFlow in Dotty
Stars: ✭ 42 (+147.06%)
Mutual labels:  dotty
FungusCave
A Roguelike game made with Unity. Explore the cave, fight enemies, and find Encyclopedia of Yendor to cure your infections.
Stars: ✭ 80 (+370.59%)
Mutual labels:  roguelike
FloodSpill-CSharp
A flood fill algorithm implementation for C#
Stars: ✭ 59 (+247.06%)
Mutual labels:  roguelike
asciichart
ASCII line charts in terminal ╭┈╯ Haskell port of kroitor/asciichart
Stars: ✭ 23 (+35.29%)
Mutual labels:  ascii
AACircuit
Draw circuits using ASCII
Stars: ✭ 54 (+217.65%)
Mutual labels:  ascii
atom-ide-scala
Scala & Dotty support for Atom IDE (🧟‍♂️ zombie repo)
Stars: ✭ 47 (+176.47%)
Mutual labels:  dotty

WHY 🌳

Welcome to the Holy Yggdrasil

You wake up in what looks like a dungeon. You aren't hurt*, but you feel like this isn't where you should be... WHY are you there?

*: at least, not yet...

Compiling

This is an SBT project, but you don't need to install sbt on your machine. To compile, simply run

./sbt compile

You can also run sbt's shell with ./sbt and then execute commands like compile, test, etc.

Running the game

Locally

First, you'll need to build the client and server jar files.

./sbt assembly

The assembly command produces:

  • server/target/scala-0.21/server-assembly-0.1.0-SNAPSHOT.jar
  • client-ascii/target/scala-0.21/client-assembly-0.1.0-SNAPSHOT.jar

You can now run the server:

java -jar server-assembly-0.1.0-SNAPSHOT.jar

And then open a new Terminal and run the client:

java -jar client-assembly-0.1.0-SNAPSHOT.jar localhost 4242

You can replace localhost by the server's address if it is on a remote machine.

With docker

Requirements:

  • Docker
  • Docker Compose

Build the client and server jar files

docker-compose run --rm assembly

Start the server

docker-compose run --rm --name why_server server

then start the client

docker-compose run --rm client-ascii

Logs

The server displays its log in the console that started it.

The client cannot do this, since it's displaying the game. It writes its log to the file why-client.log. You can run tail +1f why-client.log to get a real-time view of this file.

Playing

You move with the arrows. Nothing else for now :-)

Warning: experimental Scala version

Because it's fun to learn new things (and because I'm a contributor), this project doesn't use Scala 2.x but Dotty, an experimental research project that will become Scala 3, the next major version of scala.

Please see the Dotty website for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].