Programmierer für Onlinebrowsergame gesucht



  • Hallo,

    wenn ich das richtige verstehe sucht ihr noch jemanden der einen Server für euer Spiel schreibt.

    Melde dich bitte mal via ICQ: 164426477



  • hi,
    Sorry an Juliane. Ich hatte letztens keine Zeit, da ich in einer besprechung war. So nun geh ich mal auf deine Frage ein:

    Im vorhinein will ich sagen, dass mann viel mehr rechnen muss und es mehr Arbeit ist.
    -------------------------------------------------------------------------------------

    Truppe geht von A nach B und braucht 10 Min.

    In der Datenbank werden informationen gespeichert.
    Natürlich kann mann jetzt auf dem Server ein cgi programm laufen lassen und die Datenbank jede Sekunde Updaten und per PHP fragt der User seine Daten
    in der Datenbank ab. Jedoch habe ich ja schon meine Kritik gehen cgi programmen gesagt( siehe letztes posting ).

    Nun kam die Frage, wie ich die Truppen von A nach B laufen lassen kann und das ganze 10 Stunden dauert und das ganze nur mit PHP ?

    Das ist kein Hexenwerk. Ich will es mal an einem kleinen Beispiel erklären.

    NUn müssen wir uns eine Structur überlegen, wie man sowas machen kann, denn es gibt mehrere Wege, wie wir an unser Ziel kommen.
    Ich hätte volgenden vorschlag.

    Beispiel:
    Datenbank mit 4 Felder:
    Feld1: truppe_id // id der Truppe die sich bewegt
    Feld2: timestamp // speichert das letzt Updatedatum
    Feld3: Weg // Wieviel Meter sind es insgesmat ?
    Feld4: M_pro_S // Wieviel Meter prosekunde ?

    Die Felder sind hoffentlich selbsterklärent.
    Die werte können vielleicht vollgende sein:
    Feld1: 0
    Feld2: 1919515
    Feld3: 100
    Feld4: 0.2

    Zu feld 2 muss ich vielleicht was sagen. das beinhaltet die anzahl der Sekunden seit de, 1.1.1970 0.00Uhr, die bekommt man mit der PHP function: anz_sec = time();

    Es ist **vorausgesetzt, dass der user die Truppe schon losgeschickt hat und die Werte wie oben berechnet wurde.
    User Loggt sich ein und schaut, wie lange seine Truppe noch zum Ziel braucht. und wieviel meter sie schon zurüclgelegt habe. Das interesiert
    doch auch einige User.

    Wir lesen das Feld "timestamp" aus und errechnen die differenz vom letzten Login: diff = akt_time() - db->timestamp;
    Hier muss man sehr vorsichtig sein. Wenn es zum Beispiel eine Spiel_function gibt, welche die Zahl von Feld4 erhöt kommt die Truppe kommt schneller voran als sonst.
    Also müssen wir erst schauen Ob gebäude fertiggebaut wurden ( IIIIGITTT ) und dann danach prüfen wann das gebäude fertig gebaut wurde( BÄÄÄÄÄ ). Aber
    das ist auch kein Hexenwerk. Nun ich laber und laber und keiner hat wirklich plan was ich hier schwall. Ich will es an einem kleinen Beispiel verdeutlichen.

    :------------------------------:
    Truppe wird losgeschickt, Weg = 100m, m/s = 0.2m. gebäude wird fertig gebaut, als die Truppe 50 Meter gelaufen ist. Feld4: wird um 0.2m erhöt und ist nun: 0.4m.
    Jetzt läuft ja die Truppe schneller( weil vielleicht User das Gebäude "Truppe fast" fertig gebaut hat. ) und braucht ab jetzt nicht mehr 50/0.2 sekunden sondern nur 50/0.4 sekunde.
    und braucht nun nicht wie am anfang berechent 10 Min sondern dann nur noch 7.5 Min und die Schlacht kann früher beginnen.
    :------------------------------:

    Das werden woll viele wissen, wollte es nur nochmal erwähnen, dass mann auf solche sachen aufpassen muss.

    Ok weiter geht es.
    in diff habe ich jetzt zum Beispiel 105 stehen und gehe jetzt folgendermaßen vor.
    - Ist gebäude mit function "Truppe fast" vertig ?
    - Wenn ja dann berechne wann es seit dem letzten Update fertig gestellt wurde.
    - meter = Feld4old_speed
    - if( meter >= Feld3 )
    Truppe ist fertig und kann die schlacht beginnen
    aufgepasst werden, wieviel sekunden nach 100 die Truppe schon eingetroffen ist, und den aktuellen Status der schlacht ist die natürlich schon
    angefangen hat. Hier muss dann der andere User geupdatet werden. aber kann mann sich ja denken. denk ich mal 🙂
    - else
    meter2 = meter + Feld4
    new_speed
    if( meter2 >= Feld3 )
    Hier das ganze wie oben,.

    - falls nicht truppe ist noch im m*****.
    - berechnen von sec und zurück gelegten metern für den User
    - Updaten des Timestamps

    So ich hoffe ihr habe euch nicht zu tode gelangweilt und nehmt mir meine Rechtschreibfehler nicht über, welche in diesem Text bestimmt nicht selten vorgekommen sind.

    Mit freundlichen Grüßen Cintix-Software, Leader

    noch Cinetix-Software@gmx.de :)**



  • Deine Erklärung ist irgendwie... kompliziert. 🙄 😃

    OK, hier mal so meine Gedanken, vielleicht meinst du das gleiche/ähnlich:

    Der Server arbeitet nicht im Loop, sondern nur eventbasiert. Das mit dem Timestamp ist eine gute Idee. Denn wenn der User abfragt, wo er sich gerade auf der Karte befindet, muß der Server "nur" den zurück gelegten Weg seit dem letzten Timestamp berechnen. D.h. die eigentlichen Bewegungen werden nur dann ausgeführt, wenn ein User eine Anfrage macht.

    Problem ist aber, was passiert, wenn jetzt 100 User spielen und alle paar Sekunden jeder eine Anfrage macht. Hem, ist auch nicht so toll.

    Evtl. wäre ein Loop auf dem Server doch nicht so schlecht, denn Berechnungen des Spielablaufs sind so oder so nötig.

    Letztendlich würde ich doch fast mal sagen, das man einen intelligenten Client als JavaApplet coden sollte. Java hat heute jeder vernünftige Desktop-Computer. Außerdem spart man sich so den Traffic für die aktualisierung des Gamescreens, da das Applet zwar auch Grafik downloadet die es benötigt, aber diese Grafikresourcen wiederverwerten kann.



  • hi,
    "intelligenten Client" ?
    Also werd das schafft wird reich !!!!!

    hmm überlegen wir mal logisch:
    Nach der cgi - Serverprogramm metode muss die datenbank jede Sekunde 10.0000 User Updaten. ( Ich will nicht ausrechnen, weiviel traffic das sind :p ) daszu kommt noch das lesen der User.
    Sagen wir mal das sind 2.000 User von den 10.000 User die IMMER online sind. So nun nach der CGI metode werden ALLE user geUpdated.
    Obwohl nur 2.0000 das brauchen.

    So nun nach meiner Methode werden NUR diese 2.000 User geupdatet.
    Das erspart sehr viel traffic und natürlich auch kosten.

    Also ich würde mir das doch mal durch den koft gehen lassen. Ich würde mir überlegen was das sinnvollste ist. Ihr müsst doch auch an die arme Datenbank denken. Die würd sich auch irgentwann bewehren wenn ihr sie zur 100% auslastung zwingt und sie dann merkt:
    moment warum updatet ich denn die User die seit 3 Monaten nicht mehr aktiv sind und sie es nur dann machen müsste falls er mal wieder nach 3 Monaten online geht !!!!!!

    UND NICHT JEDE SEKUNDEN
    das nehmen datenbanken dem Programmierer sehr sehr übel !!
    😡 😡 😡 😡 😡 😡
    °_°

    Am ende denkt noch die Datenbank, dass sie von einem Mircrosoft-Programmierer programmiert wurde. Und das wollen wir doch nicht oder ?.

    Also immer DENKEN und dann SCHREIBEN !!!!!!!!!!!!!!!!!!!!!!!!111
    das ist die wichtigste Regel unter den programmierern

    Grüsse von der Datenbank 😉



  • Ich weiß jetzt nicht was am Ausdruck "intelligeter Client" falsch sein soll?

    Eine Applikation die rechnen und entscheidungen treffen kann, und das kann nunmal ein JavaApplet im Browser, ist intelligent. Ein Browser der nur dumm ist und deshalb nur Daten anzeigen kann (was ein HTML-Browser nunmal ist), ist nicht intelligent.

    Naja, lassen wir das...

    [ Dieser Beitrag wurde am 11.09.2002 um 16:57 Uhr von Artchi editiert. ]



  • Original erstellt von Artchi:
    **
    Eine Applikation die rechnen und entscheidungen treffen kann, und das kann nunmal ein JavaApplet im Browser ...

    [ Dieser Beitrag wurde am 11.09.2002 um 16:57 Uhr von [qb]Artchi** editiert. ][/QB]

    LOL ? versteh ich dich jetzt richtig Ein JavaApplet kann selbstständig entscheidungen treffen ? GOIL

    kannst du mir code schicken ? 😃

    mfg



  • Original erstellt von <Cinetix-Software>:
    **LOL ? versteh ich dich jetzt richtig Ein JavaApplet kann selbstständig entscheidungen treffen ? GOIL
    **

    Von "selbstständigen Entscheidungen" wurde doch garnicht gesprochen. Definiere diesen Begriff doch bitte mal.

    Generell kannst du mit einem Java-Applet so ziemlich alles machen, was man mit einer Programmiersprache machen kann (...wenn man jetzt mal von einer systemnahen Programmierung absieht). Wenn du "selbstständige Entscheidungen" also irgendeinem Programm zubilligst, dann kannst du das auch mit einem Java-Applet machen.



  • hmm entweder ich verraff es und ihr ..
    EGAL lassen wir das thema.
    Ich will nur sagen dass es NOCH kein inteligentes programm gibt 🙂



  • Original erstellt von <Cinetix-Software>:
    **
    Ich will nur sagen dass es NOCH kein inteligentes programm gibt :-)**

    Was ist denn ein "intelligentes Programm"? Das, was ich darunter verstehe, gibt es schon massenweise. Du meinst wahrscheinlich, dass es kein intelligentes Programm gibt, weil sich doch sämtliche "Entscheidungen", die das Programm trifft, auf den Code zurückführen lassen. Das Programm ist also doof und macht nur das, was ihm gesagt wurde.

    Gibt es in deinen Augen eigentlich intelligente Menschen?



  • Danke Gregor, du hast verstanden was ich meine. Und ich bin der Meinung das ich den ganz normalen Sprachgebrauch dafür verwendet habe und eigentlich jeder verstanden hat was ich meine, bis auf eine bestimmte Person.



  • Ja es gibt inteligenten Meschen.
    Nein es gibt keine inteligenten Programme.

    GUND:
    Mensch kann entscheide ( ohne if, while, .. etc )
    Programm kann nicht entscheiden ( mit if, while, .. etc )



  • Original erstellt von <Cinetix-Software>:
    **
    Mensch kann entscheide ( ohne if, while, .. etc )
    **

    Aha! Woher weißt du das? Begründe das mal. Mit was trifft denn der Mensch Entscheidungen? Mit dem Verstand? Was ist denn das?



  • hi,

    MIT DEM WAS ER DAS LEBEN über gelernt hat.
    Mir ist aber bereits klar, dass du davon nichts hast.
    Computer können auf mehr oder weniger art das gleich.
    Jedoch ist das wieder ein anderes Thema. Der Computer müsste erstmal lernen um entscheidungen zu treffen. Das wurde an einem Projekt an der Mannheimer Uni bewiesen. Ein LKW wurde von einem Computer gefahren, von A nach B, inc verkehrszeichen.
    Aber der Rechner durfte erst das fahren lernen.

    Und ich glaube nicht, dass du weißt, wie du einem Programm das lernen beibringst. !!!!!!!!!1

    Also tuh nicht so inteligent 😡



  • Original erstellt von <Cinetix-Software>:
    **
    Also tuh nicht so inteligent 😡**

    Ich bitte dich! Ich habe nur Fragen gestellt. ...interessant, dass man dich damit aus der Fassung bringen kann.

    ...und ich sage dir jetzt auch mal, warum ich nachfrage :

    Ich habe mich vor einiger Zeit etwas mit Neuroinformatik beschäftigt. Genauer gesagt habe ich mich mit Bereichen der visuellen Wahrnehmung beschäftigt. Wenn du dir anguckst, wie das im Gehirn funktioniert, dann wirst du feststellen, dass man die einzelnen Bereiche des Gehirns durch Modelle nachbilden kann. So, dass gleicher Input gleichen Output erzeugt. Diese Modelle beinhalten Algorithmen, die man implementieren kann. Man kann so etwas also auf einen Computer projezieren.

    Warum sollte das nicht mit anderen Bereichen des Gehirns ähnlich sein? ...und man lernt doch mit dem Gehirn. Oder siehst du das anders?

    Wenn man aber alles, was das Gehirn kann auch im Computer implementieren kann, dann kann das Gehirn nichts, was der Computer nicht kann. Also entweder gibt es keine "intelligenten" Menschen, oder ein Computer kann "intelligent" sein.

    Ich habe jetzt mal wieder eine neue Frage : Was verstehst du eigentlich unter "Lernen"? Ich programmiere gerade an einem Programm, das der Digitalisierung von eingescannten Diagrammen dient. Dieses Programm "lernt" z.B. selbstständig, wie genau es den Drehwinkel zum Geradedrehen des Bildes bestimmen muss. Dieses Programm "lernt" z.B. selbstständig, an welchen Stellen es das Diagramm gerade zerren muss und wie stark es zerren muss. Für all dies braucht man natürlich nicht auf Dinge zurückgreifen, die dem menschlichen Hirn ähneln.

    Was macht also das "Lernen" von Computerprogrammen aus? Neuronale Netze, bei denen man dann "Back-propagation-learning" anwendet? "Kohonen feature maps"?

    Mir kommt es so vor, als ob du einfach sagst : "Computer -> dumm, Mensch -> intelligent, Gregor -> dumm :D" ohne, dass du dir darüber überhaupt Gedanken machst bzw. ohne dass du überhaupt ansatzweise Grundlagen in der Richtung kennst. ...also so eine Art Vorurteil halt.

    PS : Ich gebe natürlich zu, dass ich die Grundlagen auch nicht wirklich kenne, bzw. nur ganz kleine Bereiche.

    [ Dieser Beitrag wurde am 12.09.2002 um 19:19 Uhr von Gregor editiert. ]



  • hi,
    Sorry, dass ich außer rand und band bekommen bin aber ich mag es nicht, wenn leute sich groß aufspielen.

    Und nun zum Thema. Du hast da ein Interesantes Thema angesprochen.
    Und ich habe mich mit Gehirnströmen viel beschäftig, also habe 3 Bücher mit je 1000 Seiten gelesen.

    orginal erstellt von Gregor
    "Ich habe jetzt mal wieder eine neue Frage : Was verstehst du eigentlich unter "Lernen"? Ich programmiere gerade an einem Programm, das der Digitalisierung von eingescannten Diagrammen dient. Dieses Programm "lernt" z.B. selbstständig, wie genau es den Drehwinkel zum Geradedrehen des Bildes bestimmen muss. Dieses Programm "lernt" z.B. selbstständig, an welchen Stellen es das Diagramm gerade zerren muss und wie stark es zerren muss. Für all dies braucht man natürlich nicht auf Dinge zurückgreifen, die dem menschlichen Hirn ähneln."

    Nun jetzt ist die Frage ist das "Lernen" ich sage NEIN !!
    Es gibt keine selbstständige Handlungen. Dein Programm berrechtnet alles.

    So nun was ist "lernen" ?
    Kann mann diese Frage überhaupt beantworten ?

    Wissenschaftler haben bewießen, dass Meschen im alter von 1-6 Jahren mehr lernen als Meschen im alter von 6 bis 20.
    Ein Mensch handelt und schaut
    -> War das FALSCH ?
    -> War das RICHTIG ?
    Er beantwortet das zb. wenn er etwas herrunterschmeißt und Ärger bekommt, dann war seine HANDLung FALSCH und so Speichert das Gehirt so zusagen das "Erlebniss" und weiß das nächstemal, darf ich das nochmal tuthen oder nicht um keinen Ärger zu bekomenn.
    Es gibt viele Gehirnströme in einem Menschen, welche diese Erlebniss verarbeiten.

    Mit dem Computer hat man änliches entdeckt.
    Zuerst braucht man viel Speicher( sehr viel Speicher ) viele viele 100 GB.
    Nun stell dir mal ein schachspiel vor. Ein erfahrener Schachspieler hat im seiner Schachspieler-Laufbahn gelernt. War der Zug richtig oder nicht.
    Den Computer kann man deshalnt auch "lernen" lassen, indem er viele Schachspiele Spiel und dann das Gesmmte Spiel auswertet( es gibt solche Bewertungs algos ) und Speichert dies dann. Das selbe passiert dann im nächsten Spiel. Nun nach vielen Spielen hat der PC gelernt, was er damals richtig gemacht hat und was falsch und kann somit den besten Zug "berechnen".

    Also dies is meine Stellung dazu.
    -> Es gab natürlich so ein versuch und er hat wie der AUTO versuch geklappt.

    grüsse



  • Original erstellt von <Cinetix-Software>:
    **
    ...aber ich mag es nicht, wenn leute sich groß aufspielen.
    **

    Tja! Ich auch nicht! Sorry!

    Nun jetzt ist die Frage ist das "Lernen" ich sage NEIN !!
    Es gibt keine selbstständige Handlungen. Dein Programm berrechtnet alles.

    OK! Du hast natürlich Recht. 😉 Mein Programm lernt da garnichts.

    Zuerst braucht man viel Speicher( sehr viel Speicher ) viele viele 100 GB.

    ...aber das würde mich mal interessieren. Wofür brauchst du diesen riesigen Speicher? Das hört sich so nach ner Datenbank an. Ich denke nicht, dass man sowas zum Lernen braucht. Aber wahrscheinlich hast du das ja auch anders gemeint.

    Ach ja : Kannst du mir die 3 Bücher mal nennen? Ich habe daran Interesse.

    [ Dieser Beitrag wurde am 13.09.2002 um 03:21 Uhr von Gregor editiert. ]



  • wozu dienen diese 10 €


Anmelden zum Antworten