Engine oder nicht Engine - das ist hier die Frage

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Chares
Beiträge: 1
Registriert: 02.05.2011, 18:21

Engine oder nicht Engine - das ist hier die Frage

Beitrag von Chares »

Hallo liebe Community,

nachdem ich mit Freunden schon einige Projekte erschaffen habe, wollen wir uns nun an unser eigenes Browsergame heranwagen.

Geschrieben soll das ganze in C# und asp.net werden, da dass die Sprache ist, mit der unser Hauptprogrammierer täglich umgeht
und demzufolge die meisten Erfahrungen hat. Nun stellt sich uns als Team jedoch die Frage, ob es für uns empfehlenswert wäre
erst eine Engine zu bauen. (Ich hoffe ich habe das richtige Wort gewählt...)
Mein Wunsch ist es, dass wir Nicht-Programmierer auch ohne Programmierer und ihre Hilfe, kleine Dinge ins Spiel implementieren können, ohne gleich selbst Programmiersprache zu beherrschen. (Grafiken ersetzen, Datenbank erweitern, neue Spieler-Aufgaben entwickeln etc.)
Soweit ich das weiß nimmt das Entwickeln so einer Arbeitsumgebung erst einmal viel Zeit in Anspruch, auch wenn dieser Aufwand später in weniger Zeitaufwand des Programmieres endet.

Meine Frage an euch ist, lohnt es sich wirklich so eine Engine zu entwickeln oder sollte der Programmierer immer alles selbst "per Hand" machen?
Was ist der Vor- und Nachteil von beiden Varianten und kann man auch im späteren Entwicklungsverlauf so eine Arbeitsumgebung entwickeln
oder bedeutet das für den Programmier Neuaufwand? Und wie ist es mit der Verständigung bei zwei oder mehreren Programmierern? Wie können diese besser zusammen arbeiten?

Ich hoffe ich konnte meine Frage als Nichtprogrammierer trotzdem verständlich erklären und hoffe nun auf eure Meinung und Erfahrungen.

Grüße Chares
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Engine oder nicht Engine - das ist hier die Frage

Beitrag von Aramis »

Hallo und herzlich willkommen auf ZFX!
Soweit ich das weiß nimmt das Entwickeln so einer Arbeitsumgebung erst einmal viel Zeit in Anspruch, auch wenn dieser Aufwand später in weniger Zeitaufwand des Programmieres endet.
Ja, Editoren verschlingen endlos viel Zeit. Ob es sich auf lange Zeit rentiert, duerfte von Fall zu Fall unterschiedlich sein.

Aber es muss ja nicht von Anfang an ein wundervoller WYSIWYP-Editor sein. Wenn euer Programmierer die ganze Engine relativ flexibel und extern (d.h. ausserhalb des Codes) konfigurierbar anlegt (Neudeutsch: data-driven), koennt Ihr „anderen” auch ohne vollstaendige Editorumgebung Grafiken einbringen oder Spieler-Quests basteln. Der klassische Ansatz besteht darin, alles auf einen grossen Haufen Konfigurationsdateien in einem geeigneten Format auszulagern. Das koennte zum Beispiel XML sein, wobei zu beachten ist dass XML ziemlich schlecht fuer Menschen editierbar ist.

Damit seid Ihr relativ frueh voll arbeitsfaehig und die wichtigsten Engine-Features muessen geschickterweise auch am Anfang implementiert werden. Stueck fuer Stueck kann dann eine vollstaendige Editorumgebung hinzukommen - oder auch nicht wenn Anderes wichtiger ist.

Gruss, Alex
Benutzeravatar
BGRATz
Beiträge: 18
Registriert: 08.01.2010, 19:55
Wohnort: Aachen - Köln

Re: Engine oder nicht Engine - das ist hier die Frage

Beitrag von BGRATz »

Wenn mich nicht alles täuscht kann man scripte in der unity Engine auch in c# schreiben. Die engine hätte den vorteil das es eine ausgabe in einer Browser Game engine gibt. Auf jeden fall einen blick wert
(Edit, ja c# geht, Unity wäre auf jeden fall schon mal einsteigerfrendlich für helfer bei eurem projekt)
http://unity3d.com/support/documentatio ... sharp.html
www.ressourx.de im aufbau
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4262
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Engine oder nicht Engine - das ist hier die Frage

Beitrag von Chromanoid »

Naja Unity ist ja eine 3D Engine... Ich hatte jetzt bei Erwähnung von ASP.net eher an ein klassisches Browsergame gedacht. Ich denke euer Programmierer sollte das vor allem selbst entscheiden. Ich würde ähnlich wie Aramis dazu plädieren einfach das Spiel zu entwickeln und dabei auf eine gewisse Flexibilität zu achten. Wenn man das macht, entsteht die Engine von alleine. Zur Inspiration und Prototyping könnt ihr euch ja mal bestehende Browsergame-Engines anschauen.
Despotist
Establishment
Beiträge: 394
Registriert: 19.02.2008, 16:33

Re: Engine oder nicht Engine - das ist hier die Frage

Beitrag von Despotist »

Wenn ihr wirklich ein Spiel machen wollt ist ein vorgelagerter Startpunkt (Engine) nicht verkehrt. Das alles selber machen zu müssen endet oft in Frust. Und es gibt genug fertige Komponenten wo ein Haufen erfahrener Leute viel Arbeit reingesteckt haben die euch erspart bleibt.

Ich würde auf jeden Fall auch Unity empfehlen. Es ist zwar 3d aber ihr könnt es aber trotzdem zur Darstellung von 2d Grafiken verwenden (auch wenn die Unterstützung dafür noch nicht so elegant wie der Rest ist). Aber ihr könnt statt der Grafiken (die ja auch viel Speicher/Bandbreite benötigen) auch LowPoly Modelle anzeigen lassen. Auch Partikeleffekte und Multiplayer sind schon vorhanden.
Und der Große Vorteil ist das von dir gewünschte Feature das auch Nicht-Programmierer direkt in Unity am Spiel arbeiten können und Spielobjekte platzieren, die Scripts vom Programmierer zuweisen und über öffentliche Variablen in einem Editor konfigurieren können.
Euer Programmierer kann da in C# entwickeln, die freie .Net Variante Mono verwenden und sogar die MS C# (Express) IDE dafür verwenden.
Die Standardversion ist kostenlos und erlaubt auch kommerzielle Spiele und es fehlen keine wichtigen Features (Schatten ist im Browser wohl vernachlässigbar).

Unity ist also auf jeden Fall mal einen Blick wert. Schaut euch ein paar Tutorials an wie damit gearbeitet wird.

Falls es noch Fragen gibt ob/wie bestimmte Dinge in Unity möglich sind nur her damit obwohl ich auch noch nicht alles ausprobiert habe.

Auch wenn Unity euren Ansprüchen nicht genügen sollte solltet ihr euch nach einer passenden Engine umschauen. Erst wenn ihr sicher seid es gibt nicht das was ihr braucht solltet ihr selbst entwickeln was aber trotzdem noch ein paar Nachteile mit sich bringt.
Antworten