Was ist einfacher: 2D(à la Diablo) oder kurzes EGO-3D Spiel?

Anfängerfragen zum Programmieren mit PureBasic.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

the Nameless hat geschrieben:@ DarkDragon: Ja ich weiß, das mit der KI is halt ne Sache.. ich versuche es zu verstehen, bin bald auch so weit, dass ich das blicke (hoffe ich...).
Und ich bin immernoch Anfänger, dass war ja nicht so eine Frage wie "Ich will jetzt mit C++ anfangen! Wie kann ich DooM³ programmieren?"
Ne, das war eher so ne Frage wie
"Ich will jetzt mit PB anfangen! Wie kann ich DooM^4 programmieren?"
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

lol DD, darann hab ich auch gedacht^^

Hm, fals du nicht weist was du machen sollst:
Im Internet gibt es doch millionen von Flashspielen usw.
Such dir davon doch ein hübsches raus und versuch es besser zu machen.

Es muss ja nicht unbedingt ein noch nie dagewesendes Spiel sein oder
etwas geniales. Das schöne hier an PB ist, es gibt noch nicht so viele PB-
Spiele und somit wäre dein Spiel dann zumindest in der PB-Com
einmalig :wink: .

Bei 2D kommt es drauf an, welche Grafikengine du haben willst. Eine
sehr gute Iso-Grafik kann durchaus schwerer sein als eine sehr einfache
3D-Grafik :D . Aber normalerweise ist 3D natürlich wesentlich
Umfangreicher und demnach auch wesentlich schwerer. Als anfänger
sollteste bei PB eh besser im 2D-Bereich bleiben. Da bekommste
überhaupt mal brauchbare Ergebnisse :wink: ... oder kennst du ein PB-
Spiel mit ansehnlicher 3D-Grafik? :D

Was was zum schießen sein soll. Gibts schon ein PB-Moorhuhn-Clone?

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

ich denke 3d ist einfacher... oder zumindest gleich schwer, weil du die 3d rotationen ganz einfach berrechnen kannst und es sieht 100% geiler aus. bei 2d kannst du nur blöcke machen (dort nimmste einen array von 100 x 100 und jede zahl ist ein feld dort.
Nein, das stimmt nicht. Man kann auch Polygonal 2D arbeiten und dann sehr organisch geformte umgebungen schaffen.
wenn du jetzt z.B. ein haus machen willst, das nur ein halbes feld groß ist dann musst du dir was einfallen lassen.) bei 3d musst du alle sachen (haus oder bank oder alles andere) in einer datei speichern und dann rufst du die einfach auf und kannst die mit den einzelnen befehlen überprüfen ob dein char sich innerhalb des "hauses" befindet oder nicht.
Das alleine reicht für eine kollisionserkennung noch nicht aus. Das ist in 2D bedeutend einfacher.
allerdings bei 2d ist das ganze zu projezieren einfacher... aber das abtasten, wo dein player hindarf ist schwieriger.
Nein, das ist vollkommen trivial.

Was ist mit object-picking? Animation? Wegfindung? Das sind alles sachen die in 2D gradezu Trivial sind, in 3D aber zum echten Albtraum verkommen.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

the Nameless hat geschrieben:ich bin gerade am Programmieren eines kleinen Spiels, ich habe es auch schon fast fertig, aber das letzte was fehlt sind die Gegner!
Und ich habe nicht die geringste Ahnung wie ich das machen soll!
...
...
...
Vor Arrays und Listen habe ich mich immer gedrückt, na super
9 tage später:
the Nameless hat geschrieben:Was ist einfacher: 2D(à la Diablo) oder kurzes EGO-3D Spiel?
du warst nicht einmal in der lage zu verhindern dass deine spielfigur mit den pfeiltasten jenseits des bildrandes befördert wird.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

@ DarkDragon: Wenn du meinst...
Ich glaub, DarkDragon mag mich nich...

@PMV: OK, werde ich mal schauen, ich habe Ping Pong schon nachgemacht, aber da gibt es auch 2 Problemenchen die ich bis jetzt nur aus Zeitgründenn noch nicht lösen konnte. Und das mit Moorhuhn, ich wüsste wie ich das lösen könnte.. :wink: wenn ich nicht schon wieder bei den Strukturen stecken bleibe.. (Aber es ist doch bestimmt wieder so, dass wenn man dabei ist, unerwartete Probleme auftauchen) /:->

