• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

[Abstimmung]Programmierwettbewerb Nr 4

Wessen Code hat Dir am besten gefallen


  • Umfrageteilnehmer
    13
  • Umfrage geschlossen .

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
Nach hartnäckigem Wunsch aus der Programmieraufgabe auch einen Wettbewerb mit Abstimmung zu machen, gibt es jetzt hier die Möglichkeit über die eingereichten Quellcodes abzustimmen.
Dazu sind diese alle verlinkt, so daß man sich durch alle durchwühlen kann. Der Code von MingsPing ist nicht lieferbar, daher fällt er aus der Wertung.
Jetzt ist es nicht leicht, sofern man nicht alle verwendeten Sprachen beherrscht, alles zu verstehen und der zeitliche Aufwand ist sicher auch höher, als wenn man die Wahl zwischen ein paar Bildern hat. Dennoch der Hinweis, daß es um den Code geht, nicht um eine Abstimmung, wer die coolste Engine verwenden konnte.

Danke an theSplit, der die ganzen Links aus dem Thread extrahiert und zusammengestellt hat.

Natürlich sollen alle mit wenig bis gar keinen Programmierkenntnissen hier nicht direkt wegklicken. Es sind alle herzlich eingeladen die Spiele anzutesten.
Sollte es Schwierigkeiten geben, die Programme zum Laufen zu bekommen, so stehen die Entwickler natürlich gerne mit Tat und Rat zur Seite (24/7 Besonders gerne in der Nacht ;) )




Abgaben Programmierwettbewerb 4

Rakorium-M

Sprache(n): Kotlin
Abgabepost: https://ngb.to/threads/40532-Aufgabenstellung-Programmierwettbewerb-Nr-4?p=935513#post935513

Download EXE: https://www.dropbox.com/s/hmwuqhuuba346v9/MoonLander.jar
Download SRC: https://ngb.to/attachment.php?attachmentid=53932&d=1556630920

Screenshot/Video:
viewer.php



exomo

Sprache(n): C++
Abgabepost: https://ngb.to/threads/40532-Aufgabenstellung-Programmierwettbewerb-Nr-4?p=935442#post935442

Screenshot:
viewer.php

Download EXE: http://www.filedropper.com/exomomarslander
Download SRC: http://www.filedropper.com/exomomarslander-source




KaPiTN

Sprache(n): C#
Abgabepost: https://ngb.to/threads/40532-Aufgabenstellung-Programmierwettbewerb-Nr-4?p=952659#post952659

Screenshot/Video:

[video=picflash;Form104IVJHW5.08IVJHW5.201918_06_38_38IVJHW5.webm]https://www.picflash.org/picture.php?key=IVJHW5&action=show[/video]

[video=picflash;Form104GZ7SBR.08GZ7SBR.201918_08_00_00GZ7SBR.webm]https://www.picflash.org/picture.php?key=GZ7SBR&action=show[/video]
[video=picflash;Form1049PJ3U5.089PJ3U5.201918_08_41_419PJ3U5.webm]https://www.picflash.org/picture.php?key=9PJ3U5&action=show[/video]

Download EXE: 2 Parts, bei zweitem Link einmal ".zip" entfernen
https://ngb.to/attachment.php?attachmentid=54800&d=1564938622 und https://ngb.to/attachment.php?attachmentid=54801&d=1564938643
Donwload SRC: https://ngb.to/attachment.php?attachmentid=55179&d=1568824029




Roin

Sprache(n): Javascript/HTML/CSS
Abgabepost: https://ngb.to/threads/40532-Aufgabenstellung-Programmierwettbewerb-Nr-4?p=935674#post935674

Screenshot/Video: ---

Download EXE/SRC: https://ngb.to/attachment.php?attachmentid=53943&d=1556705395



theSplit

Sprache(n): Javascript/HTML/CSS
Abgabepost: https://ngb.to/threads/40532-Aufgabenstellung-Programmierwettbewerb-Nr-4?p=932418#post932418

Screenshot/Video:
viewer.php

Download EXE/SRC: https://jrie.github.io/moonlander/



MingsPing

