Game Engine

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 581
Registriert: 05.07.2003, 11:17

Re: Game Engine

Beitrag von Lord Delvin »

[OT]Interesannt, wie hier immer noch weiter diskutiert wird obwohl das Problem eigentlich schon gelöst wird und sich die Diskussion dann immer im Kreis dreht[/OT]
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Herror
Beiträge: 97
Registriert: 24.12.2009, 23:13
Benutzertext: Ewiger Anfänger....
Alter Benutzername: Herror
Echter Name: Artur Schütz
Kontaktdaten:

Re: Game Engine

Beitrag von Herror »

Lord Delvin hat geschrieben:[OT]Interesannt, wie hier immer noch weiter diskutiert wird obwohl das Problem eigentlich schon gelöst wird und sich die Diskussion dann immer im Kreis dreht[/OT]
Ich wunder mich auch ^^

Das ist wohl der Stolz eines Programmierers und die unterschideliche Auffassung ab wann man eine Sprache beherrscht...

Ich spreche nur aus der Erfahrung die ich beim Lernen von 5 Programmiersprachen gemacht habe und C# hab ich nie gelernt, werde es aber bald machen und dann kann ich ja nochmal sagen wie lange ich dafür gebraucht habe ^^
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

@ Virus
Weder C++ noch irgend eine andere Programmiersprache kann in einem halben Jahr erlernt werden (wenn man von null anfängt). WIe auch, wenn man gar keine Erfahrung hat?
Programmieren können heißt ja nicht nur, irgendwie was hinzucoden damit was läuft, sondern möglichst auch so, das man das ganze Zeug gut lesen, warten und erweitern kann. Und sowas lernt sowieso nicht in der Zeit. Allein ist es erst recht schwer, ich denke gut geht soetwas nur in einem Team mit Leuten, die davon Ahnung haben.
Wenn man nur im eigenen Saft schmort findet man halt viele Design-entscheidungen toll, weil man eben nichts besseres kennt. Da helfen auch keine Artikel zu irgendwelchen Patterns (zumindest hat mir das nicht gehofen), sondern man muss halt auch gucken, wie man die Dinger sinnvoll anwendet (und warum).
Genauso wie bei Kommentaren: In allen Büchern / Tutorials steht: is wichtig! Also macht man welche. Aber die, die man macht, nutzen meist nichts oder nicht viel. Entweder zuviel oder einfach nichtssagend oder die entscheidenen fehlen dann.
Wenn man alleine an was werkelt, funktioniert das ja dennoch... aber auch sowas zählt dazu, progrmmieren zu können. Und das lernt man halt nicht so ohne weiteres in 2 Wochen an drei Abenden nach der Schule.

Noch so allgemein von mir: Viele sagen hier ja: mach C#, weil einfacher. Nur so einfach ist das alles nicht (wenn man von Null anfängt). Viele hier haben halt mit C++ angefangen und einige tatsächlich auch was auf die Reihe bekommen (der Rest ist ja nicht mehr hier), es ist schon machbar. C# gabs damals ja noch nicht ... aber ich denke nicht, das wesentlich mehr rausgekommen wäre, wenn es schon existiert hätte.
Unterschätze es nicht, genausowenig wie man das "schwere" C++ nicht überschätzen darf. Fang damit an, was dich interessiert. C++ lernen wollen, weils cool ist ... zwar kein Grund, aber wenn dich das motiviert, warum nicht. Den Unterschied zwischen beiden (und deren Vor- und Nachteilen) wirst du eh erst viel später feststellen können.
(Das heißt nicht, das ich dir C++ empfehle statt C# + XNA - beides ist machbar. XNA wohl komfortabler.)
Was würdest du mir empfehlen?
was soll ich deiner Meinung nach Tun ?

MfG GamerZ
Virus
Beiträge: 38
Registriert: 20.09.2002, 17:28
Kontaktdaten:

Re: Game Engine

Beitrag von Virus »

GamerZ hat geschrieben: Was würdest du mir empfehlen?
was soll ich deiner Meinung nach Tun ?
Dir nicht so viele Gedanken machen, und einfach mit was anfangen, was DICH interessiert. C# + XNA vereinfacht einiges (ich selber kenne es nicht), C++ + Direct3D/OGL erfordert halt mehr Handarbeit und ist daurch wohl aufwänderger.
Wenn du in einem richtig geübt bist, ist der Wechsel zum anderen schnell möglcih. Es ist also keine Entscheidung, die nicht anpassbar ist und dein Leben nachhaltig verändert :-)
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Also ist sollt eine Programmeirschprache wählen und lernen ?
Dann kann ich später wenn ich eine behhersche auf C++ umsteigen oder ?
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 581
Registriert: 05.07.2003, 11:17

Re: Game Engine

Beitrag von Lord Delvin »

