Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

11

04.02.2013, 19:34

Das Stichwort "Asynchronous" ist gerade sehr in Mode und sollte in obiger Liste daher nicht fehlen.
erledigt ;)

[...], für C# (.NET) gibts was ähnliches.

Unter XNA kann man es scheinbar nicht verwenden, da man dort auch keine Wahl über das Zielframework hat.
Ich könnte mir aber vorstellen, dass die Alternativen zu XNA (ANX, MonoXNA, MonoGame usw.) sich da anders verhalten.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

12

04.02.2013, 19:42

Es wird hier nicht darum gehen wie im Hintergrund Daten geladen werden sondern viel mehr um eine Fakeladeanzeige wie David schon vermutet hatte.
Dein LadeBildschirm-Zustand muss halt wissen wie lange bis zum Bildwechsel gewartet werden soll. Wenn der Wechsel zum Spiel zum Beispiel einfach nach 5 Sekunden passiern soll, dann überlegst du dir was der Lade-Zustand machen kann um 5 Sekunden zu warten und dann danach den Zustandswechsel durchzuführen.
PS: Wolltest du dir nicht ein Buch kaufen und dich erst mal mit den Grundlagen beschäftigen? Du machst da immer noch mit dem State-Manager rum ohne irgendwas davon zu verstehen. Wenn du keine Lust auf Grundlagen hast dann nimm dir halt Unity oder GameMaker. Da muss man nicht viel vom Programmieren wissen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

13

04.02.2013, 23:58

Ich weiss noch nicht ob ich einen Fake-Ladebildschirm brauche. Ich möchte es nur mal versuchen damit ich weiss wie es geht falls ich wirklich mal einen brauchen sollte. Ich möchte den Fake-Ladebildschirm machen damit der Spieler nicht benachteiligt werden kann.
Beispiel: Bei einem Kampfspiel(Street Fighter ähnlich) kämpft man gegen einen computergesteuerten Gegner. Damit die Spielfigur nicht schon am Anfang(während das Spiel noch lädt) vom Gegner getroffen wird, wollte ich einen Ladebildschirm einbauen der dies verhindert, indem das Spiel erst richtig gestartet wird wenn alles geladen ist.

Eigentlich müsste man auch keinen Fake-Ladebildschirm anzeigen, es würde ja reichen wenn man folgenden Dialog einblendet: "Drücke A um das Spiel zu starten". Das Hauptspiel wäre also beim Start pausiert, und würde erst laufen nachdem man A gedrückt hat. In meinem Fall wäre diese Lösung sicher die einfachste und bessere. Wenn man aber wirklich eine sehr lange Ladepause zwischen dem Menü und dem Hauptspiel hat würde ich aber schon die Variante mit dem Fake-Ladebildschirm wählen.

Ich werde es jetzt mal ohne Fake-Ladebildschirm machen. Irgendwann werde ich aber versuchen solch einen Bildschirm einzubauen. Ich kenne mich mit der Entwicklung von Handy-Spielen nicht aus. Kann es sein dass man dort eher einen Fake-Ladebildschirm braucht weil die Geräte nicht so leistungsfähig wie ein PC/Xbox 360 sind?

PS: Bücher sind mir auf Dauer zu langweilig. Ich möchte zwischendurch auch manchmal an etwas anderem arbeiten. Zum Beispiel den State-Manager erweitern.

14

05.02.2013, 00:16

Einen Fake-Ladebildschirm brauchst du nur bei seeeheer leistungsfähigen Rechnern.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

15

05.02.2013, 02:28

Deine Entscheidung. Dann weiß zumindest ich wie ich in Zukunft mit deinen Fragen umgehen werde;)
Du zeigst in dem was du schreibst, dass du noch starke Defizite im Verständnis von Programmcode hast. Ein FakeLadebildschirm macht nicht viel mehr als die Ladesituation zu faken. Wenn du den einblendest und dann dein Spiel startest, dann dauert es trotzdem bis alle Daten geladen sind und so lange wird dein Programm eingefroren bleiben. Das sind aber Themen die eigentlich ne Nummer zu weit für dich sind. Was du wenn machen wolltest wäre ein richtiger Ladebildschirm. Dafür wurden hier ja schon genug Stichworte genannt. Weit kommen wirst du mit deiner Einstellung trotzdem nicht;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

16

05.02.2013, 11:27

Fakeladebildschirm macht nie Sinn, wie der Name schon sagt. Der sieht bloß "cool" aus. Weil wenn im Hintergrund irgendetwas wichtiges passieren würde, wäre es ja kein Fakebildschirm mehr, oder?

Ich muss sagen, dass mein Programm aus Faulheit einfach hängt, während es lädt. Da kann also nix im Hintergrund irgendwie angegriffen werden, weil einfach keine Spiellogik berechnet wird. Hübscher wäre natürlich eine Multithreading-Lösung, wo im Hintergrund geladen und im Fordergrund irgendetwas angezeigt und ein paar Nachrichten verarbeitet wird, aber da gibt es noch so viele Baustellen, die so viel wichtiger sind :D
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige