Forum: PC-Programmierung XNA tron game


von Elite (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich bin hier neu in dem Forum und weiß nicht genau wie ich hier die 
Frage angehen soll... (also bitte seid nachsichtig)

Ich habe mittlerweile mit 3D Programmierung angefangen und das ist schon 
ein erheblicher Unterschied von nur mit 2D, Formen, Console etc.

Ich wollte ein Remake von dem Spiel Tron machen (/watch?v=OFK-wHoSubI 
falls ihr nicht wisst wie das in etwa aussehen soll)

Nun stehe ich vor zwei Problemen... Ich weiß leider überhaupt nicht wie 
ich das mit den spawn (Position des Spielstartes) und mit der "Mauer" 
machen soll.
Die Camera.cs hatte ich extra noch nicht so eingestellt damit ich den 
Fortschritt noch genauer überprüfen kann...

Es wäre echt nett wenn mir dabei jemand helfen würde; best möglich 
fertige kommentierte scripts !! :)

Danke im Vorraus

Grüße Elite

von D. I. (Gast)


Lesenswert?

Wie wärs wenn du mal in den Sourcecode einer Linuxdistribution schaust 
wie dort das Game umgesetzt ist, da solltest du Anhaltspunkte finden.

von Elite (Gast)


Lesenswert?

Nein...
Habe schon überall nachgeguckt. Diejenigen die dieses schon entwickelt 
haben wollen ihre scripts nicht weitergeben und Tutorials lassen sich 
auch nicht dazu finden.
Deshalb schreibt bitte das passende Script hier, oder falls Sie bzw. Ihr 
etwas dazu findet mir bitte einen Link hinterlassen

von Borislav B. (boris_b)


Lesenswert?

Elite schrieb:
> Deshalb schreibt bitte das passende Script hier, oder falls Sie bzw. Ihr
> etwas dazu findet mir bitte einen Link hinterlassen

ERST überweist du mir das Geld, DANN schreibe ich dir dein Spiel ;-)

von Dennis (Gast)


Lesenswert?

Boris B. schrieb:
> ERST überweist du mir das Geld, DANN schreibe ich dir dein Spiel ;-)

LOL, ich glaube dass der Threadstarter mit dem vielsagenden Namen 
"Elite" das nach den guten alten Internetregeln haben möchte: alles für 
lau, aber schön mit anfängertauglichen Kommentaren und 
24h-Telefonsupport :-)

von Elite (Gast)


Lesenswert?

Ich hoffe ihr habt das nicht falsch verstanden... Ich will lediglich nur 
lernen wie ich das machen kann und nach meinen Vorstellungen verändern 
kann.
Das Spiel soll auch kostenlos ohne Werbung erhältlich sein (falls es 
jemand will) und hoffe daher auch auf kostenlose Hilfe und nicht auf 
einige teure Fortbildungen o.ä. ...

Nur so am Rand Dennis ... der Name kommt daher zustande, weil ich mich 
so in Sachen rein hänge bzw. lerne, sodass ich nachher auf dem 
jeweiligen Gebiet der beste bin!

von F. F. (foldi)


Lesenswert?

Elite schrieb:

> Nur so am Rand Dennis ... der Name kommt daher zustande, weil ich mich
> so in Sachen rein hänge bzw. lerne, sodass ich nachher auf dem
> jeweiligen Gebiet der beste bin!


Da ich ihn persönlich kenne, um seine Intelligenz weiß, kann ich sagen, 
dass es auch tatsächlich immer bisher so war. Der Beste in seinem Umfeld 
natürlich.

von Borislav B. (boris_b)


Lesenswert?

Elite schrieb:
> Nur so am Rand Dennis ... der Name kommt daher zustande, weil ich mich
> so in Sachen rein hänge bzw. lerne, sodass ich nachher auf dem
> jeweiligen Gebiet der beste bin!

F. Fo schrieb:
> Da ich ihn persönlich kenne, um seine Intelligenz weiß, kann ich sagen,
> dass es auch tatsächlich immer bisher so war. Der Beste in seinem Umfeld
> natürlich.

Wenn dieser Thread als Scherz gemeint sein soll, dann gute Arbeit. Hab 
mich gut amüsiert (Elite == F. Fo?) :-D

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Elite schrieb:
> Nun stehe ich vor zwei Problemen

Ach nur zwei? Dann ist das ja einfach ...

Mal im Ernst, was ist dein Problem, wenn du eine Algorithmische Frage 
hast, dann stell diese (ich möchte XYZ Berechnen unter den 
Randbedingungen A, B und C). Am besten dann an einem Minimalbeispiel 
und nicht irgend ein rar was ohne Aufwand auf vielen Systemen nicht 
betrachtet werden kann (was spricht gegen Zip oder den relevanten Code 
direkt als c/cs/cpp/...).

Falls du aber nur allgemein keine Ahnung hast wie du es machen sollst, 
solltest du weiter dich

Elite schrieb:
> in Sachen rein hänge bzw. lerne

und dann konkrete Fragen stellen.

Und noch ein Tipp: Meist ist es eher schlecht zu sagen: Ich will 
DIESES Projekt JETZT mit einer Programmiersprache/Umgebung umsetzen 
mit der ich mich nicht auskenne, ein paar Beispiel umzusetzen die kleine 
Teilaspekte des späteren Ziels repräsentieren ist da zielführender 
(Proof of Concept) und lässt sich auch leichter diskutieren.