JA VERFLUCHT! Hör endlich auf zu reden und fang an was zu schaffen! Sonst wirst du nie was erreichen. Und wenn du immernoch nicht weist was, dann würfel zweimal, zähl die Augen zusammen und nimm die erste Programmiersprache die in dem gewürfelten Post erwähnt wird.

EDIT: Dabei fällt mir grad auf, dass C++ garnicht meine erste Sprache war; hab vorher mal ein halbes Spielbrett in Logo geschrieben bis mir klar wurde, dass die Sprache für sowas nicht wirklich geeignet ist, aber gelernt hab ich was dabei. Von daher wärs auch garnicht schlimm, wenn die erwähnte Methode sowas wie Ada oder Lisp produziert:D
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Soll ich mit C# oder c++ anfangen ??

MfG GamerZ
Benutzeravatar
Schrompf
Moderator
Beiträge: 4867
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Game Engine

Beitrag von Schrompf »

Sachma... liest Du, was da steht? Es ist *scheißegal*, womit Du anfängst. Hauptsache, Du fängst mal an. Meiner Meinung nach mit C#, weil einfacher, aber ich persönlich bin ziemlicher Verfechter von C++. Ist echt nur Geschmackssache.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Ok Danke ich fang dann mit C# an.

MfG GamerZ
Benutzeravatar
Herror
Beiträge: 97
Registriert: 24.12.2009, 23:13
Benutzertext: Ewiger Anfänger....
Alter Benutzername: Herror
Echter Name: Artur Schütz
Kontaktdaten:

Re: Game Engine

Beitrag von Herror »

GamerZ hat geschrieben:Ok Danke ich fang dann mit C# an.

MfG GamerZ
Ich auch ^^
Falls du Fragen hast, dann stell sie ruhig. Von mir aus kannst du mich auch per PM oder ICQ anschreiben, ich würde dir Helfen wollen. :mrgreen:

P.S.: Virus' Einschätzung davon wann du eine Programmiersprache beherrscht dürfte dich glaube ich weniger interessieren, wenn du einfach nur aus Spaß programmierst, denn du wirst auch Programme schreiben können die ihren Zweck erfüllen, auch wenn du eine Sprache nach Virus' Meinung nicht vollständig beherrscht. Aber wenn du fleißig lernst wirst du das schon selber merken.
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

@ Herror
Ok ^^

MfG GamerZ
Benutzeravatar
Zudomon
Establishment
Beiträge: 2256
Registriert: 25.03.2009, 07:20
Kontaktdaten:

Re: Game Engine

Beitrag von Zudomon »

@GamerZ
Schrompf hat geschrieben:Sachma... liest Du, was da steht? Es ist *scheißegal*, womit Du anfängst. Hauptsache, Du fängst mal an.
Kann nur unterstützen, was Thomas da sagt!

1. Wenn du so weiter machst, wirst du in fünf Jahren immer noch nicht weiter sein. Ich glaube nicht, dass du programmieren willst, denn wenn du das wirklich wolltest, hättest du schon vor 10 Tagen angefangen... und Anfangen heißt nicht, Bücher lesen! Du willst ja nicht lesen sondern programmieren, oder habe ich das falsch verstanden?

2. Programmieren heißt weder C++, C# oder sonsteinen Quellcode schreiben. Die einzelnen Sprachen sind wie Buntstifte, Wasserfarbe, Ölfarbe, Wachsmalstifte, usw... wenn ein Künstler damit ein Bild malt, dann ist das das Äquivalent zum Programmieren. Und wer malen kann, kann das mit jedem Malwerkzeug. Eigentlich kannst du mit jeder Sprache eh so ziemlich alles umsetzen... da setzen dir nur Fantasie und Können Grenzen... die "falsche Sprache" kannst du eh nicht lernen.

3. Du willst Programmieren lernen? Dann überleg dir mal Lösungen für Problemstellungen im Pseudocode... z.B. für ein TickTackToe oder ähnliche Spiele. Wenn du in der Lage bist, dir Pseudocode zu überlegen, hast du schon einen großen Schritt getan. Abstrakt zu denken lernt man meiner Meinung nach aber nicht, indem man Bücher liest, sondern indem man selbst Erfahrungen sammelt.
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

@ Zudomon

Was meinst du mit "Pseudocode"

MfG GamerZ

Was gibt es für SDK´s für GUI Programmierung ?
MFC und QT kenn ich.

Eine Frage zu MFC bei manchen Bildern sehe ich dass es wie die GUI von Windows 2000 aussieht wenn man damit unter Windows XP programmeirt ist es dass Design dann von XP oder 2000 ?


MfG GamerZ
Benutzeravatar
dowhilefor
Moderator
Beiträge: 173
Registriert: 27.02.2009, 15:44
Alter Benutzername: 6SidedDice
Echter Name: Nico Probst
Wohnort: Bochum
Kontaktdaten:

