02 | Casual Racer – Eine virtuelle Welt

Sign in to queue

Description

Nachdem das Grundgerüst unserer Applikation steht, wird es Zeit für etwas Inhaltliches. Eine ordentliche Simulation braucht ein ordentliches Datenmodell. So auch unser kleines Rennspiel. Das muss dann entgegen typischen Anwendungsmechanismen permanent Physik berechnen, weshalb wir in dieser Folge auch schon eine sogenannte Game Loop erstellen. Damit das Ganze dann auch schon mal grob Funktion zeigt, greifen wir Spielereingaben ab und binden das Model schon mal ans Frontend.

Link zum GitHub Projekt

Alle Folgen findet ihr auch unter aka.ms/casualracer

Wenn ihr Themen habt, die ihr gerne in einer der nächsten Folgen sehen würdet, dann lasst es uns über Twitter wissen @msdev_de

Embed

Download

Download this episode

The Discussion

  • User profile image
    Martin​Kuschnik

    Ich finde die Idee ganz gut. Bin selbst Entwickler habe aber bis jetzt Null Erfahrung in der Spieleentwicklung. Da ist das ganz interessant die Prinzipien kennen zulernen.

    Erstmal ein paar Fragen:

    1. Warum benutz du keine Viewmodels?

    2. Warum zeichnest du nicht im OnRender selbst? Ist das nicht effizienter?

    Hab auch noch ein paar Kritikpunkte:

    - Du springst für meinen Geschmack ein wenig zu start hin und her.

    - Du wirkst öfter unvorbereitet und hektisch.

    - Du verwendest viele "Pattern" nur ansatzweise und missachtest viele Prinzipien dieser.

  • User profile image
    bobstriker

    @MartinKuschnik:

    Hallo Markus, herzlichen Dank für deine Rückmeldung. Das Format lebt davon und soll sich ja auch weiter entwickeln. Bei einer Sache muss ich dir vollkommen recht geben. Die ersten Folgen wirklichen sehr hektisch und sprunghaft. Das ist meinem straffen Content Plan geschuldet. Ich wollte hier einfach so viel wie möglich abarbeiten damit schnell ein schönes Bild zu sehen ist - zu kosten der Nachvollziehbarkeit. :( Das wird sich ab Folge 4 aber ein bisschen entschärfen.

    Dass es aber unvorbereitet wirkt liegt daran, dass ich den Code auch nicht wirklich vorbereite. Ich mache mir zwar grobe Gedanken und habe auch einen kleinen Protypen gebaut, damit wir mit der Entwicklung nicht direkt in die Hölle marschieren, aber das Konzept und der Verlauf des Let's Codes ist da ja etwas spontaner und zu Beginn noch nicht vordefiniert.

    Nun zu deinen Fragen:

    • Warum kein ViewModel? Im Grunde ist die Game-Klasse das ViewModel - zumindest für den Game-Screen. Beim Rest verzichte ich (fürs erste) aus pragmatischen Gründen aufs VM. Das ist auch die Begründung dafür, dass ich Patterns nur so halb verwende. Ich nutze die Anspekte davon, die mich aktuell schnell zum Ziel bringen und spare mir die Aspekte, die in der aktuellen Situation mehr Arbeit/Ärger machen. Bsp. Commands beim Hauptmenü vs. Code Behind.
    • OnRender vs. Controls: Ich gebe dir vollkommen recht. OnRender wäre effizienter aber fürs erste auch umständlicher. Ich werde da aber sicher beim Rendern der "Landkarte" darauf zurück kommen.

    Gerade wenn man unter Zeitdruck und unter den Augen von sensationshungrigem Publikum arbeitet, gewöhnt man sich ein paar Sachen an, die in einem Real Life Projekt sicher kein gutes Beispiel abgeben. Für Let's Codes hat sich das aber bewährt.Wie ich anfangs schon sagte: Das ist kein Tutorial ;)

  • User profile image
    Martin​Kuschnik

    @bobstriker: Danke für die sehr ausführliche Antwort. Hab mir in der Zwischenzeit 1, 2 andere Videos aus YouTube von dir angesehen. Dort kann ich kaum Kritikpunkte finden :)

Add Your 2 Cents