Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Webgamers. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

_cyrix_

unregistriert

1

Montag, 10. November 2014, 21:54

Neu, Alt oder doch was anderes ?

Hallo Ihr da draußen,

ehrlich gesagt, habe ich keine Ahnung wie ich anfangen soll.,.

Ich hab im Jahr 2009 mal angefangen ein Spiel zu programmieren. Es wurde in PHP und Co. entwickelt.

Was für ein Spiel ist es:
Es soll ein Nachbau inkl. Weiterentwicklung von "Citykampf" werden. Die Bilder wurden, sind von einem Kumpel von mir mit gimp erstellt worden.

Was war der Grund des Stillstandes:
Zu komplexes Denken, mit mangelnden Kenntnissen von SQL, um die Performance zu erhöhen, damit ein Kampf von mehreren Millionen Einheiten zu realisieren. Sprich das Kampfsystem, hat meinen Server zum erliegen gebracht.

Was ist jetzt anders:
Ehrlich, keine Ahnung. Die Kenntnisse sind zwar noch immer nicht so perfekt, aber besser. Ich hoffe ggf. auf Hilfe von Außen, von Euch, von Leuten mit Erfahrung.

Worauf basiert das Game:
Der Ursprung basiert auf dem Quakenet-Tutorial, was ich natürlich angepasst und erweitert habe.

Anspruch:
Das angefange zu Ende bringen und das alte Konzept zu überarbeiten und auf ein bestehendes Framework aufsetzen. Ich schwanke hier zwischen Silex, APF, Zend oder Symfony. Wo ich aktuell aber mehr in Richtung Silex tendiere.

Zeitmanagement:
Minimal - Gering, da für mich meine Tochter, Freundin und Familie generell immer an erster Stelle kommen. Sprich, wenn Sie sagt - Papa ich möchte mit dir spielen, dann mach ich das auch ;)

Lizenz:
Momentan tendiere ich aber eher dazu, es nicht Open-Source zu machen.

Meinungen:
Ich würde gerne Eure Punkte dazu hören / lesen. Was ratet Ihr mir, macht es Sinn oder sollte ich, wenn lieber mich irgendwo einfach mit integrieren?

Tools:
Mantis Bugtracker
Forensoftware, weg von phpBB, eher wbb oder vb

Links:
http://dead-world.de ( UTF-8 - Schwierigkeiten, da fehlerhafter Zeichensatz aus der DB )
http://bugs.dead-world.de

http://forum.dead-world.de


Viele Grüße
Christian

PS: Nicht zu streng sein ;)

sinus

Fortgeschrittener

Beiträge: 226

Danksagungen: 75

  • Nachricht senden

2

Montag, 10. November 2014, 22:02

Hallo _cyrix_,

ich weiß zwar nicht was du beruflich machst, aber hier:

Anspruch:
Das angefange zu Ende bringen und das alte Konzept zu überarbeiten und auf ein bestehendes Framework aufsetzen. Ich schwanke hier zwischen Silex, APF, Zend oder Symfony. Wo ich aktuell aber mehr in Richtung Silex tendiere.


würde ich eher auf Zend Framework 2 setzen, was:
1. Das aktuellere Framework ist
2. Dich evtl. beruflich in der Programmier-Branche weiterbringt
3. Du damit eher strengen Vorgaben an der Performance einiges machen kannst, wie ich finde.

Ansonsten ja ... einfach fragen, antworten werden schon folgen ^^

gruß
sinus
loading ..

_cyrix_

unregistriert

3

Montag, 10. November 2014, 22:15

Danke sinus für die Rückantwort.

Hab meinen Beruf mal integriert. Ich bastel privat für den einen oder anderen mal eine HP, aber sonst nichts aufregendes.

Die ersten beiden Punkten sind denke ich eher Auslegungssache, was mich aber mehr interessiert, ist der dritte Punkt. Was kann denn Zend gegenüber anderen Framesworks?

Fragen hab ich genug ;)

Viele Grüße

sinus

Fortgeschrittener

Beiträge: 226

Danksagungen: 75

  • Nachricht senden

4

Montag, 10. November 2014, 22:25

