1. Devathlon - Coden mit den Devs!

Status
Für weitere Antworten geschlossen.
Hallo liebe Gommunity,

nach einem Vorschlag meinerseits und großer Begeisterung innerhalb des Teams möchte ich euch heute einladen, am 1. Devathlon hier auf GommeHD.NET teilzunehmen. Ziel ist es innerhalb einer gewissen Zeitspanne ein funktionsfähiges und interessantes Plugin zu einem vorgegebenen Thema zu schreiben, und entsprechend den Kriterien einzureichen. Alles weitere findet ihr unten in den Regeln.

Viel Spaß!
BlackyPaw.

Regeln

§1 Präambel

Dieser Wettbewerb eignet sich für all jene von euch, die gerne einmal zusammen mit dem GommeHD.Net
Dev-Team und viele anderen Usern aus der Gommunity programmieren würden, um sich selbst vor eine gewisse
Herausforderung zu stellen und eine Aussicht auf einen erstrebenswerten Gewinn zu erlangen. Voraussetzung
für eine Teilnahme am Contest sind grundlegende Programmierkenntnisse, Fair-Play und eine fristgerechte
Anmeldung und Abgabe am Contest.

§2 Allgemeines

Der Contest wird am 18.10.2014 um 10 Uhr vormittags von mir - BlackyPaw - gestartet, indem ich euch allen ein Thema bzgl. CraftBukkit vorgeben werde, zu welchem ihr dann eure eigenen Ideen umsetzen sollt. Ihr habt ab diesem Zeitpunkt an zehn Stunden Zeit. Die ersten drei Plätze werden jeweils folgende Preise gewinnen:
1. Platz - 6 Monate Premium
2. Platz - 3 Monate Premium
3. Platz - 1 Monat Premium

Auch Teammitglieder werden teilnehmen, aber da diesen Premium-Spielzeit nicht sonderlich viel nutzen würde, haben wir beschlossen, dass in dem Falle einer Platzierung eines Teammitgliedes auf einem der drei Ränke das gesamte teilnehmende Team einen bestimmten Betrag an einen gemeinnützigen Zweck stiften wird.

