osnacs / dbp-game Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Ein User soll ASAP einem spezifisches Rechtelevel zugeordnet werden können. Dadurch soll mit einfachen Funktionen abgefragt werden können welche Rechte der User hat und dem entsprechend Content oder Bearbeitungsmöglichkeiten angezeigt werden.
Da es bereits eine Tabelle aller Einheiten gibt, jedoch keine möglichkeit Einheiten zu genereien/bauen.
Fangen wir an die Seite dafür zu machen
@Jack5496 @AlexanderAltemoeller @NilsAffing
Wir haben ja jetzt nicht die Möglichkeit, Prozesse im Hintergrund laufen zu lassen, die ständig gucken, ob gerade ein Kampf oder eine Forschung fertig ist. Das wäre zwar nett, und wenn am Ende noch Zeit ist, wäre das schön, wenn das jemand machen könnte,
Also müssen wir gucken, wann wir solche Aktionen ausführen können. Code in unserer Rails App láuft nur, wenn irgendein Nutzer die App aufruft. Als erste Näherungslösung wäre es also vielleicht gut, wenn wir bei jedem Aufruf der Seite gewisse Maintainance-Skripte laufen lassen könnten.
Jemand muss recherchieren, wie das geht und möge das dann erstmal hier rein schreiben.
Stichworte sind:
ApplicationController
before_filter
bzw. before_action
Für später vielleicht: TRIGGER
.
Das Menü sollte dynamisch erweiterbar sein. Das Menü sollte sich aus der Datenbank Informationen laden um zu wissen wie viele Punkte im Menü angezeigt werden sollen. "link_to" und Iconreferenz sollte ebenfalls vorhanden sein.
Einige von euch kkonnte ich nicht in Gitter hinzufügen, weil keine E-Mail-Adresse mit ihrem GitHub-Namen verknüpft ist.
Betroffen sind insbesondere:
@aurturunios, @fizzule, @fsandfort, @MarenSteinkamp, @P-Pfeiffer, @SebastianRunde
Bitte loggt euch einmal in gitter ein (siehe Button auf der Hauptseite unseres Repos).
Funktion zum Schiffe verkaufen/zerstören einfügen.
Ggf mit rückgabe von Rohstoffen.
Zu den Schiffen müsste das Management bezüglich der Ausbauplätze noch erstellt werden.
Der Typ wenn man ein Schiff erstellt sieht mir nach einem Text aus und nicht nach einem String, somit sind Absätze erlaubt. Könnte man eventuell überdenken.
-nichts
-kampf
-zerstörung
-bergen
-Ressourcen
Wenn man bei der Registrierung ein zu kurzes Passwort eingibt, oder man das Passwort mit dem zweiten Feld falsch bestätigt, dann rutscht das Feld an den linken Rand des Layouts und sieht kaputt aus.
Zudem haben wir den Fehler auch in der Forschung festgestelt, nachdem wir eine Namensvalidierung ergänzt haben und diese getestet haben. Daher gehen wir davon aus, dass das ein allgemeines Problem im Layout ist.
Es gibt ja so "Referenz-Tabellen" wie sciences
, die sich während des Spiels eigentlich nicht ändern. Diese will man beim Testen oder Deployen nicht jedes mal neu Einpflegen, also muss jemand ein Skript oder sowas ähnliches schreiben, was diesen Schritt automatisiert.
Stichwörter, die ihr da mal recherchieren könnt ist:
Interessant, aber erstmal nicht so wichtig, ist dann noch der umgekehrte Schritt: Wenn man diese Tabellen jetzt doch aus der App heraus bearbeitet, wie kann man dann irgendwie automatisiert aus den Tabellen dieses Seed-Skript erstellen.
Das System zum Handeln zwischen Spieler und CPU.
@fsandfort @fizzule
Basisbauzeit = Gesamtkosten * 2 min
Treibstoffverbrauch = [Abstandsmaß] * ([Hüllenmaße] + [Frachtraum])
Geschwindigkeit 8 = 1h Mindestdauer
!Achtung Tabelle geht nach rechts weiter!
Einheit | Metall (Faktor 500) | Kristall (Faktor 500) | Treibstoff (Faktor 500) | Gesamtkosten | Beschreibung | Hülle (Faktor 1000) | Angriff (Faktor 10) | Frachtraum (Faktor 100) | Geschwindigkeit |
---|---|---|---|---|---|---|---|---|---|
Wertrate | 1 | 2 | 4 | ||||||
Raketenwerfer | 2 | 2 | Standart Anlage | 2 | 1 | ||||
Spionagedrohne | 2 | 10 | Bringt information über Gegner | 1 | 1 | 128 | |||
mob. Schildgenerator | 4 | 1 | 8 | Schützt eigene Einheiten | 5 | 4 | |||
Schild klein | 50 | 100 | 250 | Schützt eigenes Schiff | 100 | ||||
Schild groß | 200 | 400 | 1000 | Schützt eigenes Schiff | 500 | ||||
EMP-Schiff | 400 | 100 | 800 | möglichekit im Kampf Schild zu zerstören | 100 | 20 | 120 | 1 | |
Bombenteleporter | 250 | 100 | 650 | Bonus gegen orbitale Waffenplattform. | 100 | 50 | 100 | 1 | |
Transporter klein | 5 | 2 | 9 | Ressourcen transport | 2 | 80 | 4 | ||
Transporter groß | 20 | 8 | 36 | Ressourcen transport | 8 | 400 | 8 | ||
Expeditionsschiff | 40 | 10 | 80 | Bringt event bei Aussenden | 50 | 2 | 400 | 8 | |
Jäger | 2 | 1 | 4 | LASER | 1 | 1 | 2 | 8 | |
Fregatte | 20 | 10 | 40 | LASER | 10 | 12 | 5 | 8 | |
Kreuzer | 20 | 40 | 100 | ION | 10 | 50 | 8 | 4 | |
Zerstörer | 200 | 100 | 400 | KINETIK | 200 | 500 | 20 | 4 | |
Bomber | 20 | 10 | 60 | KINETIK | 20 | 10 | 5 | 1 | |
Solarpanel | 2 | 1 | 8 | erhöht Energie | 1 | ||||
Lasergeschütze klein | 3 | 1 | 5 | 2 | 2 | ||||
Lasergeschütze groß | 12 | 4 | 20 | 10 | 10 | ||||
Ionenbeschleuniger klein | 2 | 3 | 8 | 4 | 4 | ||||
Ionenbeschleuniger groß | 8 | 12 | 32 | 20 | 20 | ||||
Massenbeschleuiniger | 80 | 20 | 120 | 80 | 80 | ||||
orbitale Waffenplattform | 100 | 200 | 1800 | 1000 | 10000 | ||||
Geheimwaffe | 500 | 1000 | 5000 | ??? | 2000 | 1 |
Kampfablauf
1.Phase: Spionagephase
2.Phase: Schildphase I
3.Phase: Schildphase II
4.Phase: Angriffsphase
Einbindung der Notifications, gelesen aus der Datenbank.
Anzeige der neuen Notifications.
Einbindung der Grafiken für die verschiedenen Komponenten in das User Interface.
Wir kümmern uns um hier um das Upgraden der Stationen.
some stuff
@P-Pfeiffer; @fizzule; @Jack5496; @fsandfort; @SebastianRunde; @arturunios;
Irgendwo sollte ein oder mehrere ER-Diagramme liegen, die das Datenbank-Schema beschreiben.
Das muss jetzt nicht ein riesiges Bild sein, sondern kann sich auf bestimmte Aspekte des Systems einschränken, z.B. "User und all seine (direkten) Relationships". Dann sollten alle diese Bilder zusammen allerdings das ganze System beschreiben.
Bitte fügt dies:
if current_user.activeShip == nil
redirect_to :controller => 'ships', :action => 'new'
end
in all eure Controller actions ein, damit sofern kein Ship ausgewählt ist ein neues erstellt wird, welches automatisch zu eurem aktuellen wird.
Bisher funktioniert der Javascript-Timer nur, wenn nur eine Sache gleichzeitig erforscht/gebaut wird.
Wir bauen nun einen Timer, welcher auch erlaubt mehrere Zeilen gleichzeitig runterzuzählen.
@AlexanderAltemoeller @NilsAffing @Jack5496
ToDo:
Ich hätte gern, dass man statt
Ship.find(current_user.activeShip)
lieber
current_user.active_ship
schreiben kann.
@MarenSteinkamp und @heburke, das ist euer Gebiet, oder? Kümmert ihr euch darum?
Ein User soll sich alle seine Notifications anzeigen lassen. Dabei soll er die Nachricht sehen und sie als 'gelesen' makieren können und dabei löschen.
Kosten für das kaufen von Schiffen, sitzen der grenze von möglichen Schiffe (9) und implementieren einer Fehlerbehandlung falls SchiffsID = Nil
Mit schrecken musste ich feststellen, dass ich auch zwei Tage nach der Aufforderung immer noch nur 5 von 17 GitHub-Namen bekommen habe.
Alle, die mir noch nicht ihren GitHub-Benutzernamen per E-Mail geschickt haben, tragen diesen zusammen mit ihrem richtigen Namen bitte möglichst in alphabetischer Reihenfolge in diese Wiki-Seite ein.
Folgende Forschungen sollten mit den angegebenen Bedingungen und Mechaniken eingebaut werden:
Forschungen sind spielerbezogen und schiffsübergreifend. Sie starten auf Level 0, haben Ressourcenkosten in Mineralien und Kristallen sowie eine Entwicklungszeit. Anfangs kann auf jedem Mutteschiff immer nur eine von den anderen getrennte Forschung entwickelt werden, ein Upgrade schaltet jedoch frei, dass die Forschungseffizenz von mehreren Mutterschiffen kombiniert werden kann (Netzwerktechnologie)
Boni aus mehreren Entwicklungsleveln verhalten sich additiv.
Um Level 1 erforschen zu können, sind teilweise Level auf anderen Forschungen benötigt.
Forschungszeit: 2 ^ x wobei (x = Tier + aktuelle Stufe - 1) Minuten
Die beiden Forschungen des special tiers haben eine Basiszeit für Stufe 1 von 24 Stunden
Station | Kosten Metal. | Kosten Kristall. | Kosten Treibstoff. | Gesamtkosten |
---|---|---|---|---|
Scanner Metall | 4 | 1 | 6 | |
Scanner Kristall | 2 | 2 | 6 | |
Scanner Treibstoff | 2 | 1 | 6 | |
Forschungsstaion | 2 | 1 | 8 | |
Baugebäude | 2 | 1 | 4 | |
Werft | 4 | 1 | 8 | |
Erweiterungsplattform | 8 | 2 | 16 | |
Ressourcenlager Metall | 3 | 1 | 5 | |
Ressourcenlager Kristall | 1 | 2 | 5 | |
Ressourcenlager Treibstoff | 1 | 1 | 5 | |
Ressourcentresor Metall | 6 | 2 | 10 | |
Ressourcentresor Kristall | 2 | 4 | 10 | |
Ressourcentresor Treibstoff | 2 | 2 | 10 | |
Energiegenerator | 1 | 1 | 6 | |
Verbrennungsgenerator | 4 | 1 | 8 | |
Reparaturgebäude | 8 | 4 | 16 |
Jemand könnte sich mal Gedanken zu coding conventions machen. Das heißt entweder einen Style Guide raussuchen oder sich selbst Regeln für alles mögliche überlegen (das ist die schlechtere Variante).
Sachen, die mir beim sichten des ersten (richtigen) PRs aufgefallen sind:
Dieses Issue kann gerne zum Sammeln weiterer Punkte genutzt werden.
Wer sich dieser Aufgabe annimmt, sollte auch mal recherchieren, wie man diese conventions zu einem gewissen Grad erzwingt. Dazu kann man z.B. mal gucken, wie man Konfigurationsdateien für bestimmte Editoren in das Repository tun kann, so dass der Editor sie automatisch findet, wenn man Dateien im Repository bearbeitet. Dazu muss man natürlich erstmal wissen, was für Editoren alle so benutzen, was mich sowieso mal interessieren würde, vielleicht kann mal jemand eine Wiki-Seite erstellen, wo steht, wer was benutzt?
Also, any takers?
Siehe auch #21
User sollen ihr eigenes Icon für ihr Profil hochladen können. Und ggfs. löschen oder überschreiben können.
Forschung | Kosten Metall | Kosten Kristall | Kosten Treibstoff | Gesamtsumme |
---|---|---|---|---|
Hülle | 10 | 10 | ||
Laser | 4 | 3 | 10 | |
Spionage | 3 | 1 | 10 | |
Triebwerk | 8 | 3 | 20 | |
Ionen | 4 | 8 | 20 | |
Schilde | 6 | 2 | 20 | |
Pilotentraining | 20 | 5 | 40 | |
Netzwerk | 160 | 100 | 720 | |
Pionierausbildung | 320 | 100 | 720 | |
Kinetik | 20 | 10 | 40 |
Erstellung von Tooltips, welche beim "hovern" über ein Element angezeigt werden sollen.
Related to #20
Beim Sichten des ersten PR ist mir folgendes eingefallen: Einige Editoren fügen beim Speichern automatisch ein newline-Zeichen am Ende der Datei ein, wenn da keins steht, und einige nicht. Die Vorteile sind:
Nachteile:
Ich bin dafür, aber ihr könnt mal eure Meinungen hier rein schreiben. Irgendwer sollte dann, wenn sich alle einig sind, mal gucken, wie wir das erzwingen, also ähnlich wie in #20. Außerdem sollten wir zumindest die von euch geschriebenen Dateien dann einmal durchgehen und sie vereinheitlichen.
Erstellung des User Interfaces. Grobes Spiel-Design.
Folgende Stationen sollen mit entsprechenden Mechaniken implementiert werden, Namen sind zum aktuellen Zeitpunkt teilweise noch Placeholder.
Mutterschiffe haben einen maximalen Bauplatz von 100. Jedes Level einer Station auf diesem Mutterschiff kostet einen Bauplatz. Sollte der maximale Bauplatz erreicht sein, ist es möglich diesen ein wenig durch Ausbau der Erweiterungsplatform zu erweitern.
Eine Station ist eine Mutterschiff bezogene Aufwertung, welche einen permanenten Effekt auf das entsprechende Mutterschriff hat. Haben ein Level beginnend mit 0 (Sonderregelung: Scanner für Metalle und Kristalle sowie der Energiegenerator auf Mutterschiffen starten mit 1) und können zu Ressourcenkosten in Metallen und Kristallen aufgewertet werden. Diese Aufwertung dauert jedoch auch eine Bauzeit.
Tier 1 Stationen:
Tier 2 Stationen:
Tier 3 Stationen:
Bauzeit der Stationen: 2 ^ x wobei (x = Tier + aktuelle Stufe - 1) Minuten
Es wäre schön, wenn ihr die Wiki-Seiten zum game design etwas kompakter schreiben könntet und in mehrere Seiten aufteilen könntet, sodass man da einfach Aufgaben raussuchen kann.
Spätestens immer, wenn ihr ins Wiki guckt, um euch eine Aufgabe zu suchen, ist es automatisch Teil der Aufgabe, den entsprechenden Teil des Wiki in eine eigene Seite zu extrahieren!
Bitte benutzt das Issue-System, um zu dokumentieren, was ihr tut, ich sage da noch mal etwas mehr zu, wenn ich wieder da bin (hoffentlich morgen). Also offensichtlich sind zumindest einige gerade mit account management beschäftigt, wer gehört da alles zu außer @ChristianReinhard?
Was ist da jetzt noch genau zu tun? Tragt das mal hier ein.
Wenn da kleinere Aufgabenpakete auszumachen sind, erstellt auch ruhig weitere Issues.
Jemand mache aus dem Vortrag und meinen Vortragsnotizen noch vernünftige Wiki-Seiten
Zu den Schiffen müsste das Energiemanagement noch erstellt werden.
Ihr müsst aufpassen, dass die App nicht crasht, wenn ich nicht eingeloggt bin und eine Seite besuche, die ich dann eigentlich nicht sehen darf.
User Profile sollen alle notwendigen Informationen über den eigenen oder einen anderen User anzeigen.
Das Spiel soll Spielerprofile anzeigen können und für User andere Spieler anzeigen können.
Eine Verwaltung für Bearbeitungsrechte soll eingeführt werden und in die User in mehreren Stufen zugeordnet werden können.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.