Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
23.02.2007, 16:28
No_Fl



Guten Tag liebe Coder,
ich hab leider nicht viel Ahnung vom HL source code, kann zwar ein bisschen C++ aber würde mich nicht gerade als Meister darin bezeichnen (habs nur mal bis zu nem Sidescroller geschafft :P)

Aufjedenfall hatte ich eine Idee für eine multiplayer Minimod und wollte erst mal abklären ob es überhaupt möglich ist, eines der Hauptfeatures umzusetzen, bevor ich mich in die Konzept Arbeit stürtze.
Und zwar muss es möglich sein über einen Trigger den Level auf den Kopf zu stellen (gravity anpassen) so das die Spieler quasi auf der Decke laufen bzw auch auf den Wänden... am besten wäre es wenn die gravity für jeden Spieler eine andere Richtung haben kann (multiplayer).

Ist sowas möglich? Und wenn ja, nur mit übermässigem Aufwand?

--

zum Seitenanfang zum Seitenende Profil || Suche
001
23.02.2007, 16:47
Oberchecker



Ich würde sogar fast sagen, das is mit normalem hl2 möglich. (Parent-->func_roating)

--

zum Seitenanfang zum Seitenende Profil || Suche
002
23.02.2007, 18:30
McScore



Nee, Oberchecker, keine gute Idee. Du kannst nicht das ganze Level drehen, weil du unmöglich das ganze Level als physbox definieren kannst. Vielmehr sollte (wie in Prey) der Viewport auf den Kopf gestellt werden. Das, denke ich, ist rein coding-technich möglich, allerdings müsste noch die Physikengine so umgeschrieben werden, dass jeder Spieler eine eigene Gravitation haben kann. Setzt, denke ich, viel Programmiererfarung und noch mehr Mathematik vorraus.

--

... und der große böse Wolf bootete und bootete und bootete ...
Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts!
http://www.mcscore.de.vu
13+3+7=23, 133/7+23=42

zum Seitenanfang zum Seitenende Profil || Suche
003
24.02.2007, 09:12
Alatron



Obwohl ich auch nur Teilzeit-(nicht-c++)Coder bin, denke ich dass ich vielleicht trotzdem ne Aussage dazu treffen kann:
Es kommt drauf an, was man machen will. Wenn Du jedem Spieler eine eigene Physik geben willst, dann wird es echt schwer was zu machen. Du müsstest die Gravity unterschiedlicher Spieler auch unterschiedlich behandeln. Das wird verdammt Aufwändig, vor allem weil die Physik glaube ich recht global gehalten ist bisher in HL2. Es hat immer alles die gleiche Gravitation, nur unterschiedlich schwer...

Eine andere Möglichkeit wären a) ein Entity "StickyWall" und b) dem coden eines Alien wie in NS oder AvP. Recht einfach zu machen beides und mit fast dem gleichen Effekt:
a) Könnte wie in "Zelda Twilight Princess" die Magnetwände gemacht werden. Sobald man unter einer Magnetwand steht, kann man per Knopfdruck an diese "angesaugt" werden. Das wäre schon fast ne eigene Gravity, wenn ich diese Magnetwände an allen Decken der Map verteile. Natürlich könnte man es auch so machen, dass das Entity dann ein und ausschaltbar ist und die Spieler automatisch angesaugt werden. und manche Wände kann man dann auch damit ausstatten.
Hauptproblem wird wahrscheinlich hierbei aber auch die PhysikEngine sein, aber ich gehe davon aus, dass man die mit mit dem von Oberchecker genannten Trick umgehen kann: Einfach im Code den Player an das Parent "StickyWall" binden, das Model um 180 Grad drehen, und schon sollte der Spieler an der Decke laufen können. Wenn man dann nicht als Stationär gilt als client zu einem Parent... Müsste man halt mal testen.

b) erreicht einfach den üblichen Effekt "Bei Knopfdruck an Wänden entlanglaufen"

Wenn ich hier irgendeinen Denkfehler drin habe, korrigiert mich, Ihr echten thewall Coding-Götter ;)

--

Vor der Umstellung als Alatron bekannt

zum Seitenanfang zum Seitenende Profil || Suche
004
24.02.2007, 11:28
No_Fl



Jo Alatron, sowas wäre wahrscheinlich die simpelste Lösung, ich muss da evtl. einfach ein paar Dinge in der Idee anpassen...das ladder entity liefert ja evtl. schon ne Einstigshilfe welche man ein bisschen umschreiben kann, sodas man auch an der Decke klebt + eine zusätzliches "push" entity das den Spieler zurück auf die Decke drückt wenn er von der Decke abspringt.

Ich geh mal noch ein bisschen nachdenken... :)

--


Dieser Beitrag wurde am 24.02.2007 um 11:28 von _NoFL bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
24.02.2007, 13:24
oxff



Du kannst `relativ' Einfach Spieler an der Decke laufen lassen (mit gedrehten View), allerdings die Physik so zu aendern, dass man nach einem Sprung wieder richtung Decke `faellt' wird ohne Eingriffe in die Engine... `umstaendlich'. Ein Alien, das an der Decke laeuft geht also einfach, die Physik fuer einzelne Entities zu spiegeln ist u.U. schwer und duerfte nur als Hack zu realisieren sein (wobei ich zugeben muss, dass ein Grossteil meiner Erfahrung auf HL1 Code basiert und ich mit HL2 nur sehr wenig gemacht habe).

--

mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik

zum Seitenanfang zum Seitenende Profil || Suche
006
13.04.2007, 22:11
Zornig



Ich hab für Cs ne Map so gemacht, dass in jeder fünften Runde man an der Deck spielt.
Dabei habe ich Func_Brush benutzt, weil diese nach jeder Runde dennoch ihren Zustand beibehalten und nicht zurückgesetzt werden.
Dann einfach in dieselbe Map den Raum spiegelverkehrt gesetzt und bei jeder 5 Runde werden mithilfe einer Func_Brush-Apparatur die Spieler in den anderen Raum geportet.

Hier ein Tut:
http://www.css-maps.de/home/mapping/cs-s-runden-bergreifende-nderungen-an-maps.php?Itemid=56

--

zum Seitenanfang zum Seitenende Profil || Suche
007
14.04.2007, 05:01
sync



unqualifizierter einwurf eines menschen, der _nur_mappt und so richtig überhaupt keine ahnung von engineprogrammierung hat:

könnte man nicht "einfach" die gravity auf 0 stellen, jedem spieler einen trigger_push anparenten, der per trigger in andere richtungen zielen kann (per extraentity kann man den spielern definitionen geben für die dann die trigger schießen) und das event "spieler kann laufen" als "der fußbone des models muss ein face berühren" definieren?

wee. das funktioniert doch, oder?

nochmal:

- spielermodels haben einen punkt auf fußhöhe und können nur laufen, wenn dieser mit einem face in kontakt ist

- jedes spielermodel trägt einen individuellen trigger_push mit sich, der mit wert 600 nach unten (richtung füße des models) pusht

- die models und pushes können per speziellem libary-system (neues entity) einzeln angetriggert werden.

(wenn ich mich jetzt als totaldepp hinstelle, sag mir das einer bevor ich anfang, nur wegen solcher idee cpp zu lernen)

--

[CS:S-, CSP- und TF2-Maps ]

zum Seitenanfang zum Seitenende Profil || Suche
008
14.04.2007, 09:23
Zornig



Wenn ich die Gravity auf Null oder sogar noch weniger stelle, dann hängt sich das Spiel bei mir auf, denke damit kommt die Physik nicht zurecht.

Ach ja, wie kann man den Viewport drehen?

--


Dieser Beitrag wurde am 14.04.2007 um 09:29 von Zornig bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
14.04.2007, 17:33
PotKinRot



Zitat:
Zornig postete
Wenn ich die Gravity auf Null oder sogar noch weniger stelle, dann hängt sich das Spiel bei mir auf, denke damit kommt die Physik nicht zurecht.
Afaik kommt die Physik schon damit zurecht, als ich die Schwerkraft zum Test mal auf null gesetzt habe, wurde die Schwerkraft einfach "ausgeschaltet", sämtliche Physobjekte, die in Bewegung waren, haben einfach ihre momentane Richtung und Geschwindigkeit bis zu einer Kollision beibehalten.

--

zum Seitenanfang zum Seitenende Profil || Suche
010
16.04.2007, 16:15
IvansBerry



Weiß nicht ob das schon bekannt ist, aber hab hier mal was bei YouTube gefunden :)

http://www.youtube.com/watch?v=tEYWy9eftF4

--


Dieser Beitrag wurde am 16.04.2007 um 16:20 von IvansBerry bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
16.04.2007, 17:12
PotKinRot



Das Video sieht zwar toll aus, die Technik dürfte aber wohl eher weniger für den Einsatz in CS:S geeignet sein, da im Video scheinbar nur der Einzelspielermodus modifiziert wurde, und scheinbar auch die gesamte Schwerkraft in Abhängigkeit von der Ausrichtung des Spielers manipuliert wird. Da CS:S mehrere Spieler verwenden kann, würde es zu schweren Fehlern kommen, wenn z.B. ein Spieler an der Decke rennt, aber ein anderer zeitgleich auf dem Boden rennt. Wohin soll dann die Schwerkraft wirken, wer verändert sie? Das müsste wohl eher über ein Entity geregelt werden... dann könnte man es auch mit dem I/O-System steuern. Dafür wären dann aber wohl gute Coding-Kenntnisse vorausgesetzt. Man könnte dann ja auch mal den Ersteller des Videos bei YouTube fragen, ob der einem weiterhelfen kann.

--

zum Seitenanfang zum Seitenende Profil || Suche
012
17.04.2007, 18:12
Brul



Also ich finde das video cool aber wie potkinrot schon sagte, im multiplayer modus geht das wohl nicht so gut... doch, das video gefällt mir... aber es kann Kopfweh machen wenn mans sich zu oft anschaut^^.

--

Schwachsinn


Dieser Beitrag wurde am 17.04.2007 um 18:13 von Brul bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
17.04.2007, 22:58
McScore



Guck mal genau hin. Alle normalen Physikobjeke schweben. Es gibt also keine globale Gravitation. Granaten sind schon jetzt traditionell immer der Physik des Werfers unterlegen. Denkbar für Multiplayer wärs also. Sieht ohne passende Animationen nur vermutlich n bissl blöd von außen aus.

--

... und der große böse Wolf bootete und bootete und bootete ...
Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts!
http://www.mcscore.de.vu
13+3+7=23, 133/7+23=42

zum Seitenanfang zum Seitenende Profil || Suche
014
18.04.2007, 14:50
PotKinRot



Zitat:
[...]
Guck mal genau hin. Alle normalen Physikobjeke schweben.
[...]
Ach ja? Also ich bemerke da eine Physbox an der Decke, die, nachdem sie angeschossen wird, zu Boden fällt, der in diesem Fall die Decke ist, da der Spieler an ihr läuft.
Zitat:
Granaten sind schon jetzt traditionell immer der Physik des Werfers unterlegen. Denkbar für Multiplayer wärs also.
Ergibt keinen Sinn! Es sei denn, du willst dagen, dass die Granaten einer globalen Gravity unterliegen, in diesem Fall ist bloß die Formulierung schlecht gewählt.
Außerdem wird ja dann die globale Gravity, wie schon erwähnt, vom Player geändert, und das dürfte dann zu den bereits erwähnten Problemen führen.

[edit]Ach ja, mir ist in dem Video noch eine rätselhafte Stelle aufgefallen: Bei 0:15 verhalten sich die Physikobjekte irgendwie komisch... Sie verhalten sich für mien Auge völlig irrational, sowohl zum Player als auch zu irgendeiner Wand.[/edit]

--


Dieser Beitrag wurde am 18.04.2007 um 14:54 von PotKinRot bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
015
18.04.2007, 16:26
McScore



Mit "normal" wollte ich eben jene physbox ausschließen, ich meinte das Fass und die Waffe bei 0:15. Sie sind schwerelos und schweben, von der Granate getroffen, in den Raum hinien.
Mit "der Physik des Werfers" meinte ich, dass die Granate dahin fällt, wo für den Werfer unten ist. Wenn du auf einem Server die sv_gravity änderst, ohne die Map neu zu laden, kommt es vor, dass sich die Physikobjekte unverändert verhalten (weil die Physik-Engine noch den alten Wert benutzt), Granaten jedoch fliegen sofort anders, weil sie schon der neuen Gravitation unterliegen. Es ist aber auch möglich, dass ich das nur auf meinem Listenserver beobachten kann.

--

... und der große böse Wolf bootete und bootete und bootete ...
Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts!
http://www.mcscore.de.vu
13+3+7=23, 133/7+23=42

zum Seitenanfang zum Seitenende Profil || Suche
016
27.04.2007, 17:01
the_real_Andi



es gibt zwei physiks glaub ich, einmal die erst durch den neustart übernommen wird, prop_ragdolls zb. benutzen diese, und dann die physik die sich per sv_gravity sofort ändern lässt.

--

zum Seitenanfang zum Seitenende Profil || Suche
017
27.04.2007, 23:33
PotKinRot



Teste das doch mal. Wäre gespannt, obs stimmt!

--

zum Seitenanfang zum Seitenende Profil || Suche