BlackyPaw
Mitglied
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:
§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:
§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:
§8 Anmeldung
Um euch zum Contest anzumelden müsst ihr mir lediglich eine PM nach folgendem Aufbau senden:
§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.
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
§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:
- Stream - Ihr streamt während des Contests. Dieser Stream darf nur dann unterbrochen werden, wenn ihr parallel noch eine weitere Möglichkeit nutzt.
- Git - Ihr macht spätestens alle 30 Minuten einen Commit, um nachzuweisen, wann ihr was gemacht habt. Andere Versioning-Systeme sind nicht zugelassen. (empfohlen)
- 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.
§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
§8 Anmeldung
Um euch zum Contest anzumelden müsst ihr mir lediglich eine PM nach folgendem Aufbau senden:
Betreff: 1. Devathlon - Anmeldung - [Name]
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.Link zum Stream, falls vorhanden: [Link]
Git benötigt?: [Ja/Nein]
Hinweise (optional):
Git benötigt?: [Ja/Nein]
Hinweise (optional):
§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.