von Dennis (Gast)


Lesenswert?

Elite schrieb:
> Nur so am Rand Dennis ... der Name kommt daher zustande, weil ich mich
> so in Sachen rein hänge bzw. lerne, sodass ich nachher auf dem
> jeweiligen Gebiet der beste bin!

Nur so am Rande, hochgeschätzter "Elite": wenn du da daran gaaanz-ganz 
fest glaubst, dann wird es bestimmt auch irgendwann wahr. Zumindest für 
dich. Meine Wenigkeit programmiert seit ca. 20 Jahren und solche Typen 
wie dich sehe ich dauernd. Meist frisch von der Technikerschule/FH/Uni, 
und dem unerschütterlichen Glauben daran, das sie bereits zur "Elite" 
der Programmierer gehören. Dann fangen sie mit einem Super-Miniprojekt 
im Rahmen einer Diplomarbeit (oder mit noch niedrigeren Anforderungen: 
Bachelorarbeit) an.  Etwa 95 % verzweifeln daran und geben - wenn 
überhaupt - etwas am Ende ab, was ich sturzbesoffen innerhalb weniger 
Stunden um Klassen besser machen könnte. Trotzdem nehme ich solche 
"Arbeiten" an und benote sie so, wie es den Fähigkeiten eines 
Programmieranfängers entsprechend ist. Mit diesem Hintergrund verstehst 
du sicher, wie lächerlich es auf erfahrene Programmierer wirkt, wenn ein 
Anfänger (wie du) mit einem solchen Rumgetöse (wie du) auf sich 
aufmerksam macht...

Deshalb ein kleiner Tipp: lerne ALLEINE (!!!) gescheit programmieren, 
entwickele deine Programmierfähigkeiten ein paar Jahre durch eigenen 
Code bzw. durch die Analyse von gut geschriebenen Fremdcode. Danach 
darfst du dich zumindest mal "Programmierer" nennen (aber noch lange 
nicht "Elite").

von Karl H. (kbuchegg)


Lesenswert?

Elite schrieb:
> Nein...
> Habe schon überall nachgeguckt. Diejenigen die dieses schon entwickelt
> haben wollen ihre scripts nicht weitergeben und Tutorials lassen sich
> auch nicht dazu finden.
> Deshalb schreibt bitte das passende Script hier, oder falls Sie bzw. Ihr
> etwas dazu findet mir bitte einen Link hinterlassen


Und PS:
Es heißt 'Programm' und nicht 'Script'.
Den Unterschied sollte eine 'Elite' schon kennen.

Moment mal. Dieses XNA ist Microsofts Spiele-Framework.
http://msdn.microsoft.com/de-de/library/bb203894(v=xnagamestudio.40).aspx

Zitat aus:
http://msdn.microsoft.com/de-de/library/bb203893(v=xnagamestudio.40).aspx
1
Ein Teil der Hauptarbeit wurde Ihnen bereits abgenommen. Wenn Sie das
2
Spiel jetzt erstellen und ausführen, wird die Bildschirmgröße vom
3
GraphicsDeviceManager-Element eingerichtet, und ein leerer Bildschirm
4
wird gerendert. Das Spiel wird ausgeführt und eigenständig aktualisiert.
5
Bei Bedarf können Sie eigenen Code einfügen, um das Spiel interessanter
6
zu gestalten.
7
Ein Großteil des benötigten Codes zum Starten und Ausführen des Spiels
8
wurde bereits für Sie geschrieben.

Humpf.
Sorry. Aber von 'Elite' ist das meilenweit entfernt. Ich dachte 
urspünglich du hättest Probleme mit der ganzen Matrix-Algebra und zb 
Open-GL und dessen Renderengine. Aber das hier .... ne, da musst du 
schon selber durch, wenn dir ohnehin die schwierigen Sachen praktisch 
alle schon abgenommen wurden.

von Testfall (Gast)


Lesenswert?

Mensch, ihr versteht das alle falsch. Eliten sind solche Viecher in 
einem Konsolenspiel (Halo), die reihenweise dem Protagonisten zum Opfer 
fallen.

@"Elite":
Youtube: "XNA Spiel programmieren" ... Enter. Da gibt's "Tutorials" auf 
deinem Stand, die dich weiter bringen können. Ich persönlich krieg' zwar 
nen Rappel, wenn ich nen Video-"Tutorial" sehe, aber manchem hilft's.

von Elite (Gast)


Lesenswert?

Erstmal ein DANKESCHÖN an Testfall, Läubi und Herrn Buchegger, auch wenn 
mir bei den beidem letzteren die angriffe auf einen "Nicknamen" nicht 
gefallen haben...

@ "Testfall":
Das war ja auch der Grund warum ich in einem Forum auf eine einigermaßen 
schnelle und mal anders gesagt freundliche Antwort erhofft habe ;).
Zudem müsste ich mir mehr als nötig an Videomaterial angucken (mehrere 
ca. ~10 *20 min Videos sind meiner Sicht nach viel)  um herauszufinden 
wie ich meine Probleme lösen kann.
Ich spiele keine Ego-Shooter dennoch danke der Assoziations versuche 
bezüglich meines Namens ;D

