BCC-Ideen

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Holzchopf

Meisterpacker

Betreff: BCC-Ideen

BeitragMo, Aug 29, 2011 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht jeder, der eine dufte Idee für den BlitzCodeCompo hat, hat die Gunst, einen BCC zu gewinnen und sein Thema dann vorzustellen. Andererseits gab es schon öfter (und in letzter Zeit vermehrt) Gewinner, die ein- zwei Tage lang verzweifelt nach Ideen grübelten und schlussendlich andere zu Hilfe zogen. Damit sich alle Betroffenen besser austauschen können, soll nun dieser Thread hier als Plattform dienen.

Wie könnt ihr mitmachen? Ganz einfach: Schreibt hier oder mir per PN (mit Angabe ob anonym oder nicht), was euch so vorschwebt. Natürlich können die Ideen sehr unterschiedlich sein - das kann vom einfachen Stichwort als Themenvorgabe bis zur komplexen Aufgabenstellung mit Zeit- und Grössenvorgaben reichen. Ich werde mich bemühen hier, im Anfangsposting, eine aktuelle Liste der Vorschläge zu führen. Wenn ihr einen Vorschlag abgebt, müsst ihr wohl oder übel in kauf nehmen, dass der- oder diejenige, der /die den Vorschlag umsetzt, nicht zwingend 1:1 exakt übernimmt.

Wie könnt ihr von der Liste profitieren? Ist doch klar: Ihr braucht keine Mitmachhemmungen bei den BCC mehr, denn ein Thema werdet ihr mit Hilfe dieses Threads hier immer finden! Wink Ihr könnt euch einfach den Ideen hier bedienen oder euch davon inspirieren lassen - alles kein Problem! Wenn ihr jedoch eine Idee übernehmt, seid bitte so nett und erwähnt den Ideenautor. Hier gibt es übrigens eine Liste mit allen bisherigen BCC-Themen, für die, die Angst haben, ein Thema zum zweiten mal aufzutischen. Aber keine Sorge, ich werde mich auch bemühen, die Liste insofern aktuell zu halten, dass (an)gebrauchte Vorschläge wieder entfernt werden.

Danke für eure Kooperation Smile

Vorschläge
Fredko hat Folgendes geschrieben:
Thema: Kristalle

Ob die Kristalle dumm rummfliegen und Punkte wie bei Giana Sister bringen oder ähnlich Legend of Zelda man aus jedem und allem Rubine rausprügeln kann bleibt einem selbst überlassen. Hauptsache, Kristalle tauchen irgendwie häufig im Spiel auf. Auch etwas wie Bejeweled wäre regelgemäß.

Empfohlen: 20KiB Code, 4MiB Resourcen, MiniB3D & Draw3D erlaubt


Xeres hat Folgendes geschrieben:
Mal etwas alternative Begrenzungen:
Bilder: 512px² (Ein Bild mit 512px Kantenlänge oder 4 Bilder mit 256px Kantenlänge oder usw.)
Sound: 10 Sekunden Effekte
Musik: 30 Sekunden (Loopen erlaubt)
3D-Objekte: 64 Vertices insgesamt.
txt/ini was-auch-immer: 512 Byte.


Ana hat Folgendes geschrieben:
Thema: Drachenkurven

Etwas, das weniger mit gutem Spieldesign zu tun hat, als wirklich mit gutem programmieren. Drachenkurven sind sehr hübsch und sie geben bestimmt ein wenig Platz für künstlerische Gestaltungen. So kann man auf der einen Seite die Rechenzeit, auf der anderen Seite das Aussehen bewerten.
Irgendwie müsste dann halt vereinbart werden, dass das Programm (wahrheitsgemäß) die rechenzeit jeweils ausspuckt damit man es auf seinem Rechner vergleichen kann.

Für jene die nicht wissen was Drachenkurven sind oder ihren Golf gepimpt haben damit ohne zu wissen was es ist http://de.wikipedia.org/wiki/Drachenkurve


ZEVS hat Folgendes geschrieben:
Thema: Gravitation

Egal ob als "nach unten" oder "zum Planeten", hauptsache, hier fliegt alles getreu nach den Gesetzen der Physik.
Begrenzungen: Maximale Größe des zip-Archives: 4MB

Erlaubte libs/Module/vergleichbares: Draw3D, MiniB3D, NooNooPhysics


(da kommen noch mehr...)

Template
Fredko war so frei, mir ein Template zukommen zu lassen, welches auch ihr verwenden könnt (dürft ihr denn mal einen BCC starten). Das Template ist auf Übersichtlichkeit optimiert und sieht zudem auch noch super aus! Wink Verwendung ist kein muss, aber es hilft euch, keine wichtigen Punkte zu überspringen.

Template hat Folgendes geschrieben:
user posted image

BCC #ZAHL - THEMA

Aufgabe / Aufgabenstellung / Thema
Aufgabe / Aufgabenstellung / Thema
Programmiere ein... - was hier steht, sollte bekannt sein. Very Happy

Am besten Beispiele benutzen. Vielleicht verlinken, ob es nun Googlebilder oder Googlesuchdingsns oder irgendwas ist. Hauptsache Gedankenanstöße!



Abgabe / Laufzeit / Ende
Abgabe / Laufzeit / Ende
Abgabe ist in ~A Wochen am BC.Monat (Wochentag) um --.-- Uhr.
Abgabe kann z.B. 10, 20, 23:59 Uhr sein. Laufzeit von 2-4 Wochen geht eigentlich immer gut. Solange das Thema nicht zu ... komisch ist ;O



Beschränkungen
Beschränkungen
Nur Standardinstallationen? Mit Draw3D? Mit MiniB3D?
Codelimit X KiB (X.X Bytes)
Externe Dateien Y MiB (Y.Y.Y Bytes)

Je nach Laufzeit und Thema sind 14-24KiB immer moderat. Sonst kann man bei kleinen Themen kurze Laufzeit und z.B. nur 8-14KiB geben, und dazu auch nur max 1-2Mb Ressourcen.
Man könnte auch Ressourcen, komplett aufheben, allerdings dann z.B. "nur 15 bebilderte Objekttypen in einem Spiel" sagen.

Code: [AUSKLAPPEN]
[img]http://www.blitzforum.de/news/bcc.png[/img]

[size=18][b]BCC #[color=orange]ZAHL[/color] - [color=orange]THEMA[/color][/b][/size]

[b]Aufgabe[/b] / [b]Aufgabenstellung[/b] / [b]Thema[/b]
[u][b]Aufgabe[/b][/u] / [u][b]Aufgabenstellung[/b][/u] / [u][b]Thema[/b][/u]
[color=orange]Programmiere ein... - was hier steht, sollte bekannt sein. :D

Am  besten Beispiele benutzen. Vielleicht verlinken, ob es nun Googlebilder oder Googlesuchdingsns oder irgendwas ist. Hauptsache Gedankenanstöße![/color]


[b]Abgabe[/b] / [b]Laufzeit[/b] / [b]Ende[/b]
[u][b]Abgabe[/b][/u] / [u][b]Laufzeit[/b][/u] / [u][b]Ende[/b][/u]
[color=orange]Abgabe ist in [b]~A Wochen[/b] am BC.Monat (Wochentag) um [b]--.--[/b] Uhr.
Abgabe kann z.B. 10, 20, 23:59 Uhr sein. Laufzeit von 2-4 Wochen geht eigentlich immer gut. Solange das Thema nicht zu ... komisch ist ;O[/color]


[b]Beschränkungen[/b]
[u][b]Beschränkungen[/b][/u]
[color=orange]Nur Standardinstallationen? Mit Draw3D? Mit MiniB3D?
Codelimit [b]X KiB[/b] (X.X Bytes)
Externe Dateien [b]Y MiB[/b] (Y.Y.Y Bytes)

Je nach Laufzeit und Thema sind 14-24KiB immer moderat. Sonst kann man bei kleinen Themen kurze Laufzeit und z.B. nur 8-14KiB geben, und dazu auch nur max 1-2Mb Ressourcen.
Man könnte auch Ressourcen, komplett aufheben, allerdings dann z.B. "nur 15 bebilderte Objekttypen in einem Spiel" sagen.
[/color]


Ihr könnt diesen Code benutzen und einfach nach Lust und Laune ausfüllen...
Frei erfundenes Beispiel hat Folgendes geschrieben:
user posted image

BCC #53 - Kristalle

Aufgabe
Programmiert ein Spiel, welches irgendwie Kristalle benutzt. Ob die Kristalle dumm rummfliegen und Punkte wie bei Giana Sister bringen oder ähnlich Legend of Zelda man aus jedem und allem Rubine rausprügeln kann bleibt einem selbst überlassen. Hauptsache, Kristalle tauchen irgendwie häufig im Spiel auf. Auch etwas wie Bejeweled wäre regelgemäß.

Abgabe
Abgabe ist in ~2 Wochen am 07.August (Sonntag) um 20.00 Uhr.

Beschränkungen
Erlaubt sind Blitz3D, BlitzMax, BlitzPlus und Monkey in deren Standardinstallationen. Draw3D und MiniB3D sind erlaubt.
Das CodeLimit beträgt 20 KiB (20.480 Bytes),
das Limit für externe Dateien beträgt 4 MiB (4.194.304 Bytes).
  • Zuletzt bearbeitet von Holzchopf am Di, Aug 30, 2011 17:34, insgesamt einmal bearbeitet

Xeres

Moderator

BeitragMo, Aug 29, 2011 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
das Limit für externe Dateien beträgt 4 MiB (4.194.304 Bytes).
Diese Angabe halte ich für ein bisschen zu... variabel.
Für Code ist klar, das wir Datei bzw. Codegrößen benutzten: Andere Methoden sind einfach zu kompliziert zu überprüfen und ein zu halten. Aber Externe Dateien? Ich würde gerne mal

Bilder: 512px² (Ein Bild mit 512px Kantenlänge oder 4 Bilder mit 256px Kantenlänge oder usw.)
Sound: 10 Sekunden Effekte
Musik: 30 Sekunden (Loopen erlaubt)
3D-Objekte: 64 Vertices insgesamt.
txt/ini was-auch-immer: 512 Byte.

sehen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Ana

BeitragMo, Aug 29, 2011 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich fänd als Idee mal ganz nett, etwas das weniger mit gutem Spieldesign zu tun hat, als wirklich mit gutem programmieren. Ich find Drachenkurven sehr hübsch und sie geben bestimmt ein wenig Platz für künstlerische Gestaltungen. So kann man auf der einen Seite die Rechenzeit, auf der anderen Seite das Aussehen bewerten.

Irgendwie müsste dann halt vereinbart werden, dass das Programm (wahrheitsgemäß) die rechenzeit jeweils ausspuckt damit man es auf seinem Rechner vergleichen kann.

Für jene die nicht wissen was Drachenkurven sind oder ihren Golf gepimpt haben damit ohne zu wissen was es ist http://de.wikipedia.org/wiki/Drachenkurve
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

ZEVS

Betreff: Beschränkung externer Dateien.

BeitragDi, Aug 30, 2011 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde, externe Dateien sollte man nach Ladezeit beschränken. Also z.B. max. 5 sec Ladezeit bis zum Hauptmenü oder Intro (das man abbrechen können sollte, denn Intros nerven zum 100. mal und dienen nicht dem gewinnen von Ladezeit durch Threads) und max. 0.5sec Ladezeit je Level/Levelähnliche Konstruktion.
Dann kann jemand, der gerne viele Bilder benutzt, auf Musik verzichten und so seinem Wunsch gerecht werden, ohne dass es dem Spieler negativ auffällt.
Wegen evtl. langsamer Internetverbindungen könnte man dann auch noch die maximale Größe des zip-Archives auf 4MB begrenzen.

Dieses Model verspricht für den Programmierer maximale Freiheit (=maximaler Kreativitätseinsatz), ohne dass externe Dateien den Contest/Spielspaß maßgeblich beeinflussen.

Achso, mein genereller Themenvorschlag:
Gravitation. Egal ob als "nach unten" oder "zum Planeten", hauptsache, hier fliegt alles getreu nach den Gesetzen der Physik.
Begrenzungen:
Ladezeit: 5sec am Anfang, 0.5sec/Level
Maximale Größe des zip-Archives: 4MB.
Erlaubte libs/Module/vergleichbares:
Draw3D
MiniB3D
NooNooPhysics

ZEVS

Xeres

Moderator

BeitragDi, Aug 30, 2011 17:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie und auf welchem Rechner soll das denn gemessen werden? Die einzigen die auf sowas achten müssten, wären die BlitzBasic Leute, die ihre Bilder vorberechnen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Holzchopf

Meisterpacker

BeitragDi, Aug 30, 2011 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, das mit der Ladezeit kann ich so nicht übernehmen, aus dem von Xeres genannten Grund.
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

ZEVS

BeitragDi, Aug 30, 2011 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Lösung ist das erstellen eines Testprogrammes, dass die Systemleistung testet. Ein Vorschlag (auszubauen):
BlitzBasic: [AUSKLAPPEN]
SeedRnd MilliSecs()
Local startTime = MilliSecs(), time
Graphics 600, 600, 0, 2
Local image = CreateImage(600, 600)
SetBuffer ImageBuffer(image)
For x=0 To 599
For y=0 To 599
Color Rand(0, 255), Rand(0, 255), Rand(0, 255)
Plot x, y
Next
Next
SetBuffer BackBuffer()
time = MilliSecs()-startTime
Local timer = CreateTimer(30)
Color 255, 255, 255
Repeat
WaitTimer timer
Text 0, 0, time
Flip
Cls
Until KeyDown(1)
End
Mein Ergebnis mit B+: ~1500 ms.

Wenn das Programm steht, wird es als allgemeines Standardtestprogramm definiert und eine statistische Erhebung zu den Ausführungszeiten durchgeführt. In deren Folge wird die allgemeine Standardausführungszeit gesetzt, die als Vergleichswert verwendet wird. Die spezielle Standardausführungszeit, also die Zeit, die ein bestimmtes Programm auf einem Standardrechner benötigt, erhält man mittels (Standardwert / Eigener Wert) * Eigene Zeit.
Vom Testprogramm bräuchte man dann wohlmöglich mehrere Versionen, weil z.B. Algo-BCC weniger von der Leistung der Graphikkarte abhängen.
Wenn der Leiter des BCC will, kann er natürlich für seinen Contest ein anderes Programm festschreiben.

Wenn dieses Model akzeptiert wird, wird ein neuer Thread im Smalltalk eröffnet, der die Details des/der Programme(s) klärt.

Ich hoffe, ich habe mich verständlich ausgedrückt.
ZEVS
  • Zuletzt bearbeitet von ZEVS am Di, Aug 30, 2011 20:52, insgesamt einmal bearbeitet
 

feider

ehemals "Decelion"

BeitragDi, Aug 30, 2011 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zevs, beim Bilder laden wird auf die Festplatte zugegriffen. Festplattenzugriff testet dein Programm nicht. Wenn jemand eine sehr lahme Platte hat, sind laut ihm alle ausgeschieden. Außerdem sehe ich keinen Grund das Ganze so unnötig zu verkomplizieren das lenkt/schreckt nur ab. Schließlich sind hier keine Millionenbeträge zu gewinnen. (Oder doch? OO)

ZEVS

BeitragDi, Aug 30, 2011 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich meinen Code als Zitat:
Ein Vorschlag (auszubauen)
(nochmal fett gemacht) kennzeichne, kannst du dir sicher sein, dass ein Ausbau (inkl. Festplattenzugriff) geplant ist. Ich habe aber vor, das in einem eigenen Thread unter Beteiligung aller zu tun.
Zum Thema Abschrecken: Es wird am Ende darauf hinauslaufen, dass jeder, der die Beiträge macht oder kontrolliert, sich einmal ein zip-Archiv runterlädt, das das kompillierte Testprogramm enthält (nebst einigen Bildern für den Festplattenzugriff, wie du richtig bemerktest). Das führt er einmal aus und errechnet mit den Geschwindigkeiten der Ladezeiten die Standardausführungsdauer aus, die dann mit den Ladelimits verglichen wird. Das Ermitteln dieser Geschwindigkeiten ist eine Sache von zwei Zeilen BlitzBasic: [AUSKLAPPEN]
Local startTime = MilliSecs()
;LADEN
DebugLog/Print/Text/Notify/whatever MilliSecs()-startTime

das Runterladen von Programmen muss man im Kontext BCC nun mal akzeptieren.
Außerdem ermöglicht ein solches Programm nun endlich einen einfachen Vergleich von Geschwindigkeiten, wie sie vorher bei z.B. beim BlitzQuiz nicht möglich war. Nun kann man sagen "Mein Algo braucht standardmäßig 10ms, deiner 15, also bin ich besser", ohne dass das von Rechnergeschwindigkeit abhängig wäre.

Zum Thema Abschrecken: Der Programmierer muss die (Standard)ladegeschwindigkeit nicht mal ermitteln, wenn er deutlich unter dem Limit bleibt oder einen langsamen Rechner hat. Und langsame Rechner kann man im DebugMode schnell simulieren (natürlich nur, wenn man selbst keinen Flitzer hat). Und wer sich die Mühe macht, ein einigermaßen komplexes Spiel (das nicht stark unter den Ladezeiten bleibt) zu entwickeln und vorzustellen, dem kann man eine solche 2min-Aufgabe (mit Download) wohl zumuten. Man muss ja auch schauen, ob die Dateien klein genug sind.

Die Vorteile dieser Methode habe ich oben erläutert, stark verkomplizieren tut sie nichts, also kann man wohl nicht von "unnötig stark verkomplizieren" reden. Ich finde das sinnvoll.

ZEVS

BladeRunner

Moderator

BeitragDi, Aug 30, 2011 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde auch dass dein Vorschlag übers Ziel hinaus schiesst, ZEVS. Der Contest soll doch auch Spass machen. Wenn ich vorher die Contesttestsoftware 1.96 in der aktuellen Build für dampfgetriebene Kaffeeröster laden muss, finde ich dass ein wenig ... oversized.
Wer soviele medias reinhaut dass die Ladezeiten eklatant werden wird dafür schon bei der Bewertung durch die User ausreichend 'belohnt' - ich denke dass sollte reichen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

ZEVS

BeitragDi, Aug 30, 2011 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn User nach Ladezeiten bewerten, werden das immer die Ladezeiten ihrer Rechner sein, die man wohl als "subjektiv" betrachten sollte.
Wenn du mit deinem dampfgetriebenen Kaffeeröster unter dem Limit bleibst, wirst du wohl auch nach Standardisierung darunter bleiben. Dann brauchst du gar nichts zu tun.
Und außerdem: Wenn negative Bewertung langer Ladezeiten (=vieler Dateien) ausreicht, wieso gibt es dann den überhaupt noch Grenzen? Wenn die User einfach bei ihrer Bewertung mit einbeziehen, dass ein Snake-Klon keine 4MB externe Dateien braucht, kann man jegliche Grenzen doch gleich weglassen.

Natürlich macht ein Contest auch dann Spaß, wenn man mal eben seine Geschwindigkeit und die des Testprogrammes misst und in eine kleine Formel (die evtl. auch einfach im Testprogramm eingliedert ist) eingibt. Auch ein Online-Ermittler via JavaScript wäre denkbar, der freilich wohl nur annähern kann. Genauso kannst du auch näherungsweise mit deinem Kaffeeröster und Version 1.0 deine objektive Geschwindigkeit feststellen, was bestimmt oft reicht, wenn du nicht die Grenze allzu sehr kratzt. 5sec war wohl etwas übertrieben, mehr wäre denkbar, und dann muss man sich keine Sorgen über Externes machen, was ja sowieso nicht Sinn des BCC ist.

Außerdem kann man diese Methode auch für solche Dinge wie das BlitzQuiz oder Algo-Contests verwenden, wo der Spaßfaktor in geminderter Weise auftritt. Damit erübrigt sich auch Anas Problem der Rechenzeitbewertung. Bleibt die Frage, ob man einen solchen BCC demokratisch auswerten kann/will/muss.

Ich bin nach wie vor überzeugt, aber wenn ihr alle nicht wollt, dann eben nicht.
ZEVS

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group