Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: kein Gast, xanbank

 X-Force - Fight For Destiny - Forum —› Quellcode / Programmierung —› Verbesserungsvorschlag Zufallseffekte

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [16] [17] >>

Autor Mitteilung
verfasst am: 23.10.2005, 14:06
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Der Eintrag hier ist durch Natter's Verweis auf 518 nach meiner Frage ausgelöst.

Die Zufallssteuerung in XForce ist sehr rudimentär - kein Spielsatzersteller hat Einfluss darauf, wie häufig ein UFO auftaucht (lediglich wie oft welches Modell bei einem Ufo ausgewählt wird) oder wie häufig zufällige Scripts ausgelöst werden.

Man kann in einem Spiel wie XForce aber auch nicht so einfach einen beliebigen Zufall unterbringen - das kollidiert dann an einigen Punkten in der Zeitsteuerung oder bringt kaum steuerbare Zufallsergebnisse, denn XForce rechnet mit Schritten von Minuten bzw. Stunden.

Man braucht allerdings auch keinen ganz freien Zufall um vernünftig einen Spielsatz steuern zu können. Ich würde deshalb vorschlagen, einige Zufallstypen einzuführen und diese dann den jeweiligen Ereignissen zuordnenbar zu machen.

Es wird dann also im Spielsatz bei einem Script und bei allgemeinen Zuordnungen lediglich der Zufallstyp ausgewählt und eine Funktion geschrieben, mit der man Zufallsereignisse im Spiel auch noch gescriptet einem anderen Zufallstyp zuweisen kann.

Diese Zufallstypen können dann fest in den passenden Zeitabständen aufgerufen werden und haben jedesmal eine Liste wie oft und für was sie überprüft werden.

Typ 1: Prüfung einmal pro Minute, Ereignis tritt mit 0,16% ein (müsste die aktuelle Wahrscheinlichkeit für UFOs sein, wenn ich mich richtig durch den Code gehangelt habe)
Typ 2: Prüfung einmal pro Minute, 1% (UFO-Ansturm)
Typ 3: Prüfung einmal pro Stunde, 0,16%
Typ 4: Prüfung einmal pro Stunde, 1%
Typ 5: Prüfung einmal pro Tag, 1%
Typ 6: Prüfung einmal pro Tag, 5%
Typ 7: Prüfung einmal pro Woche, 5%

Eventuell auch als Wertematrix, d.h. ein Wert ob pro Minute, pro Stunde, pro Tag oder pro Woche geprüft wird und ein Wert für die Wahrscheinlichkeit (0,16%, 1%, 5%). Hierbei würde ich aber keine freie Wahrscheinlichkeitseingabe zulassen sondern nur die drei vorgegebenen Werte zur Auswahl.

Im Editor gibt es dann die Möglichkeit, als allgemeine Spielsatzeigenschaft die Ufo-Wahrscheinlichkeit einem Typen zuzuordnen sowie bei jedem Skript außer Zufällig auch den Zufallstyp festzulegen.

In der Zeitsteuerung wird in den entsprechenden Zeitabständen die Zufallsroutine aufgerufen, die eine Liste mit allen Ereignissen enthält die diesen Typ zugeordnet bekommen haben. Dann wird jedesmal ein Random gemacht und im Erfolgsfall die passende Funktion aufgerufen.
Das kann dann die UFO-Erzeugung oder ein beliebiges Script sein, z.B. für Pseudo-Nachrichten oder Zufallsereignisse.

Und die Beschränkung auf die fest definierten Zufallstypen verhindert das irgend ein Spielsatz oder Spiel aufgrund falscher freier Zufallswerte abstürzt etc.
verfasst am: 23.10.2005, 18:40
Registrierdatum: 03.01.2005, 16:26

 Beiträge: 12
Naja, ich hab mir den Code noch nicht so genau angeguckt, aber wenn das nicht zu Performance-Problemen führt sollten freie Zufallseingaben möglich sein, allerdings müssten die Werte selbstverständlich geprüft werden.
verfasst am: 23.10.2005, 19:05 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Zitat: Bennily
sollten freie Zufallseingaben möglich sein,

Fände ich auch besser. Außerdem sollte die Angabe (zumindest im Editor) nicht in der Form

0.xx % pro Stunde/Minute

gemacht werden, sondern eher in der Form:

Durchschnittlich XXX zufällige Ereignisse pro Tag

{...von Typ A, YYY pro Tag von Typ B usw., falls es denn verschiedene Zufallsereignisse gibt; sinnvoll wäre z.B. eine Unterscheidung zwischen zufällig auftauchenden Ufos (Typ A) und zufällig gestarteten Skripten (Typ B)}
verfasst am: 23.10.2005, 19:42
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Freie Zufallswerte wären mir auch lieber - den Vorschlag mit dem Festlegen hatte ich hauptsächlich gemacht, weil man sonst eventuell mit den unterschiedlichen Überprüfungszeiten von Minute/Stunde/Tag durcheinander kommen könnte.

Das Problem weshalb ich diese Unterscheidung herein gebracht habe liegt zum Teil daran das es vom Programmcode her einfacher wäre einzubauen.
Aber es liegt auch daran, dass folgende Angaben
Durchschnittlich 1 pro Tag
4,1% pro Stunde
0,07% pro Minute

halt nicht ganz das gleiche bewirken, obwohl alle zu demselben Durchschnitt von ca. 7 Ereignissen einer Woche führen.

Eine Überprüfung von 0,07% pro Minute hat statistisch einen Treffer pro Tag. Abgesehen von einer leicht erhöhten Performance durch Abfragen in jeder Minute kann es aber durchaus passieren, das zwischen zwei Treffern mal nur 2-3 Stunden liegen und dafür dann bis zum dritten 40 Stunden vergehen.
Dies ist aber je nach Ereignis nicht immer sinnvoll.

Wenn man dagegen ein selteneres Ereignis pro Tag überprüft, dann wird es üblicherweise um Mitternacht auftauchen, sobald halt der Tageszufall geprüft wird...

Und die Ufo-Wahrscheinlichkeit von 0,16% pro Minute auf 10% pro Stunde zu wechseln hat auch so ein paar Probleme, denn dann weiß der Spieler wann Ufos auftauchen können.

Die Aufteilung von Zufallstypen mit Überprüfungen pro Stunde oder pro Tag sollte hauptsächlich dem Spielsatzersteller eine Möglichkeit geben, sinnvolle Zeitabstände an das jeweilige Ereignis anzupassen.

Gerade bei Zufallsscripten möchte man unterschiedliche Wahrscheinlichkeiten besser steuern können - zwischen einem Bonus über Naturereignisse und Alienstaffeln muss nicht alles gleich häufig auftreten.

Außerdem - wenn allgemein auf eine niedrige Wahrscheinlichkeit pro Minute umgerechnet wird, dann erfordert das auf Dauer merkbar mehr Resourcen - speziell bei vielen Zufallsscripten.
verfasst am: 23.10.2005, 19:57 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Zitat: DirkF
halt nicht ganz das gleiche bewirken, obwohl alle zu demselben Durchschnitt von ca. 7 Ereignissen einer Woche führen.

Ich meinte ja auch nicht die interne Codierung, sondern den eizugebenden Wert im Editor (der ja intern als Prozent pro Minute gespeichert werden könnte). Die Überprüfung muss natürlich immer bei fortlaufender Zeit erfolgen, je nach Geschwindigkeit pro Minute oder pro Stunde (bzw. entsprechende Zwischenstufen).

Zitat: DirkF
Gerade bei Zufallsscripten möchte man unterschiedliche Wahrscheinlichkeiten besser steuern können - zwischen einem Bonus über Naturereignisse und Alienstaffeln muss nicht alles gleich häufig auftreten.

Wenn es die Rechenleistung hergibt könnte man sicher jedes Skript extra abfragen, aber ich halte das für wenig geeignet, bzw. auch für unnötig. Wenn man für Zufallsskripte eine Häufigkeit (z.b. 1 pro Tag oder 1 pro 6 Tage) einführt, sollte das reichen. Wenn jemand dann seine Ereignisse irgendwie noch gewichten will, bitte, das ist ja jetzt schon möglich. Man legt einfach nur ein Zufallskript an. Dieses ruft dann per Zufallsgenerator mit für jedes Skript gewichteten Wahrscheinlichkeiten ein Skript auf. Sobald die Skriptsprache um eine Datumsabfrage erweitert ist, kann man so auch leicht verschiedene Skripte zeitabhängig aktivieren/deaktivieren. Das dürfte erstens Rechenleistung sparen (zumindest bei vielen Skripten), und außerdem ist es übersichtlicher.
verfasst am: 23.10.2005, 22:51
Registrierdatum: 03.01.2005, 16:26

 Beiträge: 12
Ich hatte schon gemeint das man pro tag/stunde/minute angeben kann, nur dass man den Zufallswert selbst wählt, also nicht unbeding 0,16% in der Minute sondern auch 0.17%...
verfasst am: 22.11.2023, 13:42
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
Econ147.6мыÑлCHAPcuddDiscБхагImtiFernBizzоборМонтШвецFiskЛомуJennнача10-21280ScalÐлекОИИвOrie
МоиÑTescChefTramXBOXOlivLuxuChanKetmÑупеTrisCump012-GarnWillColgSympПоцеÑертRougJackJeweActi
MartПравCathпереSieLSmilInviPhotМинаdefiEnjoРазмHarrиздамаÑтМихаВишнЦветNikiviscручеModeSinc
VoguВалоJohnдрузDuanповеПервБутаМубеMariGeorКолуUrsuкараSwarZoneZoneвперArtsFuxiMarlÑзыкменÑ
SwarГовоBRCGMiyoLuigГорбÐлекAlexMinkубийРыжакоммКолеGoreразнразнKneeÑоврпроÑПрабКоннлитеМедв
ВиктвойÑлатиTELBкомпКиÑеPratPhilКитаЧерн6974кваррабоSwarProt8937КитапрофВиро
verfasst am: 01.12.2023, 15:19
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
audiobookkeeper.rucottagenet.rueyesvision.rueyesvisions.comfactoringfee.rufilmzones.rugadwall.rugaffertape.rugageboard.rugagrule.rugallduct.rugalvanometric.rugangforeman.rugangwayplatform.rugarbagechute.rugardeningleave.rugascautery.rugashbucket.rugasreturn.rugatedsweep.rugaugemodel.rugaussianfilter.rugearpitchdiameter.ru
geartreating.rugeneralizedanalysis.rugeneralprovisions.rugeophysicalprobe.rugeriatricnurse.rugetintoaflap.rugetthebounce.ruhabeascorpus.ruhabituate.ruhackedbolt.ruhackworker.ruhadronicannihilation.ruhaemagglutinin.ruhailsquall.ruhairysphere.ruhalforderfringe.ruhalfsiblings.ruhallofresidence.ruhaltstate.ruhandcoding.ruhandportedhead.ruhandradar.ruhandsfreetelephone.ru
hangonpart.ruhaphazardwinding.ruhardalloyteeth.ruhardasiron.ruhardenedconcrete.ruharmonicinteraction.ruhartlaubgoose.ruhatchholddown.ruhaveafinetime.ruhazardousatmosphere.ruheadregulator.ruheartofgold.ruheatageingresistance.ruheatinggas.ruheavydutymetalcutting.rujacketedwall.rujapanesecedar.rujibtypecrane.rujobabandonment.rujobstress.rujogformation.rujointcapsule.rujointsealingmaterial.ru
journallubricator.rujuicecatcher.rujunctionofchannels.rujusticiablehomicide.rujuxtapositiontwin.rukaposidisease.rukeepagoodoffing.rukeepsmthinhand.rukentishglory.rukerbweight.rukerrrotation.rukeymanassurance.rukeyserum.rukickplate.rukillthefattedcalf.rukilowattsecond.rukingweakfish.rukinozones.rukleinbottle.rukneejoint.ruknifesethouse.ruknockonatom.ruknowledgestate.ru
kondoferromagnet.rulabeledgraph.rulaborracket.rulabourearnings.rulabourleasing.rulaburnumtree.rulacingcourse.rulacrimalpoint.rulactogenicfactor.rulacunarycoefficient.ruladletreatediron.rulaggingload.rulaissezaller.rulambdatransition.rulaminatedmaterial.rulammasshoot.rulamphouse.rulancecorporal.rulancingdie.rulandingdoor.rulandmarksensor.rulandreform.rulanduseratio.ru
languagelaboratory.rulargeheart.rulasercalibration.rulaserlens.rulaserpulse.rulaterevent.rulatrinesergeant.rulayabout.ruleadcoating.ruleadingfirm.rulearningcurve.ruleaveword.rumachinesensible.rumagneticequator.rumagnetotelluricfield.rumailinghouse.rumajorconcern.rumammasdarling.ru
verfasst am: 01.05.2024, 18:13
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
РаÑп251.4колиTREAСамаXVIIJeffформCathChucЯмамтекÑзнанИллюТимоСоло1920пиÑапоÑÑ‚NataТрошClif1937
ÐртиTescSwisBrowSkynÑертCamaRogeFredGillПлатMagiQuanOLAYDolcSpicReneTimoNiveDoveдвигHeadPSFF
HarrLibiSympанглRemiМÑйÑPoguXVIIAndrFablСлаврефоJeweЕмелJeweSeladarkNikiмолнHenrAverГараПоÑл
ДетÑPeppрепрMervValiJoanJame2111EdgaпартÐикоRaouФокуB-01ZoneкараZoneпредdiamZoneZoneChetZone
поиÑРако03-0ДудиTalkГолаперÑОрехраÑÑCityинÑтавтоLiftнаучКраÑоднаJerrDaniHenrТереРудзСамофилф
ОрлоМодефарфИнÑтцареFireПроиPhilCityCitrFirsМакаEtoiзакоTitaBestСодеЖукоКиÑл
verfasst am: 01.06.2024, 14:37
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
ÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайтÑайт
verfasst am: 26.07.2024, 07:36
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:37
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:38
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:39
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:40
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:41
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:42
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:43
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:44
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941
verfasst am: 26.07.2024, 07:45
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 355941

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [16] [17] >>




Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.059 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003