Seite 1 von 1

[Projekt] Ackmania

Verfasst: 23.07.2014, 19:03
von Firoball
Die AckCon '14 ist leider schon wieder vorbei - dafür haben wir aber ein neues "Lotti" Projekt fertig. Unsere selbstgestellte - nicht ganz ernstzunehmende - Aufgabe war es wie jedes Jahr, ein Spiel in Acknex 3D Gamestudio mit dem Chefentwickler eben jener Engine in der Hauptrolle während der AckCon zu erstellen.
Herausgekommen ist diesmal ein Funracer mit 3 verschiedenen Pisten.

"Ackmania" wurde von Freitag Abend bis Sonntag Mittag (18.-20- Juni) von 12 Leuten bei abartigen Temperaturen in Bielefeld bei Kanal 21 regelrecht zusammengeworfen.
Der Party Release hat noch ein paar Bugs, ein After Party Release mit Bugfixes und ein paar Beautifications ist aber schon in den Startlöchern.

Viel Spaß!

Bild
Bild
Bild
Bild
Bild
Bild

[youtube]ZW735RVThpM[/youtube]

Download Party Version: http://www.christian-behrenberg.de/file ... elease.zip
IndieDB (alternative Downloadmöglichkeit): http://www.indiedb.com/games/ackmania-o ... ors-cut-ed

Re: [Projekt] Ackmania

Verfasst: 23.07.2014, 20:07
von xq
Firo? Hast aber schon ne ganze Weile hier nichts mehr hinterlassen, oder?

Re: [Projekt] Ackmania

Verfasst: 23.07.2014, 20:12
von Firoball
Ich bin hier so alle zwei Jahre mal ;)

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 07:53
von Top-OR
Dafür macht das Gameplay-Video nen umso besseren Eindruck: Haaaaach, Super *ario Kart .. da kommen Erinnerungen hoch.

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 11:54
von Schrompf
Echt niedlich gemacht! Gute Leistung, speziell für die Zeit. Und ich finde, den Grafikstil könnte man durchaus zur Absicht erklären und ausbauen.

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 15:14
von marcgfx
sieht echt witzig aus. wenn ich höre wie lange ihr dafür gebraucht habt, deprimiert mich das schon ein wenig ;)... da stell ich mir die frage ob ich nicht einfach auf die falsche tech gesetzt habe.

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 16:23
von xq
Nein, du hast auf die richtige Tech gesetzt, egal was es ist :D :D

Der Punkt ist der: Jeder von uns kennt die Engine ziemlich gut. Und wir kennen die Dirty Hacks (undocumented und/oder explicit no-use) was dann so sachen sind wie:

Code: Alles auswählen

VIEW *view = view_create(...);
wait(0); // WTF?
view->flags |= SHOW;
wait(0) ist nicht definiertes Verhalten, die Funktion soll für entweder 0 sekunden oder 0 frames warten. Die Sache ist: OHNE wait(0) tut es nicht, mit wait(0) schon

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 16:50
von Schrompf
Naja... um ne Race Condition drumrumbauen zu müssen ist jetzt kein gutes Beispiel für Vertrautheit mit der jeweils bevorzugten Technologiebasis :-) Aber grundsätzlich stimmt es: wenn Du mit einer Technologie vertraut bist, kommst Du darin sehr viel schneller zu Ergebnissen als andere mit derselben Tech. Und umgedreht gilt das auch.

Außerdem waren es 14 Leute. Da stellt sich eher die Frage, ob man mit weniger Leuten nicht noch schneller gewesen wäre :-)

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 17:02
von kimmi
Sieht gut aus, saubere leistung. Lustig, auch im UI-Bereich haben wir Diskussionen zum Speedup mit den verschiendenen Technologien :).

Kimmi

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 17:27
von xq
@Schrompf:
Da Gamestudio 100% singlethreaded ist, denke ich nicht, dass es sich hier um eine Racecondition handelt ;)
wait(1) ist die Rückgabefunktion an den internen, kooperativen Scheduler und hat in diesem Context keinerlei Sinn. Wir wissen nicht, warum es ohne nicht funktioniert, nach bisher bekannten Szenarien sollte es auch komplett ohne funktionieren.

Re: [Projekt] Ackmania

Verfasst: 24.07.2014, 18:36
von Firoball
Das oben gezeigte wait(0) Beispiel ist falsch :D
Deswegen der Komplettheit halber...

Code: Alles auswählen

 show_camera()
{
	if (cam != NULL)
	{
		camera->flags &= ~SHOW;
		wait(0); //WTF!?
		cam->flags |= SHOW;
	}
}
War die betreffende Stelle.

Der Fix hierzu sieht so aus:

Code: Alles auswählen

 show_camera()
{
	if (cam != NULL)
	{
		cam->flags |= SHOW;
		camera->flags &= ~SHOW;
	}
}
Der Trick hierbei ist: Es muss IMMER mindestens ein View sichtbar sein, im obigen Beispiel ist das für einen Bruchteil nicht der Fall. Normalerweise sollte das egal sein, da das System ja wie erwähnt single threaded arbeitet. ABER: Es gibt Entity Events, welche Interrupt Charakter haben, hier könnte es dann knallen an genau dieser Stelle. Ich vermute also, die Engine macht da irgendeinen komischen "Fallback", denn bei Auftreten des Bugs war "irgendeine" View nach wie vor sichtbar, nur nicht die gewollte..
Wie auch immer nun besagtes wait(0); in diese Sache eingreift und das zu fixen scheint ist mir nicht erklärlich...


Ansonsten war der grafische Stil durchaus gewollt und in Anbetracht der verfügbaren Zeit ausgewählt worden.
Aber warum ich eigentlich poste...

After Party Release:
Bild

http://www.christian-behrenberg.de/file ... elease.zip
Ein paar kleine Anpassungen, die wir schlichtweg nicht mehr geschafft hatten - eine andere Welt.

:mrgreen:

Re: [Projekt] Ackmania

Verfasst: 25.07.2014, 16:01
von gdsWizard
Die Grafik ist echt niedlich. Super Arbeit !

Re: [Projekt] Ackmania

Verfasst: 02.08.2014, 10:20
von Firoball
Und weiter gehts mit dem Contest Release.
Spaßeshalber haben wir das ganze zum Acknex Sommer Contest eingereicht, damit jcl "sein" spiel auch wenigstens anspielen muss :mrgreen:

Aber das kann euch ja eigentlich ziemlich wurscht sein, denn es hat lediglich die Folge, dass wir nochmal was draufgelegt haben mit einem neuen Release. Neben einer weiteren Rennstrecke wurden noch kleine Details eingebaut.
Der Source Code ist diesmal enthalten.
Viel Spaß :)

Bild

http://www.christian-behrenberg.de/file ... elease.zip (ca. 142MB)

Re: [Projekt] Ackmania

Verfasst: 02.08.2014, 10:31
von Tiles
Coole Sache :)

Re: [Projekt] Ackmania

Verfasst: 05.08.2014, 21:41
von @zimmer
Wo und wann kriegt man dann das Ergebnis des Wetbewerbes mit?

Re: [Projekt] Ackmania

Verfasst: 05.08.2014, 21:54
von Firoball
http://www.opserver.de/ubb7/ubbthreads. ... =32&page=1

Da drin - normalerweise in den nächsten paar Wochen. Allerdings ist bislanng noch nichtmal ein Voting + gesammelte Downloadlinks eröffnet worden.
Das lässt evtl. drauf schließen, dass es nur sehr wenige Einsendungen gibt und sie grade überlegen, wie sie das jetzt angehen :mrgreen: . Die Engine ist ja mittlerweile ziemlich tot, das macht sich irgendwann auch bei den Contest Einsendungen bemerkbar.