Re: Game Engine

Beitrag von dowhilefor »

Was meinst du mit "Pseudocode"
Wirkliche definition davon gibts glaube ich nicht. Pseudocode ist halt Code der in keiner wirklichen Programmiersprache geschrieben ist sondern nur mehr oder weniger andeutet wie ein Code funktionieren soll.

bspw
für jeden button
----berechne layout
----zeichne button

oder

for(Button in window.Controls)
btn.CalcLayout(...)
btn.Draw();
ist schon eine gewisse Form von Pseudocode. Es geht nur darum in einer verständlichen Art den Code zu skizzieren.
Was gibt es für SDK´s für GUI Programmierung ?
MFC und QT kenn ich.
Kommt auf die Sprache an:
Für C++ kenn ich noch die WTL und wxWidgets. Wobei ich ganz dringend von der MFC abrate und für C++ zu QT tendieren würde. WinAPI ist aber auch eine Möglichkeit ;) aber keine die Spass macht.
wxWidgets und QT haben den Vorteil fast direkt den Code 1zu1 auf Linux, Mac etc. kompilieren zu können, WTL und WinApi natürlich nicht. QT ist gewöhnungsbedürftig da es von sich aus C++ um Features erweitert und ein zusätzlich Kompilier Schritt nötig ist um dieses erweiterte C++ Code wieder in "normalen" C++ code zu verwandeln.
Für C# gibts das Hauseigene WindowsForms, womit es ziemlich schnell möglich ist komplexe Anwendungen zu schreiben und WPF was seinen Schwerpunkt mehr auf das Design legt da dies auch "hardwarebeschleunigt" ist, Animationen unterstützt und auch grafisch relativ aufwändigere Sachen ermöglicht. Und GtkSharp verdient auch noch Erwähnung da man damit in Verbindung mit Mono platform unabbhängig programmieren kann.
Eine Frage zu MFC bei manchen Bildern sehe ich dass es wie die GUI von Windows 2000 aussieht wenn man damit unter Windows XP programmeirt ist es dass Design dann von XP oder 2000 ?
Glaub mir, lass es. MFC ist der letzte Dreck und ich kann nicht verstehen wie Microsoft das noch supported.

[offtopic]Microsoft sollte endlich mal von Apple die Dreistigkeit abkupfern mit Altlasten abzuschliessen und diese rigoros zu entfernen.[/offtopic]
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Game Engine

Beitrag von kimmi »

Wieso arten solche Threads eigentlich immer so aus? Weniger posten und mehr rumprobieren würde ich anraten :).

Gruß Kimmi
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

@ downhilefor

Thx

MfG GamerZ
Benutzeravatar
Herror
Beiträge: 97
Registriert: 24.12.2009, 23:13
Benutzertext: Ewiger Anfänger....
Alter Benutzername: Herror
Echter Name: Artur Schütz
Kontaktdaten:

Re: Game Engine

Beitrag von Herror »

GamerZ hat geschrieben:@ downhilefor

Thx

MfG GamerZ
Aber stell dir das benutzen einer GUI nicht so einfach vor ^^
Ich kenne keine GUI, die nicht Objektorientiert arbeitet und um das System zusammen mit den Pointern ect zu lernen ist echt ne lange Zeit vergangen. Vor allem das mit den Pointern hat mich anfangs echt nerven gekostet, aber jetzt ist das kein Problem mehr und ich benutze sie intuitiv.

Das wichtigste ist du solltest wirklich ausprobieren und nicht nur alles abschauen und anhacken.

Also setz dich hin und mach ne kleine funktion ^^
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Hi , Community bin wieder da ^^

Hab eine Frage:

Bei Algebra kann man dass schriftlich aussrechnen oder geht es nur mit dem Taschenrechner?

MfG GamerZ
Matthias Gubisch
Establishment
Beiträge: 471
Registriert: 01.03.2009, 19:09

Re: Game Engine

Beitrag von Matthias Gubisch »

Alles was der Taschenrechner kann sollte man auch irgendwie mit Stift und Papier hinbekommen ;)

alles eine Frage der Arbeit die man hinensteckt ;)
um was gehts denn genau?
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Ich meine in der Game Engine entwicklung :D

wollte es nur wissen ist es aber per hand nicht kompliziert ?
Währe Per hand besser oder per Taschenrechner?

MfG GamerZ
Matthias Gubisch
Establishment
Beiträge: 471
Registriert: 01.03.2009, 19:09

Re: Game Engine

Beitrag von Matthias Gubisch »

Auch da kommt es drauf an worauf die hinauswillst

Willst du irgendwelche Zahlen berechnen ist der Taschenrechner moeglicherweise ein gutes Mittel
Willst du Gleichungen herleiten oder dir einen Algo ausdenken ist es wohl besser die Umformungen mit der Hand zu machen ;)