naja, die macher von ZF2 sind, soweit ich weiß, auch nen teilteam von PHP.
Des Weiteren ist das Zend Framework 2 extrem flexibel wie ich finde.
da kommt es drauf an wie man sich mit gewissen pattern arrangiert.

ich nutze das TableGateway-Pattern und muss sagen, dass man sich da schon so einiges an arbeit sparen kann, wenn man das geschickt macht ..
die geschwindigkeit ist auch enorm und naja, eigentlich auch geschmacksache, je nachdem wie man auch das caching benutzt .. :)
von der berechnung her, kommt glaube ich keiner besser weg aus deiner auswahl .. immerhin kommt es ja auch deine verformelung, nutzung der rechenvorgänge und intensität dieser an .. :)

gruß
sinus
loading ..

_cyrix_

unregistriert

5

Montag, 10. November 2014, 22:37

naja, die macher von ZF2 sind, soweit ich weiß, auch nen teilteam von PHP.
Des Weiteren ist das Zend Framework 2 extrem flexibel wie ich finde.
da kommt es drauf an wie man sich mit gewissen pattern arrangiert.
Ich glaub auch, dass Sie zum Core-Team gehören. Der OP-Cache ist doch von denen.

Zitat



ich nutze das TableGateway-Pattern und muss sagen, dass man sich da schon so einiges an arbeit sparen kann, wenn man das geschickt macht ..
die geschwindigkeit ist auch enorm und naja, eigentlich auch geschmacksache, je nachdem wie man auch das caching benutzt ..

von der berechnung her, kommt glaube ich keiner besser weg aus deiner auswahl .. immerhin kommt es ja auch deine verformelung, nutzung der rechenvorgänge und intensität dieser an ..Das Pattern sagt mir überhaupt nichts: Ist es das hier ? Verformelung ? Was ist das für ein Wort ? Ich denke mal, du willst damit sagen, wie Anspruchsvoll die Anwendung ist ?

Gruß
Christian

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »_cyrix_« (10. November 2014, 22:42)


sinus

Fortgeschrittener

Beiträge: 226

Danksagungen: 75

  • Nachricht senden

6

Montag, 10. November 2014, 22:46

habe hier mal nen link direkt zum ZF2 und dem TableGateWay: Link
und hier zur erklärung des patterns auf englisch: Link

verformelung: ja, je nachdem wie kompliziert, wie oft und in welchem abstand du deine berechnungen machst ..

je nach menge wirst du mit php schnell an grenzen stoßen was die berechnungen / sekunde angeht ..
aus einem anderen post von dir habe ich irgendwas mit 500k gegen 500k einheiten gelesen glaube ich ..
die zahl kann man oberflächlich schon schnell berechnen, nicht aber wenn du jedem einzelnen "soldaten" einen health-status verpasst und dann das ganze berechnest und alles eines jeden einzelnen beachten möchtest ..

im endeffekt: je nachdem wie anspruchstvoll du deine anwendung gestaltest, kannst du da sehr schnell den server lahm legen ^^

gruß
sinus
loading ..

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

7

Montag, 10. November 2014, 22:48

Hallo Cyrix

ich bin Persönlich der Meinung dass in der heutigen Agilen Zeiten sowas wie "Konzept" ,"modernes Framework", "Performance" keine rolle Spielt.

Konzept

Das ist das Agile Manifesto, fast alle Moderne Firmen arbeiten nach diesen Prinzipien, der letzte Punkt ist interessant, ist man nicht in der Lage schnell auf Veränderungen in der Umgebung zu reagieren, bringt kein jahrelang durchdachtes Kozept. Man sieht es auch oft an vielen online tools die im Internet einem zur verfügung stehen, es gibt ein sehr kleines Subset an Features und weitere Features kommen erst durch Kunden wünsche.

Zitat

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
modernes Framework

Frameworks entwickeln sich Rasant weiter, mittlerweile Springen viele vom Framework ab und nutzen eher Libraries die man Bequem über Composer Installieren/Deinstallieren kann und in sein DI Container steckt und die Dependencies Konfiguriert. Das Einzige woran man heut zu Tage die Frameworks vergleichen kann ist die Anzahl der Implementierten Libraries in das Framework.

Performance

Interessantes Thema, zunächst mal, muss man die Spieleranzahl erreichen damit ein Server in die Knie geht(es sei denn man macht wirklich was ganz blödes und Server raucht bei 10 Usern ab), eine Hohe Spieleranzahl erreicht man oft in dem man NICHT die Features entwickelt, die die Spieler nicht wollen, um so etwas machen zu können, muss man in der Lage sein auch größere Funktionalitäten von heute auf Morgen verändern zu können und auch mal ein Konzept weg zu schmeißen.

Wenn man dann doch massiv auf Performance setzen will, nutzt man nicht PHP, es gibt zb Frameworks wie http://phalconphp.com/en/ oder http://hacklang.org/ aber auch da kann es sein dass in 5 Jahren mal die Komplette Entwicklung eingestellt wird(wenn auch unwahrscheinlich aber nicht unmöglich)

beruflich in der Programmier-Branche weiterbringt

es werden immer mehr und mehr sogennante "Full-Stack Developer" gesucht, d.h. man kennt sich vom *nix Betriebsystem über Serversparchen(JS,PHP,Ruby,Shell) über den Preprozessoren(LESS,SASS,DartLang) bis hin zu den JS Frameworks(jQuery,Angular,Knockout etc)

Nicht nur die Entwicklung und die Firmen sind agile sondern auch die Entwickler selbst müssen agile sein, Certified Zend Engneer bringt dich dann aber eben nur in der Branche weiter, kennt man sich besser mit PHP aus, ist man in der Lage Dokumentationsbeispiele und allgemeingültigen Konzepte/Architekturen in anderen Frameworks umzusetzen sogar in den selbst gebauten Mutanten Frameworks, dann ist man sogar durchaus gefragter.

Was ich im Grunde sagen will, es spielt keine Rolle was die hier irgendjemand empfehlen kann, das wichtigste ist , ein Prototyp zu Schaffen und das schwierigste dabei ist es den Prototypen agile zu gestalten, dinge einfachso mal eben verändern, ja sogar das Gesamte Framework wegschmeißen, wenn du das schaffst, dann werden Dinge wie Performance oder Feature X vom Framework Y nicht mehr von Bedeutung sein.

Nun ein wenig zu den Framework fragen

Silex, performance sehr gut, da es im Grunde ein Router, ein DIContainer(oder besser gesagt SPLArrayObject) mit Symfony Request/Response klassen . Vorteil und auch gleichzeitig nachteil ist, dass man sich um die Ordnerstruktur sich komplett selbst kümmern muss, nachteil ist es wenn man es gewohnt ist von anderen Frameworks und ein vorteil ist es, wenn man sich von anderen Frameworks als "beschnitten" fühlt durch deren Ordnerstruktur

APF netter ansatz aber mittlerweile doch sehr alter code, Composer Support ist nicht drin, alles eng an einander gekopelt, das Arbeiten damit ist nicht Intuitiv, man muss sehr viel dokumentation lesen

Zend gute dokumentation, performance, kommt drauf an, wenn man nicht weis was ein Model ist und es dann in einer Schleife 1000e male aufruft(ähnlich wie SQLs in einer schleife) dann kann man auch in Zend scheiße bauen(gilt für alle Frameworks, es gibt kein schutzt vor eigener Dummheit)

Symfony ist genauso ein Gigant wie Zend bei den Frameworks kann man mit einem Feature gegen das eine Framework argumentieren und andersherum genauso, wie gesagt mittlerweile schaut man dann eher drauf, wie einfach kriege ich 3rd Party Libs die nichts mit dem Framework zu tun haben in das Framework am einfachsten hinein.

Aber was weis ich schon, hab ja selbst nicht mal ein BG erstellt, nicht mal ein Prototyp ;)
Qualität eines Codes misst man in WTF/Sekunde

_cyrix_

unregistriert

8

Montag, 10. November 2014, 23:18

