Billardspiel programmieren mit HTML5, CSS3, PHP und JavaScipt

  • Hallo Leute,

    ich hätte da gerne mal ein Problem. Ich bin, ein absoluter Neuling wenn es um das Programmieren von Spielen geht und wollte jetzt gerne mal wissen,

    ob es möglich ist, ein Billardspiel mit JavaScript zu programmieren. Das - wenn es überhaupt möglich ist - es definitiv sehr viel Zeit und Lernarbeit beanspruchen wird.

    Mich würde es eben nur Interessieren, ob es überhaupt möglich ist oder ob man für so komplexe Spiele doch bessere eine andere Programmiersprache wählen sollte, wie z.B:

    Python, C++ ( welche ich vermeiden möchte ) C# ( die ich auch vermeiden möchte ) oder was weiss ich was es noch für Sprachen gibt.

    Klar ist, in meinem Alter wird es wohl ein Lebensprojekt werden, aber ich fühle mich nicht zu Alt um mich mit der Thematik zu befassen und die Ein oder Andere Programmiersprache zu erlernen.

    Fakt ist, das Spiel sollte letztendlich auch Internetfähig sein, also man sollte es schon zu zweit spielen können, auch wenn die Spielpartner nicht gerade nebeneinander sitzen. Aber alles erstmal Schritt für Schritt. Erstmal muss das Spiel ja funktionieren. Und bevor man mich daran erinnert, dass es Faktoren wie Mathematik und Physik zu berücksichtigen gibt, dass ist mir durchaus bewußt und sollte auch mein kleinstes Problem darstellen.

    Enrico

  • Interessante Aufgabe. Ich denke schon, dass das mit Javascript möglich ist.

    Zitat

    Fakt ist, das Spiel sollte letztendlich auch Internetfähig sein, also man sollte es schon zu zweit spielen können, auch wenn die Spielpartner nicht gerade nebeneinander sitzen.

    Das ist eine gewisse Herausforderung, aber sicher auch machbar. Vor allem, wenn man ein Verfahren verwendet, bei dem man nicht wie bei einem Video die Bewegungen Frame-für-Frame überträgt, sondern nur die Anfangsparameter wie Stoßrichtung und Stoßstärke und die Bewegungen dann auf der anderen Seite neu berechnet.

    Zitat

    Aber alles erstmal Schritt für Schritt.

    Das ist sicher zu empfehlen. Ich habe vor einiger Zeit mal den ersten Schritt getan und den elastischen Stoß programmiert:

    Den Ball links oben kann man durch Ziehen mit der Maus bewegen. Nach Loslassen rollt er weiter und wird entsprechend der Reibung langsamer. Und wenn man gut gezielt hat, trifft er den zweiten Ball. :-)

    Das mit dem Ziehen und Loslassen trifft die Vorgänge beim richtigen Billard noch nicht optimal. Auf Anhieb fällt mir aber keine bessere und einfache Lösung ein. Ich dachte daran, eine Queue zu zeichnen, wo man die Richtung mit der Maus durch Ziehen einstellt und durch schnellen Klick den Stoß auslöst, aber optimal wäre das auch nicht.

  • Das geht aufjedenfall.

    Da du das selber versuchen willst gebe ich dir jetzt kein Link wo ein fertiges Billardspiel ist.

    Da hast du dir aufjedenfall was schwereres ausgesucht.

    Zb der anstoß, wo eine Kugel die anderen anstoßen tut und jede Kugel in einer anderen richtung weiter gestoßen wird. Da muß ja auch der Winkel und die schnelligkeit stimmen wo die Kugeln hinrollen.


    Da muß man nicht nur Javascript für können sondern auch die Mathe Formeln für können.

    Ich glaube das Sempervivum da an besten helfen kann der kann das gut.

    Also viel glück Enrico Michael , bei einfacheren Sache helfe ich dir gerne auch.

    Falls du doch irgendwann ein fertiges Spiel suchst dann sag bescheid

  • Vielen Dank basti1012.

    Ja, einfach wird es definitiv nicht werden, aber so hält man seine grauen Zellen ja auch fit.

    Da ich das Spiel Schritt für Schritt aufbauen möchte, denke ich, dass ich erstmal das HTML schreiben und mit CSS3, das Design erstellen muss.

    Via Paint ( erstmal ) einen Tisch konstruieren und erstmal 2 Kugeln, mit denen ich dann schon einmal rumexperimentieren kann ( mathematische Formeln und Physik ), ja es gibt noch viel zu basteln. Und wenn es einfach wäre würde es ja auch Fußball heißen und nicht programmieren:) Und mit Sicherheit werde ich gerne noch auf euch zu kommen, denn Fakt ist, an einigen Stellen ( und da wird es bestimmt zahlreiche geben ) werde ich definitiv hängen bleiben.

    MfG

    Enrico

  • Das ist grundsätzlich egal. Es gibt sicher bessere Programme, aber wenn Du damit gut zurecht kommst und für Dich passable Ergebnisse erhältst, kannst Du auch das nehmen. Später würde ich allerdings noch versuchen, das Bild gegen eine HTML/CSS Basis auszutauschen. Das wird etwas aufwendiger, aber Du hast dann viel mehr Möglichkeiten, bspw. kannst Du Probleme mit den mathematischen Algorithmen bekommen, wenn Du die Berechnungen und das Bild testweise für eine 1920x1080 zusammenfrickelst und dann auf 1024x768 spielen willst.


    Könnte ich mir vorstellen... ohne das jetzt im Detail durchdacht zu haben.

  • Paint erzeugt Bitmap-orientierte Grafikdateien. Nachteil dabei: Sie lassen sich nur eingeschränkt skalieren, abwärts mit geringem, aufwärts mit starkem Qualitätsverlust. Willst Du eine gute Qualität auch auf großen Bildschirmen musst Du eine große Grafikdatei bereit stellen mit entspr. großer Ladezeit.

    Die Alternative sind vektororientierte Grafiken. Diese lassen sich ohne Qualitätsverlust skalieren und damit an die Größe des Browserfensters anpassen. Außerdem ist die Dateigröße, jedenfalls wenn die Grafik nicht zu komplex ist, kleiner als bei Bitmaps. Der wohl bekannteste kostenlose Editor für Vektorgrafiken ist Inkscape.