@#NULL: Naja, stimmt nicht ganz; bevor ich dir den Code gab, blieb YumYum immer innerhalb des Blidschirms. Bei mir zumindest. Aber ich glaube, da war noch was, dass er beim drücken zweier Tasten auf ein mal doch davon schwamm... aber das war auch ein zu-früh-veröffentlicht Problem. (War das nicht die Sache, wo du das Tastatur Handling verbessert hast?)
DW

Beitrag von DW »

Also für einen Ego Shooter "A LA" counter strike würde ich waypoints empfehlen. Also bestimmt Positionspunkte im Level, die der Bot langsam aber sicher in einer Schleife passiert. Dann musst du mit random viel arbeiten, mit entscheidungen viel arbeiten(Falls Gegner in Sicht, falls zu wenig leben--> rufe medic.., falls medic wird geruft, zufällig, eine freier medic kommt..).
So schwer ist KI Programmierung garnicht für 3D Ego Shooter Bots. Schach KI ist mir da etwas komplexer, aber auch zu lösen.

Aber wenn dir das zu schwer ist, habe ich noch eine andere Idee. Guck dir mal : Hier war mal ein Link an. Source code in B3D müsste, glaube ich, dabei sein.
Ich weiß, ist was kleines, war auch nur ein Test von mir. Sollte eigentlich ein Net spiel werden. Egal.
Aber wenn du magst, kannst du ja sowas "fun" mäßiges programmieren.

Edit by NicTheQuick auf Wunsch des Users
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Mein Tip für ein Anfänger :

1. Mit Console rumexperimentieren
2. kleinen Baller Spiel (Raumschiff + wafen + nicht "denkende" Gegner)
3. Kartenspiel (änlich wie UNO) oder Anderes Spiel(Schiffeversenken), beides mit KI
4. Ein etwas größeren Spiel änlich wie RPG (also man spiel eine Figur und kämpft gegen Gegner die "denken" können und erkundet die Welt) [2D !]
5. Echtzeitstrategiespiel (viele Einheiten die man steuern kann und einer KI) [2D !]

So war auch meine PB Laufbahn, und ich finde auf diesem Wege lernt man PB gut kennen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
DW

Beitrag von DW »

also meine für B3D(Ist ja fast sowie PB), war:
- Bisschen mit 3D rumexperementiert
- Nach einigen Wochen erstes 3D Ego Shooter Multiplayer an einem PC programmiert(verdammt billig, gibt nur 3 Waffen)

Also wenn du die KI Programmierung beherrschen willst, solltest du unbedingt viel rumexperementieren. Versuchen kostet ja nur Zeit. Und davon hast du viel(so um die 60-70 Jahre?)


Aber wie kommst du drauf, gleich einen Doom Klon zu schreiben? 3D Programmierung ist nicht einfach mal die meshes hier und da zu setzen. Du musst z.B auch den speed optimieren. Es dürfen nicht zu viele Polygone gerendert werden, zu viele entities sind auch nicht erlaubt, sonst sagt Ram Speicher "Tschüss!". Du musste unsichtbare meshes verstecken, so, dass sie nicht mehr gerendert werden, du musst nicht sichbare Polygone eines meshes verstecken(Jetzt kommt viel Mathematik ins Spiel).


Fang erstmal mit Tests an. Mach kleine Ego Shooter. recht billige mit nur einem Level. Und bau das dann immer weiter aus. Wenn du meinst, dass du bereit bist, schreibt du einen richtigen.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

the Nameless hat geschrieben:@ DarkDragon: Wenn du meinst...
Ich glaub, DarkDragon mag mich nich...
Ja guck mal: Du müsstest die Figuren irgendwie in Arrays/LinkedLists unterbringen. Von LLs hast du keinen Plan, wie ich aus dem KI Topic entnehmen konnte, denn die KI bei dir war nichts anderes als Objekt erstellen und quer übern Bildschirm bewegen. Das sind Grundlegende Dinge, die du kennen musst um überhaupt mal einen Moorhuhn-Klon zu machen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Jo bevor du dich mit Spielen beschäftigst schau dir erstmal die Grundzüge einer Programmiersprache an die du immer brauchst. Arrays, Linked Lists, Proceduren, Prototypen, Macros usw...
Antworten