Weil nur was man versteht kann man auch effizient selber programmieren
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Danke dir.

Mfg GamerZ :D
Benutzeravatar
exploid
Establishment
Beiträge: 146
Registriert: 21.08.2005, 18:33

Re: Game Engine

Beitrag von exploid »

...
Zuletzt geändert von exploid am 04.11.2010, 12:17, insgesamt 1-mal geändert.
All your base are belong to us! Justice
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Hab eine Frage ist dass:

NVIDIA SDK
http://developer.nvidia.com/object/sdk-9.html

was ganz anderes als dass DirectX SDK
http://www.microsoft.com/downloads/deta ... 8a3ba730ba

oder sind die identisch und dass von Microsoft ist fortgeschrittener ?

Wofür dient dass NVIDIA SDK und dass Microsoft SDK ?


hoffe ihr könnt mir weiterhelfen.

MfG GamerZ
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Game Engine

Beitrag von Aramis »

Das Microsoft SDK stellt DirectX samt Dokumentation und Tools bereit. Das Nvidia SDK enthaelt Nvidia-spezifische Tools und APIs, die groesstenteils Hacks der D3D bzw. OpenGl APIs darstellen, sprich auf diesen aufbauen.

Eigentlich brauchst du nur das MS-SDK.
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Warum Eigentlich ? :oops:

MfG GamerZ
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Game Engine

Beitrag von Aramis »

Weil die Sonderfeatures des Nvidia-SDKs nur auf NVIDIA Hardware funktionieren. Genau das gleiche mit AMD. Vielleicht schaffst du es zwar damit die Qualitaet oder Performance zu erhoehen, benoetigst (damit es Sinn macht) aber eine ausgezeichnet optimierte Direct3D/OpenGl Basis und musst dann zwei Renderpfade fuer voellig verschiedene Hardware pflegen.

Fuer Hobbyzwecke ist das IMHO zu viel Aufwand und somit ein Garant fuer das Scheitern des Projektes :-)

Achja, zu exploid (auch wenn es schon laenger her sein mag):
Der Weg endet dabei
niemals sondern windet sich fortwährend durch die Hügel des Maschinencodes, über die Pässe der eisverhangenen
Gletscherberge der C-Programmierung und wieder zurück in die düsteren Katakomben der C++ Programmierung.
Manchmal führt er über die sanften Hügellandschaften der programmiertechnischen Konzepte. Doch fortwährend hat
man das Gefühl das hier Magie am Werk ist.
J.R.R. Tolkien haette es nicht besser ausdruecken koennen.
Benutzeravatar
GamerZ
Beiträge: 41
Registriert: 19.12.2009, 18:39
Wohnort: Köln

Re: Game Engine

Beitrag von GamerZ »

Danke Aramis :)

MfG GamerZ
Marserdling
Beiträge: 15
Registriert: 02.05.2009, 11:45
Benutzertext: Erdling vom Mars.

Re: Game Engine

Beitrag von Marserdling »

Hab nicht den gesamten Thread gelesen, aber trotzdem ein Tipp von mir: Versuch keine Engine zu bauen, sondern mach lieber zuerst Spiele. Eine Engine kristallisiert sich ganz von alleine heraus, und um ganz ehrlich zu sein:
1. hast du höchstwahrscheinlich nicht genug Erfahrung eine ordentliche Architektur auf die Beine zu stellen
2. sollte man eine Engine nicht basteln nur damit man eine Engine gebastelt hat. Wenn du eine zündende Idee hast wie entscheidende Teile einer typischen Engine viel besser gemacht werden könnten..nur zu, versuch zu verbessern. Aber bloß das zu kopieren versuchen was tausende andere machen ist etwas wenig. Das nötige Grundlagenwissen erlernst du auch in der Spieleentwicklung wenn du genügend abstrahierst.
Benutzeravatar
Herror
Beiträge: 97
Registriert: 24.12.2009, 23:13
Benutzertext: Ewiger Anfänger....
Alter Benutzername: Herror
Echter Name: Artur Schütz
Kontaktdaten:

Re: Game Engine

Beitrag von Herror »

Das stimmt zwar, aber es gibt sachen, die man selten aus dem programmieren von Spielen lernt:

Eine richtige Engine müsste in unterschiedlichsten Projekten verwendet werden können, ohne etwas am Code ändern zu müssen.
Bei sowas hätte ich schon etwas zu kämpfen, wenn ich einfach so aus dem Nichts plötzlich mit statischen und dynamischen biblioteken arbeiten müsste und ein Interface designen müsste ohne hilfestellungen zu erhalten.

Es ist zwar möglich, aber wenn man solche Grundlagen aus zweiter Hand lernt, dann verliert das Programmieren der eigenen Engine erheblich an Frustfaktor.
Antworten