Giter Club home page Giter Club logo

mire's Introduction

Mire

It's a nonviolent MUD. (Multi-User Dungeon)

Usage

First make sure that you have java installed on your machine. OpenJDK is recommended. It should be at least version 8, but newer versions (tested up to 17) should work too.

Do ./lein run inside the Mire directory to launch the Mire server. Then players can connect by telnetting to port 3333.

Motivation

The primary purpose of this codebase is as a demonstration of how to build a simple multithreaded server in Clojure.

Mire is built up step-by-step, where each step introduces one or two small yet key Clojure principles and builds on the last step. The steps each exist in separate git branches. To get the most out of reading Mire, you should start reading in the branch called step-01-echo-server and continue from there.

While you can learn from Mire on its own, it has been written specifically for the PluralSight screencast on Clojure. A blog post steps through the codebase and shows how to make minor updates for a more recent version of Clojure.

Copyright © 2009-2021 Phil Hagelberg Licensed under the same terms as Clojure.

Group Project

Участники проекта:

  1. Меликов Роман
  2. Брезицкий Сергей
  3. Илья Заяц
  4. Ростислав Орлов

Расширяемый функционал

Командой для решения вопроса были выбран следующий функционал для реализации:

Новый функционал:

  • Модификация команды look - выводит список игроков в комнате
  • Новая команда yell, чтобы услышали все игроки в любой комнате крик
  • Модификация команды say - выводит имя игрока, который сказал
  • Новая команда whisper - приватный чат - сообщение одному игроку
  • Новая команда steal - ворует у игрока предмет (может быть проблема с тем, что игроки начнут бесконечно воровать друг от друга)
  • Новая команда hide - спрятать предмет
  • Изменить поведение при входе игрока - при входе просить помимо имени описание персонажа
  • Изменить поведение при входе игрока - при входе просить помимо имени статы
  • Бот на prolog, который бегает и кричит, используя команду yell
  • Контейнеризация, CI/CD, изменение поведения бота с новым функционалом

Процесс разработки

Командой было принято решение разбивать реализцаию функционала по неделям.

Спринт 1

Начало: 03.12

  • Модификация команды look - выводит список игроков в комнате - Сергей Брезицкий
  • Модификация команды say - выводит имя игрока, который сказал - Илья Заяц
  • Новая команда yell, чтобы услышали все игроки в любой комнате крик - Ростислав Орлов
  • Бот на prolog, который бегает и кричит, используя команду yell - Меликов Роман Окончание: 10.12

Результат работы спринта:

  • Модификация команды look - выводит список игроков в комнате - Сергей Брезицкий:
    • Завершена, описана в PR#4
  • Модификация команды say - выводит имя игрока, который сказал - Илья Заяц:
    • Завершена, описана в PR#1
  • Новая команда yell, чтобы услышали все игроки в любой комнате крик - Ростислав Орлов
    • Завершена, описана в PR#5
  • Новая команда yell, чтобы услышали все игроки в любой комнате крик - Меликов роман
    • Завершена, описана в commit с сообщением AS

Спринт 2

СПРИНТ 2: Начало: 10.12

  • Изменить поведение при входе игрока - при входе просить помимо имени статы - Сергей Брезицкий
  • Новая команда whisper - приватный чат - сообщение одному игроку - Илья Заяц
  • Изменить поведение при входе игрока - при входе просить помимо имени описание персонажа - Ростислав Орлов
  • Контейнеризация, CI/CD, изменение поведения бота с новым функционалом - Меликов Роман Окончание: 17.12

mire's People

Contributors

technomancy avatar melikovman avatar ilyazayats avatar sergeib2002 avatar rostislavorlov avatar redinger avatar pcdro avatar ryanbrainard avatar jamiltron avatar

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.