@ Karl Heinz Buchegger:
Ja ich hoffe Sie haben mitbekommen das es ein 3D Spiel werden soll...
Aber dennoch verstehe ich auf was sie hinauswollen, denn ein Kollege hat 
mir auch schon empfohlen einfach es erstmal in 2D zu machen und dann 
"upgraden" in 3D, wobei ich auch nicht wirklich weiß wie ich es von 2D 
zu 3D gescheit umsetzten kann.

@ "Läubi":
Ja falls ich das nächste mal einen Thread eröffnen will, werde ich diese 
Sachen beachten.

@ Dennis:
Ich bin schon ein wenig zu alt dafür...
Immer diese "Leute" die sich im "schutze" des Internets verstecken. 
Sieht man an dem Gast acc ja auch schon (ich erfinde keine Geschichten 
um mich in einer besseren Position vor Leuten zu rücken, die einen 
sowieso nicht kennen). Wenn es doch für Sie so einfach ist und auch 
soooo schnell geht... MEIN GOTT, mach es doch einfach, ist doch nur nett 
dann anderen zu helfen, aber entschuldige ich vergaß : Sie können es 
höchstwahrscheinlich nicht.
Dennoch wünsche ich ihrer Karriere als Author noch viel erfolg mit 
solchen Geschichten!


Konkrete Lösungsvorschläge werden meinerseits immer noch gerne 
angenommen und bitte unterlast Angriffe auf meinen Nicknamen, welche nur 
unnötig den Thread zu "spamen".

von Karl H. (kbuchegg)


Lesenswert?

Elite schrieb:

> Zudem müsste ich mir mehr als nötig an Videomaterial angucken (mehrere
> ca. ~10 *20 min Videos sind meiner Sicht nach viel)

Wow.
Als ich gelernt habe, habe ich fast 3 Wochen lang Sortier-Algorithmen 
studiert. Täglich 1 bis 2 Stunden. Bis ich sie im Schlaf beherrscht 
habe.
Wenn dir 10*20 Minuten zuviel sind, dann lass es. Denn das ist noch 
nicht mal die Spitze des Eisberges.

von Elite (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:

>Wenn dir 10*20 Minuten zuviel sind, dann lass es. Denn das ist noch
>nicht mal die Spitze des Eisberges.

Zur Lösung eines "kleines Problems", da es ja nur die spitze des 
Eisbergs ist, da sind ca. 10*20 Minuten je Tutorial schon viel, daher 
ich noch nicht einmal weiß ob meine Lösung in diesem Tutorial direkt 
oder indirekt behandelt wird.

Aber ist ja alles nur eine Sache der Sicht.
Könnten Sie mir kurz erklären wie es geht bzw. mir ein Tutorial link 
geben wo es behandelt wird geben? Oder beherrschen die Sprache C# 
überhaupt... (Soll nicht falsch verstanden werden; will jediglich nur 
voran kommen).
Sie könnten es mir auch in C++ geben (falls nötig) und ich könnte es 
dann umschrieben, da ich auch C++ ,zwar nicht fließend, aber dennoch 
beherrsche.

von Karl H. (kbuchegg)


Lesenswert?

Ich beherrsche das XNA Framework nicht. Wenn ich ein Spiel wie Tron 
machen wollte, dann müsste ich entweder
a) mich in dieses Framework einlesen
b) die Dinge von der Pieke auf selber machen
wobei ich persönlich wahrscheinlich Letzterem den Vorzug geben würde, 
ist doch 3D-Computer Graphik (allerdings in Form von CAD) seit 20 Jahren 
mein täglich Brot.

> Oder beherrschen die Sprache C# überhaupt...
Beherrschen ist zuviel gesagt nach einem 1-jährigen Industrieprojekt. 
Sagen wir so, ich hab ein wenig Ahnung davon. So wie von noch 5 bis 8 
anderen Programmiersprachen.

> Zur Lösung eines "kleines Problems", da es ja nur die spitze
> des Eisbergs ist, da sind ca. 10*20 Minuten je Tutorial schon viel

Du hast das missverstanden: die 10*20 Minuten sind die Spitze des 
Eisbergs, in der du gerade mal das Allernotwendigste lernen wirst. Der 
tatsächlich notwendige Aufwand und das was es alles zu lernen gibt, bis 
man ein Spiel sauber und ordentlich im Kasten hat, bewegt sich um 
Größenordnungen darüber. Mit 200 Minuten, also etwas mehr als 3 Stunden 
hast du da noch gar nichts erreicht.

Du unterschätzt das, was es zu lernen gilt!

von Elite (Gast)


Lesenswert?

@ Karl Heinz Buchegger:
Da die diese Framework nicht kennst, weißt du anscheinend auch nicht das 
man mit XNA am schnellsten Spiele Programmieren kann, deshalb ist es 
auch bei den meisten so in verruf geraten...
In XNA ist es eigentlich recht simpel das grobe zu machen (auch wenn ich 
noch ein Anfänger bin (dort)).
Sagen wir ca. 3 * schneller als mit C++ weshalb ich mich auch nicht 
weiter auf die Sprache fixiert habe.
Das eigentliche, was wirklich viel Zeit in Anspruch nimmt sind die 
Modelle die man z.B. per Cinema4D oder Blender erstellen kann; 
wesentlich schneller zu bewältigen als mit Arrays alles zu zeichen.
Ich habe die Bike.fbx erstellt die du im Download findest in ~10 - 13 h 
erstellt. während ich das Programm selbst nur knapp 3 h investiert habe.

Aufgrund dessen wollte ich auch ... wird alles schon weiter oben in 
Thread gennant...

von Karl H. (kbuchegg)


Lesenswert?

Schön für dich.
Nichts desto trotz muss man sich auch in dieses Framework einarbeiten. 
Wofür mir eine Investition von minimal knapp 3 Stunden Video schauen 
(die du Nota Bene schon längst hinter dich hättest bringen können) 
keineswegs als hoher Einsatz erscheint.

von Dr. Sommer (Gast)


Lesenswert?

Elite schrieb:
> Sagen wir ca. 3 * schneller als mit C++ weshalb ich mich auch nicht
> weiter auf die Sprache fixiert habe.
Dafür sehen dann auch alle damit gemachten Spiele gleich aus bzw. 
verhalten sich gleich, während man bei Eigenentwicklungen schon eher 
innovativ sein kann. Außerdem ist XNA ein Game-Framework und C++ eine 
Programmiersprache; bindet man ein Game-Framework in C++ ein sehen die 
Verhältnisse schon anders aus. Und wenn du behauptest dass man in C++ 
dreimal so langsam ist, dann behaupte ich dass das C++ Spiel danach 
dreimal so schnell läuft...

Und in der Tat sind 3h lächerlich. Wenn man bedenkt dass Informatik ein 
ganzes Studium ist und man dort Jahre mit lernen verbringt... Dass einem 
das ganze schon auf einem goldenen Präsentierteller aka. vorgekautem 
Video-Tutorial gereicht wird ist ja schon obszöner Luxus, viel spaßiger 
ist es doch wenn es überhaupt keine Dokumentation gibt und man alles 
herausfinden muss (da geht es dann schon eher in Richtung "Elite"...) - 
da darfst du dann anfangen zu jammern... Programmieren ist komplex und 
erfordert viel, viel Zeit zum lernen, Versuchen und Versagen und nochmal 
Versuchen... Wenn dich da schon ein paar Videotutorials schrecken bist 
du da falsch...

von Elite (Gast)


Lesenswert?

@ Dr. Sommer:
Dessen bin ich mir alles bewusst ... -.-
Das mit: "Sagen wir ca. 3 * schneller als mit C++" war auf das Schreiben 
des Spiels bezogen!
Zudem habe ich auch noch andere Projekte am laufen, weshalb ich mich 
noch nicht voll darauf fixiert habe und dachte neben bei halt alles, wie 
Sie so schön gesagt haben: "auf einem goldenen Präsentierteller" 
geliefert wird (Was auf Ihrer ausdrucks weiße undankbar und arrogant 
ankommt, was ich überhaupt nicht will, falls das jmd. falsch verstehen 
sollte!!!).

Naja mittlerweile musste ich trauriger weiße doch noch feststellen das 
dieses Forum hier eindeutig das falsche ist und mir nur 2 Personen in 
diesen Thread auf einen höheren niveau bewegen bzw. sich höfflich 
verhalten (Karl Heinz Buchegger, Testfall). Eigentlich schon traurig...

Karl Heinz Buchegger schrieb:
>Wofür mir eine Investition von minimal knapp 3 Stunden Video schauen
>(die du Nota Bene schon längst hinter dich hättest bringen können)
>keineswegs als hoher Einsatz erscheint.

Dasselbe hatte ich mir auch schon gedacht beim posten.

@ D. I.:
Falls Sie diesen Thread noch verfolgen, könnten Sie mir einen Link oder 
etwas des gleichen noch hinterlassen. Ich hatte die Tage mal immer 
wieder danach gesucht aber leider nichts gefunden. :/

Dennoch sind Lösungsvorschläge oder Hilfen immer noch gerne herzlich 
Willkommen.

von mar IO (Gast)


Lesenswert?

Elite schrieb:
> Ich weiß leider überhaupt nicht wie
> ich das mit den spawn (Position des Spielstartes) und mit der "Mauer"
> machen soll.

Was meinst Du mit "spawn"?

Wo liegt den das Problem mit der Mauer. Ein bzw. mehrere Vierecke, 
gefüllt mit einer Farbe...

Wie ich im Video gesehen habe, hat die Mauer einen Farbverlauf. 
Eigentlich bleibt die Farbe gleich, nur der Alpha-Wert ändert sich.

von Elite (Gast)


Lesenswert?

@ mar IO:
ich weiß das ich mehrere Modele (Vierecke) hinter meinen Hauptmodel (der 
Fahrer) in einer Liste speichern muss (denke ich mal), aber wie genau 
ich das jetzt schreiben muss, sodass es so wie in dem Video funktioniert 
weiß ich nicht, da alle meine Versionen leider Fehlgeschlagen sind, 
entweder entstand ein performance Problem (benutze einen Intel i7-3770k 
CPU und eine 2GB GTX 760 Graka) oder es direkt nicht funktionierte.

Das Problem mit dem "spawn" ist das ich nicht mehr weiß wie ich die x,y 
Koordinaten auslesen kann bzw. den Startpunkt des Hauptmodels (der 
Fahrer) auf bestimmten Koordinaten festlegen kann.

Wäre echt nett und hilfreich, wenn Sie mir weiterhelfen könnten! :-)

von xxx (Gast)


Lesenswert?

Lern erst mal programmieren! Und nein, ein 3d Spiel ist dafür nicht das 
passende Projekt. Besorgt dir ein Buch zur Programmiersprache deiner 
Wahl. Am besten eins mit vielen Übungsaufgaben. Wenn du da durch bist 
kannst du mal was einfaches wie eine einfache Adressdatenbank mit 
Eingabe, Suche, Editieren etc. Entwickeln. Dann bekommst du mal ein 
grundlegendes Verständnis dafür wie man ein Problem algorithmisch löst 
und dem Rechner kommuniziert wie er diese Lösung abarbeiten soll. Da 
liegt nämlich auch dein Problem. Welches Framework da letztlich zum 
Einsatz kommt ist völlig irrelevant wenn du wirklich programmieren 
kannst.

von Robert L. (lrlr)


Lesenswert?

das "ursprüngliche" TRON ist ja mal (grundsätzlich) ein 2D Spiel !
auch wenn man es 3D darstellt
dazu noch mit einem fixen "Raster"

(das mit den "Mauern" und "Fahrzeugen" ist also mal pipifatz..)





>sodass ich nachher auf dem
>jeweiligen Gebiet der beste bin!

LOL, selten so gelacht..

von mar IO (Gast)


Lesenswert?

Jetzt habe ich gerade gelesen, dass XNA nicht mehr weiter entwickelt 
wird... Steht jedenfalls bei Wikipedia.

Ein sich veränderndes Viereck zu zeichnen, sollte kein Problem sein. 
Seine Figur zu setzten und zu bewegen auch nicht. Manchmal hilft auch 
ein zweiter Start und noch mal von vorne zu beginnen. Sich einfache 
Aufgaben stellen und am Ende alles vereinen. Vllt. auch gleich mit was 
anderem beginnen. Wenn Du auf Tut-Videos stehst, dann bis mit 
Blender-Game-Engine gut beraten...

von Stefan Noack (Gast)


Lesenswert?

Elite schrieb:
> Deshalb schreibt bitte das passende Script hier, oder falls Sie bzw. Ihr
> etwas dazu findet mir bitte einen Link hinterlassen

http://sourceforge.net/projects/gltron/files/gltron-source/0.70/gltron-0.70-source.tar.gz/download

von Gamedesigner (Gast)


Lesenswert?

Elite schrieb:
> ich bin hier neu in dem Forum und weiß nicht genau wie ich hier die
> Frage angehen soll

Wenn du dich mit XNA beschäftigst solltest du in dafür vorgesehene Forum 
gehen. Dafür brauchst du aber gute Englisch Kenntnisse.

Empfehlen würde ich dir aber eher Unity, wenn du Sspiele entwickeln 
willst.
Dort gibt es auch richtige gute Tutorials. (alle auf englisch)

von Dennis (Gast)


Lesenswert?

Englisch scheint ja nicht unbedingt die Stärke von "Elite" zu sein, 
sonst würde er ja nicht bei uns gemeinen E-Technikern nach Rat fragen...


Aber eines muss man dem Kerlchen lassen: unterhalten kann er :-)

von Elite (Gast)


Lesenswert?

Danke vorab erstmal an Stefan Noack, Gamedesigner und mar IO !!! :)

xxx schrieb:
>Lern erst mal programmieren! Und nein, ein 3d Spiel ist dafür nicht das
>passende Projekt.
usw.

Habe ich schon alles hinter mir. Bitte meint nicht alles ist 
selbstverständlich, wenn man es ja schon so gut kann, denn wenn man eine 
"Denkblockade" hat und alle Lösungswege nicht funktionieren wollen ist 
es halt eben nicht alles "pipifatz"(,Robert L.).

@ Robert L.:
Ja das ist auf 2D Basis ja noch einfach... Man muss immerhin dort nur 
ein 2Dim-Array erstellen und mit Variablen belegen, danach einfach die 
Variablen auf true/flase schalten wenn die Fläche belegt ist, falls du 
es nachvollziehen kannst. Und das Problem mit dem "spawn" wäre damit 
auch gelöst.



@ "mar IO":
Ja danke, aber ich arbeite lieber mit Cinema4D, da ich damit schon mehr 
Erfahrung habe und auch Umfangreicher ist in manchen Bereichen.

@ "Gamedesigner":
Mir wurde in meinem privaten Umfeld XNA empfohlen, da es einfacher ist 
für den einstieg in 3D gamedev...
Und mit den vorgesehenen Foren (habe ich schon in 2 versucht), die 
leider alle in Englisch sind, kommen leider viel zu oft solche Leute wie 
dieser Dennis oder xxx, sodass der Thread dann geschlossen wird. Zudem 
ist mein Englisch, zwar gut (spreche fließend; verstehe alles), aber es 
wird auf dauer anstregender, als wenn ich alles auf Deutsch lesen kann.
(Bitte niemand jetzt mit Google-Übersetzer ankommen!!!)

von Borislav B. (boris_b)


Lesenswert?

Und auch jetzt habe ich noch immer nicht verstanden, was denn nun das 
konkrete Problem in diesem Thread ist.

Gehts um das generelle Konzept?
Das XNA Framework?
Oder die programmiersprache?

WO (genau) hast du (genau) WELCHES Problem?

Ich denke mal so kann dir keiner helfen...

von Elite (Gast)


Lesenswert?

@ Boris B.:
Guck dir bitte nur kurz einen Teil dieses Videos an. 
http://www.youtube.com/watch?v=JuVROdt_8fM
Mein Problem: Die Mauer und den Startpunkt festlegen

von Karl H. (kbuchegg)


Lesenswert?

> Habe ich schon alles hinter mir. Bitte meint nicht alles ist
> selbstverständlich, wenn man es ja schon so gut kann, denn wenn
> man eine "Denkblockade" hat und alle Lösungswege nicht funktionieren
> wollen ist es halt eben nicht alles "pipifatz"(,Robert L.).

Wow.
2 Zufallszahlen erzeugen, die am Rand eines Spielfeldes liegen 
überfordert deine "Denkblockade"?

Und nein. Die Mauern sind nicht vorgegeben. Die entstehen durch die 
Bewegung. Da muss man sich dann halt eine Datenstruktur überlegen, in 
der man darüber Buch führt, wo eigentlich der Spieler gefahren ist.

Sorry. Aber das nennt man Programmentwicklung. So ist das nun mal. Und 
das nimmt dir auch kein Framework ab.
(Wobei: Für einen einfachen Tron braucht man gar kein Framework, denn 
wie bereits gesagt ist das alles im Grunde ein 2D-Spiel und das kann man 
als Anfänger, der du bist, genausogut mit ASCII Grafik in einer 
DOS-Konsole machen. Ach was rede ich. Das WURDE vor 30 Jahren mit ASCII 
Grafik in einer DOS-Konsole gemacht. Diese Spiele sind doch im 
wesentlichen eh alle gleich aufgebaut. Ob das jetzt PAC-Man ist, Snipes, 
wie hieß noch mal das Spiel bei dem man mit einer Spielfigur Bereiche 
abteilen musste ohne dass einem die Gegenerfigur auf der freien Fläche 
erwischt, Snake, Life, Waterworld, Space Invaders, ..., oder eben auch 
Tron. Die Ausführung ist jeweils ein bischen anders, aber im Grunde 
funktionieren die im Inneren alle gleich.

Wenn ich schon so einen Schwachsinn höre wie gut du nicht bist. Freund 
du leidest an erheblicher Selbstüberschätzung. Mir persönlich ist das ja 
egal. Allerdings machst du dir selbst mit einer derartigen Einstellung 
das Leben schwer. Denn dem Rechner ist das auch egal. Der einzige 
Unterschied zwischen mir und dem Rechner ist lediglich: Ich bin 
irgendwann einmal raus. Aber der Rechner arbeitet stur das ab, was du 
programmiert hast. Egal wie gut du bist. Und wenn das nicht das ist, was 
du eigentlich programmieren willst, dann bist du eben nicht gut genug. 
Dem Rechner kannst du nichts vormachen - der scheidet die Spreu vom 
Weizen.

Ignorier mal den ganzen grafischen Schnickschnack und sieh zu, dass du 
das hier
http://www.gamesbasis.com/tron.html
hinkriegst.
Eine Spielfigur fährt laufend dahin, per Cursortaste wird die Richtung 
gewechselt. Der Spieler zieht einen Schwanz hinten nach und darf sich 
selbst nicht in den Schwanz fahren.

von Meister E. (edson)


Lesenswert?

Elite schrieb:
> Guck dir bitte nur kurz einen Teil dieses Videos an.
> http://www.youtube.com/watch?v=JuVROdt_8fM
> Mein Problem: Die Mauer und den Startpunkt festlegen

Ich hab es mir angeschaut und weis immer noch nicht womit du Probleme 
hast. Die Mauer ist doch Teil des Terrain-Modells, oder nicht? Was soll 
daran überhaupt "festgelegt" werden?
Startpunkt ist eine Koordinate und jeder Spieler bzw. jede 
Spieler-Instanz sollte eine Eigenschaft "Position" o.ä. besitzen. Der 
Wert, den diese Eigenschaft am Anfang (bei Spiel-/Matchbeginn) aufweist, 
ist der Startpunkt. Ob, wo und wie sich dieser wie du sagst "festlegen" 
lässt, hängt aber von der konkreten Implementierung ab.

von Elite (Gast)


Lesenswert?

@  Karl Heinz Buchegger:
"Wichtige Regeln - erst lesen, dann posten!"... Sollte einen Moderator 
eigentlich schon bekannt sein (wenigstens wenn er einen stark kritisiert 
sollte man alles von der betreffenden Person lesen), denn wie ich vorhin 
schon geschrieben habe ist das einfach.
Elite schrieb:
>Ja das ist auf 2D Basis ja noch einfach... Man muss immerhin dort nur
>ein 2Dim-Array erstellen und mit Variablen belegen, danach einfach die
>Variablen auf true/flase schalten wenn die Fläche belegt ist, falls du
>es nachvollziehen kannst. Und das Problem mit dem "spawn" wäre damit
>auch gelöst.
Das ist es doch was Sie meinten... ,oder nicht?!
Und dieser quatsch den Sie im oberen bereich des post vom 02.07.2013 
14:34 geschrieben haben, hätte ich bei Ihnen gedacht, dass Sie es 
"unterdrücken" können.
Wie gesagt solche kleinen 2D Spiele hab ich hinter mir und interessieren 
mich nicht mehr!
Also auf die Gefahr das ich mich wiederhole:
"Wichtige Regeln - erst lesen, dann posten!"
Alles weitere was ich ihnen dazu antworten könnte ist schon oben 
genannt.

von Elite (Gast)


Lesenswert?

@ Meister Eder:
Ja, ich glaube es gab ein Missverständnis bezüglich der Mauer des 
Terrain's und der, die der Fahrer erzeugt. :-D
Ich meine natürlich die, die der Fahrer erzeugt.
Das letztere weiß ich zwar auch, dennoch muss ich doch dafür wissen wie 
ich die Koordinaten auslesen kann, oder gibt es dort noch eine andere 
Möglichkeit?

von Karl H. (kbuchegg)


Lesenswert?

Elite schrieb:

> Das letztere weiß ich zwar auch, dennoch muss ich doch dafür wissen wie
> ich die Koordinaten auslesen kann,

falscher Ansatz.
Wenn du dir nicht in einer Datenstruktur mitspeicherst, wo der Spieler 
entlang gefahren ist, dann macht es keiner.
D.h. du 'liest das nicht aus', sondern in erster Linie speicherst du dir 
diese Information erst mal irgendwo ab.
Und nein. Ein 2D-Feld, in dem man protokolliert wo der Spieler war, ist 
zwar super um den Kollisionstest schnell durchführen zu können, aber zum 
Erzeugen des 3D-Mauerzugs ist es nicht wirklich gut geeignet.
Allerdings ist es ja auch kein Problem, aus der Spielerbewegung eine 
Abfolge von Koordinaten zu bekommen, die die Bodenkontur der Mauer 
beschreibt. Denn man braucht dazu ja nur die Eckpunkte in diesem 
Linienzug. Und die wiederrum sind einfach zu bestimmen: die sind genau 
dort, wo der Benutzer die Richtung seiner Spielfigur ändert, wovon man 
sich durch Spielen und Beobachten der 2D-Version leicht überzeugen kann.
Zwischen den Eckpunkten ist eine geradlinige Wand, und sei die von einer 
Seite des Spielfelds zur anderen Seite. Gerade ist gerade, beschrieben 
durch den Anfangspunkt und den Endpunkt in 2D-Koordinaten am Boden. Und 
der Endpunkt der einen Wand ist der Anfangspunkt der nächsten Wand.
Alles was man daher braucht ist eine Liste von 2D Koordinaten, zu der an 
jedem Richtungswechsel eine Koordinate dazukommt. Die letzte Mauer geht 
dann vom letzten Endpunkt zur aktuellen Spielerkoordinate. Macht der 
einen Richtungswechsel, so wird die Spielerkoordinate in die Liste 
hinzugefügt.
Und schon hat man die Bodenkontur der Mauer, beschrieben als die Abfolge 
der Eckpunkte im Mauerzug. Auf den jeweiligen Abschnitten eine 3D Fläche 
senkrecht hochstellen und du hast deine Mauern zum rendern. Oder auch 
nicht, denn eigentlich ist die 'Mauer' an sich ja nur ein nettes 
3D-Gimmick. Entscheidend ist die Bodenkontur. Und ob man die jetzt als 
breitere Linie die am Boden liegt oder als 3D-Mauer darstellt, spielt ja 
im Grunde keine Rolle.

von Meister E. (edson)


Lesenswert?

Elite schrieb:
> @ Meister Eder:
> Ja, ich glaube es gab ein Missverständnis bezüglich der Mauer des
> Terrain's und der, die der Fahrer erzeugt. :-D
> Ich meine natürlich die, die der Fahrer erzeugt.

Ok, Missverständnis beseitigt.

> Das letztere weiß ich zwar auch, dennoch muss ich doch dafür wissen wie
> ich die Koordinaten auslesen kann, oder gibt es dort noch eine andere
> Möglichkeit?

Auslesen eher nicht. Schau halt in der player.cs (falls es die gibt) 
nach den Eigenschaften der Spieler-Klasse bzw. Spieler-Objekts. 
Wahrscheinlich gibt es da eine Variable mit dem Datentyp Vector3D, 
vielleicht heisst sie "position" oder ähnlich, weitere rumraterei spare 
ich mir jetzt mal. Die kannst du dann zur Laufzeit irgendwo auf dem 
Monitor ausgeben, wenn es das war was du wolltest, oder was meinst du 
mit "auslesen"?

von Elite (Gast)


Lesenswert?

@ Karl Heinz Buchegger:
Diese Antwort zeigt, dass Sie wirklich keine Ahnung von XNA haben...
Es gibt bereits Strukturen. Wie schon gesagt ich wüsste bloß nicht wie 
ich die auslesen kann (Zudem besitzt jedes Boden Model eine 
eigenständige zusätzlich in Cinema4D, die sich in die XNA intigriert, 
falls sie nicht abgeschaltet ist).
Das ich die Mauser abspeichern muss in einer Liste habe ich auch schon 
gesagt in einem meiner früheren Kommentare, wobei ich bloß hilfe zur 
Umsetzung brauche.
Ich erhoffe mir ein script, welches mir eine Lösung zeigt, welche 
einwandfrei funktioniert, da meine nicht so gut (oder gar nicht) 
funktionierten.
Sie müssen mir nicht erklären wie man Programmiert, sondern bitte eine 
Lösungsscript schreiben welches auch funktioniert, da meine bislang 
keinen Erfolg hatten.

@ Meister Eder:
Ja ein Kollege meinte ich müsste mit den jeweiligen floats arbeiten, auf 
der Struktur, er hatte schon mal ein aufwendiges Programm geschrieben, 
mit der man die auslesen konnte. Er meinte ich sollte einfach mal herum 
fragen ob das noch jemand hat oder irgendwo zu finden ist. Aber Ihnen 
trotzdem vielen Dank ihrer Überlegungen.




Naja ich glaube hier wird das jetzt nichts mehr Großartig, deshalb 
antworte ich NUR NOCH auf Lösungsvorschläge oder auf fragen zum Thema, 
falls etwas noch unklar sein sollte, wenn ich es bis dahin noch nicht 
gelöst habe.

Dennoch an allen vielen Dank, die mich unterstützen wollten!!

Gruß Elite

von Karl H. (kbuchegg)


Lesenswert?

Elite schrieb:
> @ Karl Heinz Buchegger:
> Diese Antwort zeigt, dass Sie wirklich keine Ahnung von XNA haben...

Das mag sein.
Wenn ich allerdings am 28. mit einem Tron angefangen hätte, wäre ich 
heute schon lange fertig damit.

OK, mir reichts. Ich bin draussen.

von mar IO (Gast)


Lesenswert?

Ich kenn kein XNA, ANX oder dergleichen, aber es kann ned so schwer sein 
ein Viereck per Programmcode zu zeichnen, was ja die Mauer ist...

Für dein Cinema3D musst Du ja ganz schön deine Geldbörse öffnen... 
Brauchen tust Du es eh doch nur für die Spielerfiguren...

von TeaTime (Gast)


Lesenswert?

Wenn du glaubst, dass das alles XNA für dich erledigt und du keinen 
Finger rühren musst, hast du dich geschnitten.

Das XNA Framework beinhaltet nur Rendering, Matrizen, Geometrie u. 
Vektor Mathematik und eine Contentpipeline.
Um die Logik musst du dich völlig allein kümmern und das setzt nun mal 
Programmierkenntnisse in C#, logisches und kreatives Denkvermögen 
voraus. Nur so lassen sich solche Probleme lösen. Außer natürlich jemand 
macht das schnell für dich. Wie du jedoch bemerkst ist das kein 
Selbstbedienungsverein.

Du kannst dich nicht davor drücken. Also versuch mal die Dinge anders 
anzugehen.

von Dennis (Gast)


Lesenswert?

@ "Elite" mal so aus reiner Neugierde gefragt: ist dieser Forum hier die 
dritte oder vierte , wo dir die gemeinen Leute nicht helfen wollen?

Vielleicht solltest Du dir überlegen, weshalb sich alle Threads in die 
selbe Richtung entwickeln...

Liegt es vielleicht doch nicht an den anderen?

von Elite (Gast)


Lesenswert?

So...

Problem gelöst!
Da ich jetzt mal ein wenig Zeit hatte, konnte ich mich auch mal wieder 
auf mein Projekt konzentrieren... 2h mal überarbeiten und fertig bin ich 
mit der Beta meines Projekts! (In einem dualen Studium ist etwas wie 
Freizeit fast ein Fremdwort)

Da die meisten meine Programmier "Fähigkeiten" anzweifelten, zweifle ich 
eure nun an... , denn wenn ihr mal lesen könntet:
>Die Camera.cs hatte ich extra noch nicht so eingestellt damit ich den
>Fortschritt noch genauer überprüfen kann...
IST FALSCH !!! Ich musste erst meine Camera fertigstellen, damit ich 
meine Probleme bewältigen kann -.- . Hätte mir jemand das am Anfang 
gesagt wären die Verletzung meines Ehrgefühls nicht nötig gewesen!

@ TeaTime:
ACH ERLICH ?! Habe ich etwas anderes gesagt? Dennoch übernimmt XNA 
VIELES, wie du bemerkt hast.
Und sag nicht "Selbstbedienungsverein"! Man kennt dieses Wort eher als 
hilfsbereite Community oder ähnliches.

@ mar IO:
Ja, danke ... Diese Antwort hat mir den Zündfunken gegeben, der mir 
leider noch fehlte ;)
(Man muss ja nicht Modelle erzeugen sondern kann ja auch eine Wand 
zeichnen, die sich dann anpasst ;)

@ Dennis:
In den Foren bekam ich letzten Endes dennoch im eine lösende Antwort, 
oder etwas des gleichen, was HIER nicht der Fall war. Naja immerhin war 
es mir selbständig möglich gewesen das Problem zu lösen.

@ Karl Heinz Buchegger:
Falls sie diesen Thread dennoch verfolgen, ihnen auch ein Dank, denn ich 
glaube ihre Absicht war positiv (, weil Sie im nach hinein noch so viel 
geschrieben hatten), bloß ihre mangelden Kenntnisse haben unsere 
Konversation so "ausarten" lassen... :-/

@ All:
Alle die mich Unterstützen wollten VIELEN DANK meinerseits.
Viel Glück euch noch.

Ihr ET-ler macht mich fertig. :-D  Ich bin raus

Elite

von mar IO (Gast)


Lesenswert?

Elite schrieb:
> Man muss ja nicht Modelle erzeugen sondern kann ja auch eine Wand
> zeichnen, die sich dann anpasst

Mit einem Modell ist es aufwändiger:
Man muss immer
1. skalieren (Länge abgleichen)
2. rotieren
3. positionieren

Das muss man für alle Mauern machen. Wenn der Spieler die Richtung 
wechselt, dann muss man eine neue (zusätzliche) Mauer ins Spiel bringen 
(wie wenn eine neue Spielfigur das Feld betritt).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.