Sprache(n): ?
Abgabepost: nicht vollständig eingereicht ( https://ngb.to/threads/40532-Aufgabenstellung-Programmierwettbewerb-Nr-4?p=928877#post928877 )

Screenshot/Video

Download EXE/SRC: ---
 
Zuletzt bearbeitet:

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.557
Ay, dass hier ist fein, endlich die Abstimmung hier zu haben. Ich bin wirklich gespannt und hoffe auf rege Beteiligung von Spielern wie auch Codern gleichermaßen :T
 

Roin

Freier Denker

Registriert
22 Juli 2013
Beiträge
581
Der Source von @exomo ist derzeit leider nicht mehr verfügbar.
Ansonsten sehr schön, dass hier ein paar Lösungen in verschiedenen Stadien abgegeben wurden.

ich habe die verfügbaren Lösungen (abgesehen von meiner) kurz überflogen.
Zu allen:
  • Die Methodennamen und Funktionen sind alle sinnvoll benannt.
  • Wie man durch die Videos bereits während der Entwicklung gesehen hat, ist der Code bei allen lauffähig.
  • Abgesehen von Rakorium-M wurden in allen Abgaben kaum Kommentare untergebracht, die einzelne Code-Blöcke etwas besser beschreiben. Gerade bei sehr großen Funktionen ist eine Unterteilung in sinnhafte Abschnitte mit einem kurzen Kommentar ganz hilfreich.
Viel mehr kann ich bei dem kurzen Überfliegen kaum bewerten. Meine Stimme geht dennoch an theSplit, da seine Lösung meinem Vorgehen am ähnlichsten war.
 

Ungesund

Feiner Herr

Registriert
15 Juli 2013
Beiträge
1.910
Ort
Achterbahn
Super cool! Da ich die Schönheit der Programmierung nicht in vollem Umfang würdigen kann, gebe ich hier mal meine Designerische Meinung zu den Einreichungen in Stichpunkten:


Rakorium-M
+
Schöne Grafik, horizontales scrolling ist ein cooler touch, super Fluggefühl, schöne Details wie die animierten Flugdüsen, sowie ein gutes, nachvollziehbares GUI
-
Keine Explosion bei Aufprall, Keine Optionen.

Exomo
Leider nicht herunterladbar, Screenshot sieht aber cool aus. :)

KaPiTN
+
Sehr schöne Grafik, Bockschwer
-
Stürzt leider ab wenn man den Bildschirm verlässt, GUI/Bedienung nicht so klar, darum Neustart nach Fluggerät-crash nicht möglich. Sehr starke Gravitation, dadurch nicht so gutes Fluggefühl

Roin
+
Viele Optionen, sauber aufgebautes GUI
-
sehr nüchterne Grafik, unlösbar -> crash selbst bei minimalster Geschwindigkeit. Am Anfang ein random Drift würde das Spiel erst zum spiel machen, derzeit kommt das Schiff einfach straight runter und ich als Spieler muss nur den main-thruster bedienen.

theSplit
+
Vom Gesamteindruck her am "Komplettesten", gutes Fluggefühl, viele Funktionen, verständliches GUI, coole Details wie der Partikeleffekt für die Düsen und der explosion
-
etwas simple Grafik, "Weltraum"-Feeling kommt nicht so recht auf. Sehr lila :p

MingsPing
Leider nix zum anschauen, das Video im Originalpost siehr aber cool aus. Evtl noch einen Link dahin in den screenshot spoiler?


Letztendlich habe ich mich für Rakorium_M's Beitrag entschieden. Auch wenn ihm die Optionen fehlen, hat mir die Lunar-Lander Umsetzung einfach am meisten Spaß gemacht. :)
 

KaPiTN

♪♪♫ wild at heart ♪♫♫♪

Registriert
14 Juli 2013
Beiträge
29.138
  • Thread Starter Thread Starter
  • #5
@Ungesund:

Ich hatte nicht kalkuliert, daß das jemand testen würde, da habe ich mir eigene Tests erspart. :o
Absturz darf natürlich nichts ein. Das muß ich mir noch einmal anschauen.
Einstellunge, wo man dann die Gravitation auch hätte anpassen können, ist auch hinten runter gefallen.

Beim Neustart war ich dann auch faul. Der müßte nach eine Weile automatisch geschehen. Ich starte einen neuen Prozeß und beende den alten. Das kann schon einmal dauern. :D

Du hast zwar keinen Code bewertet (völlig ok), aber Du hast Dich eindeutig mit den Ergebnisse auseinander gesetzt. Dafür ein fettes Danke!
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.557
Also, ich hab mir mal die Quellen jetzt etwas genauer angeschaut.

Raktorium-M hat eine recht komplexe MVC Struktur - muß nicht zwingend verkehrt sein, wäre mir aber zu viel Boilerplate um mit dem Projekt richtig warm zu werden. Der Code ist, größtenteils, kommentiert, was ich sehr gut finde, ich hab selbst nichts kommentiert. Finde dies aber hilfreich. Zum Java bzw. Kotlin Code kann ich nicht viel sagen, aber scheinbar wird für das Rendering eine OpenGL Biblitohek verwendet, ziemlich cool wenn die Moonlander Variante eine Hardwarebeschleunigung nutzt. Interessant auch der Ansatz hierbei mit Rigid Bodies zu arbeiten, was ermöglicht das der Lander schaden nehmen kann wenn ein Teil des Körpers des Landers zu stark belastet wird, also auch Hitpoints (HP) am Werk sind.

Bei KaPiTN finde ich die Unterteilung des Codes im Vergleich angenehmer, die Klassen sind in einzelnen Files angelegt - Arten aber nicht an Komplexität aus und es bleibt überschaubar was wo steht und gemacht wird. Was ich etwas schade finde, man sieht anhand der auskommentierten Codezeilen, da wollte jemand noch viel mehr programmieren. Das ist etwas schade, da scheinen noch nette Features geplant gewesen zu sein. Ansonsten finde ich den Code aber sehr übersichtlich und könnte mich, auch ohne viel Erfahrung von C# bzw. C Sharp damit befassen.

Roin's Version setzt ebenfalls wie ich auf den Browser als Engine und Javascript. Gut finde ich hierbei das diese Version viele Optionen anbietet welche das Spielgeschehen beeinflussen können. Und der Code ist größtenteils dokumentiert. Was ich am Code bemängeln würde, Javascript Standard Style wäre eine kleine Bereicherung, da dieser auch von (aktuellen) Browsern ohne zicken und murren unterstützt wird - das würde ich persönlich anregen. Ist einfach noch ne Ecke hübscher. Ansonsten aber alles sehr klar benannt und der Code ist Objektorientiert, auch schön zu sehen. In wie weit die genutzte Library "P5.js" dabei werkelt entzieht sich aber meiner Kenntnis da ich diese vorher noch nicht gesehen bzw. nicht in Nutzung hatte.

Es ist wirklich schwer sich einen Favoriten rauszusuchen. Technisch wäre ich für Raktorium-M's Version, allerdings ist das MVC wirklich eine Hürde wenn man nicht vorher mit so etwas gearbeitet hat und es ist sehr viel drumherum. Die Version von KaPiTN besticht (mich) durch eine klare Struktur die nicht so viel "overhead" hat. Und Roin's Version wiederum, hat eine Menge Optionen, die das Spiel auch für Wiederholungen interessant machen können.

In allen Versionen, auch meiner Version, fehlt leider aber eine Art von Score um sich zu wirklich zu duellieren - sei es durch das Verändern von EckVariablen wie: Windstärke, Gravitation und geringer Spritverbrauch, "sanfte Landung" oder ähnlichem. Auch vermisse ich bei allen Abgaben dass man nicht eine "Random Seed" selbstständig setzen kann, um Beispielsweise ein Terrain zu reproduzieren.

Ich stimme, auch wenn es mir wirklich schwer fällt für den KaPiTN.
 
Zuletzt bearbeitet:

exomo

NGBler

Registriert
1 Aug. 2015
Beiträge
129
Entschuldigt meine kaputten links, ul.to löscht die files nach einer bestimmten Zeit (ka ob die über Premium noch verfügbar wären). Ich kümmere mich demnächst darum.

EDIT:

Hier sind neue Links:
Binaries (Windows): http://www.filedropper.com/exomomarslander alternativ: http://s000.tinyupload.com/?file_id=10373472804513717083
Source Code (C++): http://www.filedropper.com/exomomarslander-source
alternativ: http://s000.tinyupload.com/?file_id=91286671449730387140
(Leider stimmt irgendwas nicht mit dem Hintergrundbild des Startbildschirms, aber ich habe aktuell keine Zeit mir das genauer anzuschauen, deshalb jetzt erstmal so)

Ich schaue mir die anderen Codes auch mal an sobald ich dazu komme :D

EDIT2: Oben noch alternative Links auf tinyupload hinzugefügt, die haben angeblich unbegrenzte Speicherdauer.
 
Zuletzt bearbeitet:

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.557
So, jetzt muß ich mal was zu exomos Code loswerden! :)

Erster Eindruck, der Code besitzt eine klare Aufteilung in Ressourcen, Source und Header Files und für das Buildsystem, hier CMake. Der Code ist an vielen Stellen kommentiert was positiv auffällt.

Die Funktionen sind klar benannt und Error Handling ist ebenfalls enthalten. Was etwas markant ins Auge sticht, die hohen Werte für die X und Y Position des Landers/des unterliegenden Koordinatensystems und ein fixer Faktor ( * 5000 ) für die Kollision, der etwas magisch wirkt.

Warum posX, zum Beispiel, mit -500000 initialisiert wird, ist mir etwas schleierhaft, ich würde aber vermuten, dass ein Zoom geplant gewesen ist und deshalb die Werte so hoch gesetzt sind - worauf vielleicht auch das "setScale" im Code hinweist.

Und zu guter letzt, ich finde die Idee mit dem Sound super und sehr passend. Auch der Trick die Flamme zufällig skalieren zu lassen um so einen Brenneffekt zu erzeugen find ich gut, weil es Variation einbringt.
 
Oben