Solltet ihr gewinnen, allerdings schon Premium auf Lebenszeit besitzen, so wird euch ein anderes besonderes Geschenk zu teil (#Überraschung).

Um euren Code schlussendlich einzusenden müsst ihr sowohl den Source-Code, als auch sämtlich Ressourcen,
sowie eine kompilierte JAR-Datei abgeben, die ganz alleine ohne externe Abhängigkeiten auf einem Bukkit-Server unter Verwendung der Bukkit-API Version
1.7.9-R0.2-63-gcb87f4e (http://jd.bukkit.org/dev/doxygen/) funktionieren würde. Es können Punkte abgezogen werden, wenn Teile der Einsendung fehlen, bzw. nicht funktionell sind.

§3 Bewertung

Die Bewertung erfolgt in drei Kategorien:
1. Likes
2. Performance
3. Sauberkeit des Codes

Jede dieser Kategorien wird im Folgenden noch weiter beschrieben.

§3.1 Likes

Die Likes werden von EUCH verteilt. Ihr könnt während des Contests für euer Lieblingsprojekt voten, solange ihr nicht selbst am Contest teilnehmt. Die Likes werden 1 / 3 der Bewertung ausmachen, d.h. das Projekt mit den meisten Likes legt den Maßstab fest auf einer Skala
von 0 - 10 Punkten. Das bedeutet, dass das Projekt mit den meisten Likes 10 Punkte erhält, die Punkte der anderen Projekte werden nach folgender Formel berechnet:
Punkte = (10 / MaxLikes) * Likes;

Dabei wird IMMER abgerundet, sodass nur ein einziges Projekt wirklich 10 Punkte erhalten kann.

§3.2 Performance

Diese Kategorie lässt sich schwer bewerten, wird allerdings dennoch eine gleichgeordnete Rolle spielen. Hierbei wird bewertet, wie performant ihr euren Source-Code gestaltet habt. Das heißt nicht, dass wir euer Plugin auf Laggs hin testen werden, da dies hardware-bedingt variieren könnte, sondern wir werden uns euren Source-Code hinsichtlich Redundanz, und anderen performance-schwächenden Stellen untersuchen. Natürlich ist hier nur eine näherungsweise objektive Einschätzung möglich; wir werden uns aber um so viel Objektivität wie nur irgend möglich bemühen. Auch hier werden wir wieder Punkte zwischen 0 bis 10 verteilen.

§3.3 Sauberkeit des Codes

In dieser Kategorie werden wir euren Code hinsichtlich fundamentalen Code-Stilistiken unter die Lupe nehmen. Wir werden darauf achten, wie weit ihr die Richtlinien der Objekt-Orientierten-Programmierung eingehalten habt, wie abstrahiert und sauber eure Interfaces sind, etc. Wieder werden wir hierbei Punkte von 0 - 10 vergeben.

§4 Teams

Teams sind ausgeschlossen und führen zur sofortigen Disqualifikation. Ihr dürft euch auch nicht mit anderen Teilnehmern absprechen, sodass keine Kartelle entstehen.

§5 Frameworks

Wie oben schon genannt muss euer Plugin eigenständig auf einem Bukkit-Server laufen können. Die einzige Ausnahme hierbei bildet ProtocolLib Version 3.4.0. Diese wird auch auf unseren Test-Server installiert sein, was es euch ermöglicht, ProtocolLib in euer Projekt zu integerieren. Ihr dürft allerdings keine anderen APIs / Frameworks / Plugins / etc. benutzen, was auch das Mergen von JAR-Dateien, sowie das Shaden mittels Maven (was einem Merge entspricht) mit einschließt.

Folgende von Bukkit und Minecraft unabhängige Frameworks dürft ihr auch nutzen:
  • Guava
  • ApacheUtils
  • Lombok
Alle weiteren sind strikt verboten. Solltet ihr ein begründetes Statement abliefern, wieso ein weiteres Framework ebenfalls erlaubt werden sollte, kann es hier aufgenommen werden.

§6 Changelogs

Ihr müsst während des gesamten Contests nachweisen können, wann ihr was gemacht habt. Dazu müsst ihr mindestens eine der nachfolgenden drei Möglichkeiten wählen:
  1. Stream - Ihr streamt während des Contests. Dieser Stream darf nur dann unterbrochen werden, wenn ihr parallel noch eine weitere Möglichkeit nutzt.
  2. Git - Ihr macht spätestens alle 30 Minuten einen Commit, um nachzuweisen, wann ihr was gemacht habt. Andere Versioning-Systeme sind nicht zugelassen. (empfohlen)
  3. Changelog - Ihr schreibt einen ausführlichen Changelog. Dieser muss jede Änderung mitsamt Timestamp auflisten. Auf hier müsst ihr alle 30 Minuten einen Vermerk machen.
Anmerkung zu (2) und (3): Solltet ihr eine längere Zeit nichts mehr machen, so müsst ihr Leervermerke erstellen, welche den folgenden oder ähnlichen Inhalt wiedergeben: "Pause - Derzeit wird nicht weitergearbeitet". Bei Möglichkeit (1) entfällt dies.

§7 Dokumentation

Um die Dokumentation eures Codes zu erstellen könnt ihr theoretisch jedes Tool nutzen, das ihr wollt, solange die Dokumentation immer an der entsprechenden Stelle im Source-Code zu lesen ist. Beispiele hierfür sind:
  • Doxygen (empfohlen)
  • JDocs
Außerdem dürft ihr KEINE rohen Kommentare verwenden. Es wird nicht von euch erwartet, dass ihr zu jeder noch so unwichtigen Funktion ein Beschreibung mitsamt Erklärung der Parameter und des Rückgabewertes abliefert. Es wird lediglich erwartet, dass wichtige Stellen in eurem Code angemessen dokumentiert sind.

§8 Anmeldung

Um euch zum Contest anzumelden müsst ihr mir lediglich eine PM nach folgendem Aufbau senden:
Betreff: 1. Devathlon - Anmeldung - [Name]
Link zum Stream, falls vorhanden: [Link]
Git benötigt?: [Ja/Nein]
Hinweise (optional):
Wenn ihr plant, Git zu nutzen, so werdet ihr ein entsprechendes Repository von uns eingerichtet bekommen. Dieses wird euch aus organisatorischen Gründen möglicherweise zwar schon zuvor zugesendet, ihr dürft es allerdings ausschließlich während des Contests nutzen. Repositories, die nicht von uns erstellt wurden, scheiden automatsich aus. Ihr müsst noch vor Beginn des Contests ein Repository anfordern.

§9 Sonstiges

* Mit einer Teilnahme am Contest erkennst du sämtliche Regeln an.
* Der Rechtsweg ist ausgeschlossen.
* Jedweder Code, den ihr in eurem Plugin verwendet MUSS von euch selbst geschrieben sein, d.h., dass ihr keine Code-Snippets einfach kopieren und einpflegen dürft. Das bedeutet allerdings nicht, dass ihr nicht nach Beispielen suchen dürft: ihr müsst sie selbstständig implementieren, und dürft sie nicht "eins zu eins" abtippen. Derartige Unterfangen werden als Betrugsversuch aufgefasst und führen zur sofortigen Disqualifikation.
* Alle Anwendungen von Reflection und Instrumentation außerhalb eures eigenen Packages sind verboten.
* Das Git-Repository wird von uns bereitgestellt. Ihr dürft es nicht vor Beginn des Contests nutzen, was andernfalls zu einer Disqualifikation führt.
* Um euch das Leben mit ProtocolLib einfacher zu machen, dürft ihr folgende PacketWrapper verwenden: http://repo.comphenix.net/content/r...henix/packetwrapper/PacketWrapper/1.7.2-R0.5/. Diese werden auch auf unserem Test-Server installiert sein.
* Wir behalten uns das Recht vor, diese Regeln jederzeit zu ändern, sofern dies nötig sein sollte.
 

Qhiliqq

Mitglied
2 Mai 2014
371
484
890
27
Karlsruhe
Wow ich muss sagen dass sowas noch nie da war und ich die Idee einfach klasse finde;) Da ich nicht Programmieren/Coden kann geht es mich zwar nicht direkt was an, aber die die es können und Ihr können unter Beweis stellen wollen können es somit sehr gut;)

