GithubHelp home page GithubHelp logo

bitalchemists / elenears-erben Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 1.0 10.8 MB

An open-source economy/diplomacy/war browsergame. EE is based on the PHP 5 framework Lithium - https://github.com/UnionOfRAD/lithium

Home Page: http://www.elenear.net

C# 3.23% ASP 0.05% CSS 1.77% XSLT 0.99% PHP 11.94% JavaScript 82.02%

elenears-erben's People

Contributors

flyingmana avatar tomen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tomen

elenears-erben's Issues

Encoding

Das Encoding passt aus irgendeinem Grund noch nicht

Map Generate

Die Karte wird generiert.

Sie besteht aus Wasser und aus Landblöcken

session.php: Hardcodierte Route bei abgelaufener Session

Die einzige funktionierende Notation an dieser Stelle ist
''''return new Response(array('location' => '/game/pages/home'));

was nicht besonders schön ist und auch die Skalierbarkeit einschränkt. Warum funzt es nicht, wenn ich hier controller/action-Schreibweise verwende?

Game View

Der Benutzer betrachtet das Spiel. Er sieht die Karte

Ticks

Es gibt in einem regelmäßigen Zeitintervall Ticks

Developer-Doku ausbauen

Installationsanleitung mit Kontext versehen: Was brauche ich wozu? Requirements

Kurze Einführung in das app-Framework geben

A player orders a unit to move.

Client-side:

  • When the player selects a unit on the map, it becomes "active". (DONE)
  • When a unit is active, hovering the mouse over a field will show the shortest possible path to this point. The shortest possible path is calculated by employing the A*-algorithm. (DONE)
  • Clicking with the mouse on a field will open a confirmation window. Confirming the move action will send a list of steps to the server.

Server-side:

  • UnitsController::orderMovementSteps($gameId, $unitId, $steps) will place the step list in the order list.

On Tick:

  • Each step list is parsed and if there are 'step's, the first 'step' is performed and removed from the list. If no 'step's are left, the list is deleted.

Misc:

  • Fix the mirroring of x-y coordinates (DONE)

Account Login

Der Benutzer meldet sich mit Benutzername und Passwort an.

Bei fehlerhaftem Login kommt er auf eine Fehlerseite.
Bei erfolgreichem Login wird er auf Account View weitergeleitet.

Game Create

Der Benutzer legt ein neues Spiel an.

Eingabe: Name

Automatisch zugewiesene laufende Nummer.
Eine Map wird generiert
Anschließend joint der Benutzer dem Spiel automatisch

Account Create

Der Benutzer erstellt ein Konto

Eingabe: Benutzername und Passwort, optionale eMail
Das Passwort wird am Server verschlüsselt abgespeichert.
Der Benutzername darf noch nicht vergeben sein.

Der Benutzer wird anschließend eingeloggt.

Game Destroy

Der Benutzer löscht das Spiel.
Er wird aufgefordert, dies zu bestätigen.
Anschließend landet er auf der Game List

Beta-Stage einrichten

Um den Livebetrieb nicht zu stören, gibt es eine Beta-Instanz und eine Alpha-Instanz des Servers.

Auf Alpha werden Änderungen in der Entwicklerrunde getestet.
Auf Beta findet die aktuell deployte Spielinstanz statt.

Inkludiert, das #27 gefixt wird

Welcome Page

Ein anonymer Benutzer betritt die Seite.

Er bekommt allgemeine Informationen zum Spiel.
Links zu News und Forum.

Account erstellen und Login

Impressum

Map View

Der Benutzer betrachtet eine Karte.

Sie besteht aus Wasser und Land-Feldern.

Beispiel:

{ xSize:3, ySize:3, data:[[{type:0},{type:0},{type:1}],[{type:0},{type:1},{type:1}],[{type:1},{type:1},{type:1}]] }

Registrierung: Verifizierung per eMail

Zur Unterstützung des Multihuntertools

User registriert sich, gibt seine Mailadresse an.
Eine Mail wird an seine Adresse mit einem Aktivierungslink geschickt.
Wird nicht innerhalb von 24 Stunden aktiviert, wird der Account gelöscht.
Wird der Aktivierungslink geklickt, wird der Account aktiviert.

isAdmin-Attribut

Game (create, destroy) überprüfen, ob isAdmin-Attribut auf dem User gesetzt ist und ansonsten redirecten auf '/'
Herausfinden, wie der optimale Weg ist um an den Useraccount zu kommen. Über die Session? Auth?

Account Logout

Der Benutzer meldet sich ab.
Die Session wird gelöscht.
Der Benutzer landet auf der Welcome Page

GamesController::join macht die DB unlesbar für die Mongo-Applikation

> use game
switched to db game
> db.games.find()
terminate called after throwing an instance of 'mongo::UserException'
  what():  non ascii character detected
Tue Sep 13 15:48:18 mongo got signal 6 (Aborted), stack trace:

Tue Sep 13 15:48:18 0x809d07d 0x8095cc3 0x4b0400 0x4b0416 0x317e71 0x31b34e 0xd2
60b5 0xd23fa5 0xd23fe2 0xd2414e 0x80ecd53 0x8117479 0x810c718 0x6676f0
 /usr/lib/mongodb/mongo(_ZN5mongo15printStackTraceERSo+0x2d) [0x809d07d]
 /usr/lib/mongodb/mongo(_Z12quitAbruptlyi+0x333) [0x8095cc3]
 [0x4b0400]
 [0x4b0416]
 /lib/i386-linux-gnu/libc.so.6(gsignal+0x51) [0x317e71]
 /lib/i386-linux-gnu/libc.so.6(abort+0x17e) [0x31b34e]
 /usr/lib/i386-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handl
erEv+0x155) [0xd260b5]
 /usr/lib/i386-linux-gnu/libstdc++.so.6(+0xabfa5) [0xd23fa5]
 /usr/lib/i386-linux-gnu/libstdc++.so.6(+0xabfe2) [0xd23fe2]
 /usr/lib/i386-linux-gnu/libstdc++.so.6(+0xac14e) [0xd2414e]
 /usr/lib/mongodb/mongo(_ZN5mongo9uassertedEiPKc+0x183) [0x80ecd53]
 /usr/lib/mongodb/mongo(_ZN5mongo9Convertor8toStringEP8JSString+0x149) [0x811747
9]
 /usr/lib/mongodb/mongo(_ZN5mongo12native_printEP9JSContextjPy+0x98) [0x810c718]

 /usr/lib/xulrunner-2.0/libmozjs.so(+0xac6f0) [0x6676f0]

Ich vermute, die verantwortliche Codestelle ist

            $avatar['name'] = $avatarname;
            $avatar['userid'] = Session::read('user._id');
            $avatars = $game->avatars->data();
            $avatars[count($avatars)] = $avatar;
            $game->avatars = $avatars;

Lokalisierung

Der Benutzer sieht die Spieldaten in seiner Sprache.

Impressum

Um rechtlich zumindest das Minimum zu erfüllen, benötigen wir ein Impressum.

MapsController::view() implementieren

JS: Map model class -> move to map.js - DONE
move map creation and map logic to maps controller - DONE
refactor map structure on server, rename "data" in "fields" - DONE
factor out units into agents.js - DONE
make tick work with the new map model - DONE

Game List

Der Benutzer betrachtet eine Liste aller Spiele.

Er hat die Optionen Game Create, Game View, Game Join, Game Leave

Account Destroy

Der Benutzer löscht sein Konto.

Dazu muss er sein Passwort eingeben.
Danach landet er auf der Landing Page

Game Join

Der Benutzer tritt einem Spiel bei.

Anschließend landet er auf Game View

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.