@Sinus - Es waren 5 Mio vs 5 Mio, wo jede Einheit ein Lebensbalken hat, was gespickt mit Forschung und Vorteilen gegenüber anderen Einheiten haben kann. Möglich auch Kritische Treffer und ja, dieses hat meinen Server zum erliegen gebracht. Es wäre ja möglich, dass es mehr als nur einmal zur gleichen Zeit passiert. Wie ich das Löse, ist momentan mein Problem. Es gibt keine Wellen, alles passiert nach einem Zufallsprinzip sprich, es kann sein, dass ein Schütze anfängt, kann aber auch sein, dass ein Panzer oder ein Sniper oder gar noch ein anderer ist.
Danke für den Link, werde ich mir morgen mal näher anschauen.

@BlackScorp - Was für eine Ansicht.
Unter diesen Aspekten, habe ich das noch gar nicht gesehen, macht aber Sinn.

Konzept

Sprich, hier sollte man nur ein Grundgerüst als Konzept haben, damit man für alles was passieren kann offen ist. Quasi einen idealen Kern schaffen.

Frameworks

Mit Composer arbeite ich aktuell sehr viel und versuche mich damit mehr und mehr zu beschäftigen. Ist schon ein sehr mächtiges Werkzeug.

Performance

Ich werde mir mal die Links morgen anschauen und was ich vor habe, siehe oben bei der Antwort zu sinus - Post. Was aber erstmal nur eine Sache ist, der Markt ist ja auch eine Sache für sich und und und.,.

berufliche Laufbahn


Da es hauptsächlich für mich ist und hier und da mal was für jemanden erstelle, kann es schon sehr wichtig sein, ein Protoyp zu schaffen. Dabei werde ich aber definitiv Hilfe benötigen, vlt. kann man so einen Prototypen auch gemeinsam als Com-Projekt erstellen. Aber das ist ein ganz anderes Thema.

Zu den FW's


Danke für die Kurzeinschätzung. Viele nützliche Tips, was ich gut gebrauchen kann. Die Erweiterbarkeit ist schon ein sehr wichtiges Thema. Da werde ich mir aber noch mehr Infos einholen müssen, um definitiv sicher zu sein.

Deine Ironie ist schon was herrliches, wenn du keine Ahnung hast, dann lebe ich noch 40.000 BC.

Ich hatte auch mal angefangen ein MVC zu erstellen, wer es sich mal anschauen mag, gerne. Wurde auch mit Tutorials aufgebaut und dann abgeändert.

Einfach nur mal schauen, denke aber eher, dass geht in die falsche Richtung

Danke Euch Beiden .,. ;)

Viele Grüße
Christian

ulle

Fortgeschrittener

Beiträge: 243

Danksagungen: 101

  • Nachricht senden

9

Montag, 10. November 2014, 23:21

Also ich sehe das ähnlich wie Blackscorp,

ich würde wenn es wirklich agil sein soll, Silex nehmen. Du hast ein minimal Set um loszulegen und den rest kannste dir aus dem Ärmel zaubern, oder eben per Composer nachladen.

Es kommt halt immer darauf an, in wie weit du sachen selber machen willst.

Ich zum Beispiel bin ein absoluter Fan von Laravel. Seit Version 3 nutze ich diese geile Framework. Konnte so einige Hürden miterleben und muss sagen das mit der kommenden Version, sich wieder einiges ändern in der PHP Framework Welt ändern wird. Alles in allem ist das aber nur meine persönliche Meinung. Ich will bei meinem Projekte nicht wissen, warum im Hintergrund eine Abfrage so oder so gebaut wird. Wenn es funktioniert und es mir logisch erscheint, dann wird das schon so passen.

Klar ist es schön alles selber zu schreiben und sich den Kopf zu zerbrechen. Aber seid doch mal ehrlich, wer hat heutzutage noch die Zeit dazu?

Liebe Gruß
Ulle

_cyrix_

unregistriert

10

Montag, 10. November 2014, 23:25

Aber gerade die persönlichen Meinungen interessieren mich, da man dadurch Erfahrungen sammeln kann. Danke dafür.

Ich möchte lieber soviel wie möglich selber schreiben, was mir wohl aber nicht immer gelingen wird.
Laravel kann ich mir auch noch anschauen, mal gucken wie das so aufgebaut ist.

Viele Grüße
Christian

ulle

Fortgeschrittener

Beiträge: 243

Danksagungen: 101

  • Nachricht senden

11

Montag, 10. November 2014, 23:40

Ich möchte lieber soviel wie möglich selber schreiben, was mir wohl aber nicht immer gelingen wird.
Laravel kann ich mir auch noch anschauen, mal gucken wie das so aufgebaut ist.
Das Problem ist nur, das diese heran gehensweiße nicht unbedingt die beste ist. Eine einzelne Person kann gar nicht soviele Tests abdecken, soviele Bugs finden und sich so viel Code stellen merken. Ich würde da lieber auf eine große Community vertrauen.
Auf Tools welche seit Jahren in der Entwicklung sind und welche auch auf lange Sicht gesehen, Support bekommen.
Ich möchte dir auf keinen Fall deinen Wunsch ausreden, nur davon abraten.

_cyrix_

unregistriert

12

Dienstag, 11. November 2014, 00:09

Da hast du natürlich recht. Es klingt natürlich auch nach dem vernünftigsten. Ich werde mir alles mal anschauen und dann mal gucken. Nehme aber noch mehr Erfahrungen gerne entgegen.

Viele Grüße Christian

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

13

Dienstag, 11. November 2014, 09:09

Ich möchte lieber soviel wie möglich selber schreiben,
Selbst zu heutigen Composer Zeiten kommt es immer wieder vor, bekante PHP Entwickler haben bereits zu dem Thema ihren Frust rausgelassen, wenn man nach einer Bibliothek auf Composer sucht findet man 20 Seiten an Componenten, die entweder schlecht dokumentiert sind, sehr Speziell auf ein Bestimmtes Problem angepasst sind oder garnicht mehr weiter gepflegt werden da es ja schon an der "Version 2" gearbeitet wird. Dann kommt noch laravel mit packalyst an

Ich teile der Meinung der Bekannten entwickler, wenn man für lernzwecke eine lib erstellt, klasse, aber warum sollte man es dann auf Packagegist einstellen wenn es im grunde nur eine andere Kopie von Lib X ist.

Kaum einer setzt sich hin und unterstützt die Libs mit Bugfixes oder Doc Changes

Zum Thema Perfomance, 5 mio vs 5 mio Objekte dessen HP berechnet wird, die Berechnung an sich wäre schnell durchgelaufen, das Problem wird wohl eher der Arbeitsspeicher sein, du musst ja irgendwie die 10mio objekte auf einmal laden oder immer in gruppen. Gruppen gegen gruppen antreten lassen, wäre arbeitsspeicher schonender würde aber dauern da du ja irgendwie ermitteln musst, welche einheiten schon gekämpft haben, welche nicht. Alternativ externe Programme die nicht in PHP Geschrieben sind dazu verwenden, die wären sicherlich geeigneter nur bin ich aktuell der Meinung dass du hier die Größtmögliche Vorstellbare Zahl in den Raum geworfen hast und versucht dieses Problem zu lösen, ohne dir sicher zu sein ob dieses UseCase je auftreten wird.

Hier wären wir wieder bei Agile, denk nicht an 5 mio einheiten gegen 5 mio einheiten, sondern denk an eine einheiten gegen andere mach dein Prototypen, wenn du dann spieler hast die tatsächlich 5 mio einheiten haben, dann mach dir gedanken was zu tun ist, und wenn dein Code an der Stelle nicht agil ist, hast du natürlich verloren.

Auch hör ich bezüglich performance oft sowas wie "Es ist langsam" oder "Es dauert ewig" wenn du in deinem Prototypen teile messen kannst, kannst du die auch verbessern, mit gefühlen oder wahrnehmungen kann man sich täuschen, mit zahlen nicht.

also mach dir erst gedanken um performance wenn es soweit kommt ;)
Qualität eines Codes misst man in WTF/Sekunde

ulle

Fortgeschrittener

Beiträge: 243

Danksagungen: 101

  • Nachricht senden

14

Dienstag, 11. November 2014, 09:43

Dann kommt noch laravel mit packalyst an
Was meinst du denn damit? Packalyst hat doch nichts mit Composer zu tun. Es ist nur eine Sammlung von allen Packagist Paketen welche Laravel als Keyword haben ;) Quasi eine Hilfe für Laravel Developer, um zu sehen welche Pakete für Laravel out of box geeignet sind.

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

15

Dienstag, 11. November 2014, 09:46

Dann kommt noch laravel mit packalyst an
Was meinst du denn damit? Packalyst hat doch nichts mit Composer zu tun. Es ist nur eine Sammlung von allen Packagist Paketen welche Laravel als Keyword haben ;) Quasi eine Hilfe für Laravel Developer, um zu sehen welche Pakete für Laravel out of box geeignet sind.
schon wenn du aber nach bestimmten laravel libs googlest kommeste dann auf packalyst ich denke es ist nur eine frage der Zeit bis Laravel beschließt ihr eigenes Composer Repository zu haben
Qualität eines Codes misst man in WTF/Sekunde

ulle

Fortgeschrittener

Beiträge: 243

Danksagungen: 101

  • Nachricht senden

16

Dienstag, 11. November 2014, 11:31

Wird glaube ich nicht so schnell passieren.

_cyrix_

unregistriert

17

Dienstag, 11. November 2014, 15:30

Ich teile der Meinung der Bekannten entwickler, wenn man für lernzwecke eine lib erstellt, klasse, aber warum sollte man es dann auf Packagegist einstellen wenn es im grunde nur eine andere Kopie von Lib X ist.
Da ich gehe ich mit, man kann gerne seine Lernerfolge präsentieren, aber dieses gleich auf "Packagegist" halte ich dann doch eher für überzogen.

Zum Thema Perfomance, 5 mio vs 5 mio Objekte dessen HP berechnet wird, die Berechnung an sich wäre schnell durchgelaufen, das Problem wird wohl eher der Arbeitsspeicher sein, du musst ja irgendwie die 10mio objekte auf einmal laden oder immer in gruppen. Gruppen gegen gruppen antreten lassen, wäre arbeitsspeicher schonender würde aber dauern da du ja irgendwie ermitteln musst, welche einheiten schon gekämpft haben, welche nicht. Alternativ externe Programme die nicht in PHP Geschrieben sind dazu verwenden, die wären sicherlich geeigneter nur bin ich aktuell der Meinung dass du hier die Größtmögliche Vorstellbare Zahl in den Raum geworfen hast und versucht dieses Problem zu lösen, ohne dir sicher zu sein ob dieses UseCase je auftreten wird.
Das Problem war auch der Arbeitsspeicher, da dieser mir permanent "Allowed Memory.,. .... " ausgegeben hatte. Bei den externen Programmen wirds wohl scheitern, da ich weder Java, noch C# bzw. C++ so kann, damit ich mir da was sinnvolles bauen könnte.
Ausnahmefall, denke ich eher nein, aber es wird wohl eher seltener auftreten. Wie gesagt, ich hatte es ja gespielt und dort hat es schon massiv Spass gemacht.,.
Jede Stadt max 13k Fuss- und 2k Panzertruppen. da würden wir so bei ca. 384 Städten liegen, die genau ankommen müssen ( es gibt Leute die sich den Wecker stellen ). Dazu kommt dann noch, dass es Spieler mit weit mehr als 1000 Städte gibt. Aber hier sind soviele Faktoren im Einsatz, was diesen Post sprengen würde.
Wie du sagtest, es muss Agil und jederzeit ohne viel Aufwand erweiterbar sein.


Hier wären wir wieder bei Agile, denk nicht an 5 mio einheiten gegen 5 mio einheiten, sondern denk an eine einheiten gegen andere mach dein Prototypen, wenn du dann spieler hast die tatsächlich 5 mio einheiten haben, dann mach dir gedanken was zu tun ist, und wenn dein Code an der Stelle nicht agil ist, hast du natürlich verloren.
Den Prototypen werde ich versuchen zu erstellen, bei Fragen, komme ich auf Euch zurück, i.o. ?
Auch hör ich bezüglich performance oft sowas wie "Es ist langsam" oder "Es dauert ewig" wenn du in deinem Prototypen teile messen kannst, kannst du die auch verbessern, mit gefühlen oder wahrnehmungen kann man sich täuschen, mit zahlen nicht.
Das Messen ist das A und O. Wahrnehmungen kann von vielen Sachen beeinflusst werden, dass AV das gerade eine Prüfung macht, es werden Updates geladen, etc.,.
also mach dir erst gedanken um performance wenn es soweit kommt ;)
Zustimm und Danke ;)

PS: Ich hab mich jetzt erstmal für Silex entschieden, da ich dort die meiste Erfahrung habe und schaue, wie weit mich das alles nach vorne bringt.
--> Hab auch einfach mal einen neuen Bugtracker installiert, dass ich mir quasi einfach mal eine kleine Roadmap erstelle.
Neuer Tracker

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »_cyrix_« (11. November 2014, 16:58)


shlainn

Fortgeschrittener

Beiträge: 235

Danksagungen: 81

  • Nachricht senden

18

Dienstag, 11. November 2014, 17:11

Hmm, eben mal auf dem Briefumschlag nachgerechnet läufst Du bei 10 Mio Einheiten irgendwo in den Bereich von 1GB RAM (100B pro Einheit gerechnet) und mehr. Das ist recht sportlich... :D Mit PHP stößt Du je nach Serverkonfiguration recht schnell an Grenzen was Ausführungszeit und Speicher angeht, aber Serverkonfiguration lässt sich im Zweifel ändern. Die Frage ist eher, wie Du die Berechnung an sich angehst. Kann jede Einheit wirklich jede Einheit treffen? Können z.B. Schützen gegen Panzer irgendetwas ausrichten? Wenn nein, würde es deutlich einfacher werden die Einheiten gruppenweise zu behandeln.

Bei den externen Programmen wirds wohl scheitern, da ich weder Java, noch C# bzw. C++ so kann, damit ich mir da was sinnvolles bauen könnte.

Darf ich an dieser Stelle Node.js einwerfen? Ich nehme einfach mal an das JavaScript kein Problem für einen Browsergame-Entwickler sein sollte ;)

BlackScorp

Moderator

Beiträge: 1 270

Wohnort: 127.0.0.1

Danksagungen: 548

  • Nachricht senden

19

Dienstag, 11. November 2014, 17:31

Darf ich an dieser Stelle Node.js einwerfen? Ich nehme einfach mal an das JavaScript kein Problem für einen Browsergame-Entwickler sein sollte ;)
NodeJS hat den nachteil dass es nicht auf mehreren Kernen arbeiten kann, NodeJS ist nur "Performanter" als PHP weil nodeJS processe nicht blokiert, hat aber den nachteil dass man irgendwann in einer sogennanten "callback" suppe landet.

PHP läuft durchaus auf mehreren Processen, und auch 1GB Ram ist nicht viel, wir haben hier normale server auf der Arbeit stehen die haben 32 GB Ram davor ist ein nginx loadbalancer eingeschaltet und die requests werden vom loadbalancer auf einzelne ip adressen weitergeleitet. Wenn man es lokal auf einer virtuellen machine austesten will, dann gibt es Probleme ;)

Es ist halt auch alles eine Frage der Hardware, ähnliches sieht man bei vielen die versuchen Mysql zu Optimieren, "aber was wenn ich 100.000 Einträge drin habe dann ist ja meine SELECT abfrage ja total langsam"

Wie gesagt, erst realisierung, dann monitoring, dann optimieren und zum schluss upgraiden (wenn nötig)
Qualität eines Codes misst man in WTF/Sekunde

simbad

Profi

Beiträge: 1 141

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

20

Dienstag, 11. November 2014, 19:45

Also ich habe in meiner Simulation 300000 Additionen in 25ms durch. 300000 nachrichten verschicken braucht ca. 500ms. Also ich denke ich würde ca. 500000 Einheiten pro sekunde durch rechnen können. 10mio wären, bei linearer Skalierung, in 20sekunden durch. Aber der Speicherplatzbedarf dürfte auch bei mir bei ca.10GB liegen. Das ist schon recht sportlich.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Social Bookmarks