MfG Qhiliqq :)
 
  • Like
Reaktionen: Vanix
M

Mirko_Oliver

Unregistriert
Super Idee damit können sich dann auch mehr Plugin / Minigame technisch auf Gomme entstehen nur Schade das keine Teams erlaubt sind \ Wie wäre es neben Premium noch ein Champion Rang im Chat steht dürfte ein ziemlich geiles Feature sein..
 
  • Like
Reaktionen: Vanix
?

_-!?-logito111-__*_

Unregistriert
Nette Idee, ich kann leider nicht teilnehmen. :D

Mfg
logito111
 
  • Like
Reaktionen: Vanix
T

till_fcz

Unregistriert
Nette Idee!
Jedoch finde ich einen Helm jetzt nicht so einen geilen Preis. Ich mein in der Lobby weiss eh keiner wofür der steht.
Also mir wäre da Premium lieber.
Zu dem System mit den Likes. Ich frage mich halt nur wie viele Leute da zuschauen werden und liken werden.

LG
 
  • Like
Reaktionen: Vanix

UnknownIceBear

Mitglied
4 Juli 2014
71
105
385
Nordpol
Hi
Schöne Idee kann selbst zwar noch nicht coden aber bin es gerade am lernen. Finde es auf jedenfall cool das ihr etwas mir der Gomunity veranstaltet Daumen Hoch dafür.
LG der Foren-IceBear
 
  • Like
Reaktionen: Vanix
Status
Für weitere Antworten geschlossen.

Soziale Medien

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop