PlanetSwitch Planet3DS PlanetVita PSP.de PlanetiPhone Classics Forum Handheld-Wiki

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetDS PlanetGameboy N-Page.de
portablegaming.de  

Zurück   portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung


Development Abteilung Ihr wollt für euren Lieblingshandheld Spiele oder Tools entwickeln?
Bitte die Präfixe benutzen!

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 09.05.2003, 02:20   #1
 
Registriert seit: 03.09.2002

maximAL hat die Renommee-Anzeige deaktiviert

Standard script oder nicht script...

...das ist hier...naja...

ich zerbrech mir grad den kopf, wie ich die einbindung von scripts in mein projekt löse.
eigentlich hatte ich geplant, einfach eine liste von opcodes zu benutzen, dh. jeder opcode steht für eine funktion, dann noch die entsprechenden parameter dazu, und fertig ist der lack.
das funktioniert soweit auch gut - solang man in erster linie nur simple funktionen wie "erstelle gegner", "öffne tür" etc. ausführen will. aber irgendwann kommt man nicht mehr drum rum, auch komplexere sachen zu machen, und das würde schon verdammt viel arbeit an der scriptsprache erfordern (eigene variablen, if-abfragen, schleifen etc.), was auf der kleinen kiste sicher auch recht langsam werden könnte.
nun gäbe es aber noch die alternative, alles einfach direkt in c(++) zu schreiben, damit wäre ich meine probleme los und hätte quasi unbegrenzte möglichkeiten. ich dachte daran, einfach die scripts der reihe weg zu schreiben und sie nur durch labels zu trennen (auch wenn mich dafür jeder andere C++ programmierer erschlagen würde ).
hat hier schonmal jemand eine scriptsprache (für ein GBA-projekt!) implementiert? irgendwelche meinungen oder vorschläge?
maximAL ist offline   Mit Zitat antworten
Sponsored Links
Alt 09.05.2003, 14:07   #2
ehem. Teammitglied
 
Benutzerbild von Tharo
 
Registriert seit: 02.09.2002
Ort: フランクフルト
Spielt gerade: FF7 Remake

Tharo wird schon bald berühmt werdenTharo wird schon bald berühmt werden

Standard

Über genau eben diese Frage habe ich auch schon Monate nachgedacht :/

Also z.Z. bin ich mal wieder so beschäftigt das dieses Thema für mich nicht akkut ist. generell muss ich aber sagen das mir bissher nur zwei Möglichkeiten in den Sinn gekommen sind.

1. Ist da das Script selber erstellen so wie du sagtest
2. Dachte ich daran die scripte vielleicht als objekte vor zu kompilieren und dann per pointer übergabe dynamisch einzuladen. Natürlich muss dann alles gut organisiert sein in der ROM.
__________________
Ney ney ney. So viel Sand und keine Förmchen
Tharo ist offline   Mit Zitat antworten
Alt 12.05.2003, 19:02   #3
Tom männlich
 
Benutzerbild von Tom
 
Registriert seit: 08.10.2002
Alter: 34

Tom hat die Renommee-Anzeige deaktiviert

Standard

Auch ich hab´mir da schon ein paar Gedanken gemacht..

Am klügsten ist es, denke ich, wenn man für jede Map Item etc. eine eigene Funktion schreibt und die Adresse der Funktion dann einfach bei den Daten des Objekts speichert..

z.B.
Code:
void Heiltrank(void)     // Definition der Funktion
{
    HP=HP+100;
     if HP> HPmax
     {
          HP=HPmax;
     }
};

(*Heiltrank.benutzen) (void) = Heiltrank;     // Speichern der Adresse der Funktion im Objekt.
Dann kann man beispielsweise im Destuktoraufruf (Einnahme des Tranks) des Objekts einfach die spezielle Funktion anhand ihrer Adresse ausführen..

Code:
Heiltrank.benutzen();     // Ausführen der Funktion durch den Zeiger
Man könnte auch mehrere Funktionen pro Objekt machen. Falls ein Objekt mal keine spezielle Funktion braucht kann man den Adresswert beispielsweise einfach auf eine leere "Standart-Funktion" stellen und spart sich so Arbeit.. Ich habs zwar gerade mit einem Item erklärt, aber so in der Art kann man das sicher auch mit Maps und vielleicht auch mit Gegnern machen..

Man bräuchte nur ein schönes VB-Tool, das die ganzen Objekte und ihre Funktionen verwaltet, sonst würde man verrückt werden.
Tom ist offline   Mit Zitat antworten
Alt 12.05.2003, 20:52   #4
Moderator
 
Benutzerbild von O-bake
 
Registriert seit: 30.09.2002
Alter: 42

O-bake genießt hohes Ansehen
O-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes Ansehen

Standard

das ist eigentlich nicht schwierig zu verwalten. besonders bei maps kannst du ja texturen (oder tiles, oder wie du das nennst) mit besonderen eigenschaften einen index zuweisen, der in einer liste definiert ist.
bei mir haben texturen die eigenschaft special (byte oder integer) und wenn special verschieden von null ist, wird eben die definierte prozedur aufgerufen.
du konntest so ähnlich vermeiden für jede heilsubstanz (trank, potion, elexir....) ein eigenes objekt zu erstellen und einfach die item-grundeigenschaft getHP (oder so ähnlich) machen und dem item so über einen index einen HP-wert zuweist.
und so viele verschiedene item, gegner oder texturarten wird es ja wohl nicht geben (also items die entweder HP/MP geben/nehmen, skills verändern; gegner, die HP/MP/skills verändern...), also wahrscheinlich weniger als 10 item-grundtypen, etc

ach ja, was das dynamische verwalten angeht: sicherlich die intelligenteste, bzw. flexibelste lösung, aber sicherlich auch die am schwersten zu realisierende.
ich denke leider noch statisch aus dos-zeiten, aber für den gba ist das absolut ausreichen, weil man natürlich begrenzt ist.
als ich für directX angefangen habe, habe ich anfangs versucht, alles dynamisch zu machen "um bei späteren änderungen flexibel zu bleiben". diese projekte sind dann zu super-gigantischen projekten angewachsen, die natürlich nicht mehr realisierbar waren.
was ich damit sagen will, ist, dass wenn du dir etwas gedanken über die charakter-skills und grösse der map machst, brauchen diese dinge nicht dynamisch verwaltet werden. wenn du dir durch statische felder grenzen setzt, wird das ding wenigsten auch fertig.
O-bake ist offline   Mit Zitat antworten
Alt 13.05.2003, 15:23   #5
 
Registriert seit: 03.09.2002

maximAL hat die Renommee-Anzeige deaktiviert

Standard

ich rede aber nicht nur von so popligen sachen wie tränke einnehmen etc., sondern von zb. der realsierung von quests, wo man für die quest eigene variablen braucht und natürlich auch eine mitunter recht komplexe logik. da ist man mit ein paar funktionen eben recht schnell am ende, das ist ja das problem...
maximAL ist offline   Mit Zitat antworten
Alt 13.05.2003, 15:32   #6
Tom männlich
 
Benutzerbild von Tom
 
Registriert seit: 08.10.2002
Alter: 34

Tom hat die Renommee-Anzeige deaktiviert

Standard

Das meine ich auch..

Der Trank war nur ein Beispiel, weil er leichter zu erklären ist..

Mit Funktionen kann man ALLES machen..

Du kannst für jede Map einfach ein Datenfeld(z.B. ein Array mit 32 Elementen) anlegen in dem die entsprechenden Variablen die man braucht gespeichert sind und mit dem sich dann, über die Funktionen, Ereignisse steuern lassen..

Dann kannst Du die Ereignisse so anlegen wie Du sie brauchst, und musst nicht ein script schreiben, das sowohl Rechenzeit kostet, als auch Beschränkungen vorgibt..
Tom ist offline   Mit Zitat antworten
Alt 13.05.2003, 16:45   #7
 
Registriert seit: 03.09.2002

maximAL hat die Renommee-Anzeige deaktiviert

Standard

wär ja nett, wenn du mir erklären kannst, wie man damit ein paar große schleifen mit berechnungen, if-abfragen und allem pipapo vernpnftig hinbekommen will. das läuft doch letztendlich eh nur auf eine ausgewachsene script-sprache raus...
maximAL ist offline   Mit Zitat antworten
Alt 13.05.2003, 17:03   #8
Tom männlich
 
Benutzerbild von Tom
 
Registriert seit: 08.10.2002
Alter: 34

Tom hat die Renommee-Anzeige deaktiviert

Standard

Für jede Map schreibt man einfach ein kleines Programm.. Was ist das Problem? Man kann jede Funktion in C/C++ anhand ihrer Adresse aufrufen.. Diese Adresse speichert man einfach in einem Objekt und kann so für jede Art von Map, Gegner, Gegenstand, NPC, Fertigkeit, Zauber etc. einen INDIVIDUELLEN Programmcode ausführen, der, da er in C geschrieben ist natürlich zu jedem Parameter des Spiels Zugang hat und ihn beeinflussen kann..

so what?!
Tom ist offline   Mit Zitat antworten
Alt 13.05.2003, 18:00   #9
 
Registriert seit: 03.09.2002

maximAL hat die Renommee-Anzeige deaktiviert

Standard

dann bin ich ja wieder bei hardgecodeten scripts, das hatten wir doch schon
maximAL ist offline   Mit Zitat antworten
Alt 13.05.2003, 19:46   #10
Moderator
 
Benutzerbild von O-bake
 
Registriert seit: 30.09.2002
Alter: 42

O-bake genießt hohes Ansehen
O-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes AnsehenO-bake genießt hohes Ansehen

Standard

also ich verstehe das problem ehrlich gesagt nicht.

maximAL, schau dir doch einfach mal von einer x-beliebiegen gamedev-site einen beispielcode an. vielleicht wird dir das dann klar. manchmal braucht man ja ein reales beispiel damit der groschen fällt...
O-bake ist offline   Mit Zitat antworten
Alt 13.05.2003, 20:24   #11
 
Registriert seit: 03.09.2002

maximAL hat die Renommee-Anzeige deaktiviert

Standard

ich glaube, ich hab schon verstanden was er meint
maximAL ist offline   Mit Zitat antworten
Alt 17.05.2003, 19:40   #12
 
Registriert seit: 02.05.2002

Zeckenberger hat die Renommee-Anzeige deaktiviert

Standard

das mit den funktionen ist eine viel bessere Idee als deine komische "Scriptsprache" die du da verwenden willst.

Ich frag mich echt wo dein Prob ist maximAL.
Zeckenberger ist offline   Mit Zitat antworten
Antwort

  portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kaputt oder nicht? Rikimaru Hardware (Nintendo DS) 7 09.04.2007 18:30
Mini-Wegfindungs-Script (Achtung: Java) hurik Development Abteilung 4 05.01.2006 23:20
Spezielles News-Script und Gästebuch gesucht HickLick PC/Mac 2 29.10.2005 12:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:32 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
Template-Modifikationen durch TMS
PortableGaming.de © bk 2000 - 2010

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117