antfarm's People
antfarm's Issues
Zeichenreihenfolge beachten
Es ist wichtig beim Zeichnen der Szenerieobjekte die Reihenfolge zu beachten:
- Hive
- Food
- Ants
Sonst stimmt die Z-Order nicht.
[Performance] Geschwindigkeit schwankt bei vielen Ameisen
Wenn man alle Ameisenstämme aktiviert und viele Ameisen auf dem Feld sind fängt die Animationsgeschwindigkeit an, zwischen langsam und normal zu schwanken. CPU Auslaustung ist unter 5% und kommt nicht in Frage. Es könnte sich um einen Processing Bug handeln, wenn z.B. Delta sich verkleinert und die Framerate gleich bleibt. Auch die Garbage Collection dürfte nicht das Problem sein, da der Footprint im Test bei ca. 105MB war, der JVM jedoch 512MB zugesichert waren.
Spawn food
Google Annotationen Broken
Die Google Annotationen Produzieren Fehler
Meiner Meinung nach hat so ein Unsinn in Quellcode nichts zu suchen. Wenn Du dennoch drauf bestehen willst checke wenigstens die Bibliotheken mit ein.
Kollision von Ameisen: früher erkennen
Für die Kollision von Ameisen untereinander wird eine frühere Erkennung benötigt, damit sie sich besser ausweichen können. Dazu kann man einfach die Länge des Vektors der zukünftigen Position vergrößern und entsprechend früher den Pfad als blockiert markieren.
Achtung: dies soll nur für Ameisen untereinander gelten. Die Kollision mit dem Rand der Welt ist davon nicht betroffen.
Farben der Hives und Ameisen zu ähnlich
Die "Teamfarben" der Hives und Ameisen sind teilweise zu ähnlich, so dass man sie nicht mehr gut auseinanderhalten kann (besonders gelb und Orange). Ich finde das besonders wichtig, dass die Farben auch funktional sind. Kann man dann auch als Designentscheidung verkaufen.
Hive spawned manchmal "über den Rand hinaus"
Manchmal spawned der Hive so, dass ein Teil davon über den Rand der Welt hinausragt. Es sollte immer ein gewisser Abstand zum Rand eingehalten werden.
Slider für overlay
Slider für:
- Ant
- Idle time
- view distance
- fov
- min ttl
- max ttl
- movement rate
- turn rate
Animation wenn Ameise stirbt
dafür bräuchte man eine "dead ants" liste
Roter Rand am Overlay
Das Overlay hat oben und links einen roten Rand. Sieht aus wie ein Fehler. Ist das gewollt?
fix overlay key "s"
Random seed für Wandering Behavior ist teilweise identisch
Momentan wird der Zufallszahlengenerator für das Wandering Behavior mit System.currentTimeMillies geseeded. Dies führt bei gleichzeitig spawnenden Ameisen zu identischem Verhalten. Es muss ein besserer Weg für die Seed-Generierung gefunden Werden.
Es wäre gut, wenn die einzel-Seeds der Ameisen von einem Master-Seed abhängen, so dass einzelne Folgen rekonstruiert werden können.
Für das Hinzufügen von Hives nicht die Liste der Farben durchlaufen
Beim Hinzufügen der Hives wird momentan die Liste der Farben durchlaufen und für jede Farbe ein Hive erstellt. Es sollte stattdessen eine Zahl für die Anzahl der Hives geben und die Farbe beim Erstellen des Hives anhand dessen Nummer gewählt werden.
Neues Futter erst nach zufälliger Pause spawnen
Neues Futter spawnt momentan sofort. Es wäre besser wenn es mit zufälliger Verzögerung spawnt.
Blickrichtung beim Verlassen des Hives richtig berechnen
Beim Berechnen der Blickrichtung der Ameise beim Verlassen des Hives läuft was noch nicht ganz rund. Teilweise ist die Richtung falsch.
Globale Parameter persistent machen
Die globalen Parameter sollen mit Hilfe eines Property Files persistent werden.
Priorität: niedrig
Overlay geht an und aus wenn Taste gedrückt bleibt
Wenn man die Overlay Taste drückt geht das Overlay immer an und aus. Ich finde, der Tastendruck sollte ignoriert werden, bis der Benutzer wenigstens einmal losgelassen hat. Dann brauchst Du auch nicht mit Timern arbeiten, sondern einfach nur ein Flag setzen.
remove food
introduce collision detection
spawn position berechnen
sicherstellen das die ameisen auf dem spielfeld spawnen
use different add/remove lists for ant/sceneObjects
Ameise soll manchmal stehenbleiben
Die Ameise soll nicht konstant geradeaus laufen, sondern kleine Pausen einlegen. Dadurch soll die Bewegung unregelmäßiger wirken.
Richtung beim SeekBehavior unscharf berechnen
Die Ameise soll, wenn sie im Seek-Behavior ist, die Richtung nicht zu genau einschlagen. Vielmehr soll ein gewisser Fehler bestehen, der den Eindruck vermittelt, dass die Ameise leicht unsicher ist.
Ameisen sollten unregelmäßiger spawnen
Momentan spawnen alle Hives im selben Takt Ameisen. Ich finde, der Spawnzyklus sollte unregelmäßiger sein und immer leicht variieren. Einverstanden?
Ameisen nach Hive despawn nicht Entfernen
Wenn Hive despawned sollen die dazugehörigen Ameisen am leben bleiben.
Hive Referenz in Ant muss gepflegt werden -> achtung nullpointer
Visualisierung für Blockierten Pfad
Für das Debugging wäre es Hilfreich, wenn man Blockierte Pfade visualisieren könnte. Z.B. könnte man einfach zwischen zwei Ameisen, für die eine mögliche Kollision festgestellt wurde, eine Linie zwischen den Beiden Zeichnen.
Ameise soll sich nicht selbst aus der Welt löschen, wenn sie stirbt
Wenn die Ameise stirbt, entfernt sie sich selbst aus der Welt. Stattdessen soll aber die Ameise der Welt sagen, dass sie entfernt werden will. Die Welt (also die AntFarm) löscht dann die Ameise und kann evtl noch Aktualisierungen vornehmen.
Abstand von Hives zueinander
Die Hives sollen einen "gewissen" Abstand zueinander haben.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.