Idee für Minetest

German
Post Reply
Evolykane
Member
Posts: 23
Joined: Thu Dec 26, 2013 16:22

Idee für Minetest

by Evolykane » Post

Nach langer, langer Zeit wieder mal Minetest gespielt und mir ist gleich die Idee für ein cooles feature gekommen.
Wie wäre es wenn es die Möglichkeit gäbe, im Multiplayer über dem Spieler ein Aktivitätssymbol einblenden zu lassen, standardmäßig, per option oder als einfache HUD option, die Modder nutzen können.
So könnte das zum Beispiel in LUA genutzt werden:

Code: Select all

minetest.register_activitysymbol("default:chating",{ -- regestriert ein neues Aktivitätssymbol
        tile_image = "default_chatsymbol.png",
	type = "constant"
})

minetest.set_activitysmybol(player,"default:chating") -- setzt das aktuelle Aktivitätssymbol von Spieler Player auf default:chating.

minetest.remove_activitysymbol(player,"default:chating") -- entfernt default:chating aus der Liste der zu anzeigenden Aktivitätssymbole von Spieler Player und setzt das Aktivitätssymbol auf das zuletzt gesetzte bzw. auf keins.

minetest.kill_activitysymbol(player) -- leert die Aktivitätssymbol Liste von Spieler Player, so das keins angezeigt wird.

minetest.is_activitysymbol(player) -- liefert wahr oder falsch zurück ob Spieler player grade ein Aktivitätssymbol überm Schädel hat.

minetest.get_activitysymbol(player) -- liefert die ID des grade gesetzten Aktivitätssymbol von Spieler Player.
Wie kann das ganze nützlich sein?
- Wenn zum Beispiel dein Freund/ein anderer Spieler gerade Chat tippt und du dich wunderst warum er nicht auf deine Frage antwortet, dann weist du, ob er grade was schreibt oder nicht.
- Dein Kumpel steht grade vor dem Crafting Table, du fragst ihn ob er dir nen Stack Holz gibt, weist aber nicht ob er grade etwas craftet oder lesen kann was du schreibst, ein Aktivitätsymbol schafft abhilfe.
- Ein AFK Mod könnte das nutzen, wenn ein Spieler AFK ist, ein Symbol über diesem anzeigen zu lassen, so das sich ein Vorbeilaufender Spieler nicht darüber wundert, warum dieser so dumm rum steht.
- Sonstige Möglichkeiten für den Einsatz von Aktivitätssymbolen wären, wenn ein Spieler gerade am Connecten ist, wenn er gerade in den Ofen rein schaut, wenn er gerade sein Inventar offen hat, wenn er gerade einen Aufzug bedient, wenn er bei einem Magiemod einen Magischen Spruch aufsagt, wenn er in einer Cutscene ist, was ich auch noch vorhabe, vorzuschlagen, und, und, und...

Wie könnte das aussehen?
http://www.pic-upload.de/view-23398273/ ... s.png.html
Image


Ich hoffe euch gefällt die Idee und irgendwer fasst sich ein Herz und setzt sie um,
mfg Evolykane

User avatar
Krock
Developer
Posts: 4649
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: Idee für Minetest

by Krock » Post

Zum chat symbol:

Das sollte auch ohne neue API möglich sein.
Es gibt schon Lebenspunkte-Anzeiger in Form einer Grafik.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: Idee für Minetest

by Sokomine » Post

Ich fürchte so ein Aktivitätssymbol wäre nicht so einfach umsetzbar und würde zudem wenig bringen. Beim Chatten oder Bloecke platzieren merkt man vom Lag nicht so viel...wenn man ein Aktivitätssymbol einblendet, gibt das vermutlich so viel Lag, daß der andere Spieler längst wieder aktionsfähig ist wenn das Symbol das erste mal angezeigt wird.

Evolykane
Member
Posts: 23
Joined: Thu Dec 26, 2013 16:22

Re: Idee für Minetest

by Evolykane » Post

@Sokomine, dann sollte vom Server nur geschickt werden das Spieler soundso grade aktivitätssymbol soundso hat, und die anzeige dann vom Client berrechnet werden, das ist doch zum Beispiel bei den Filtern die man per Option aktivieren kann auch möglich und die mit den Computern von 1980 können das per Einstellung deaktivieren, wobei ich mich frage warum diese ihren PC überhaupt zum spielen benutzen, da ein Spiel unter minimalen Einstellungen mit Lag nicht sehr spaßig zum Spielen ist...

User avatar
Krock
Developer
Posts: 4649
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: Idee für Minetest

by Krock » Post

Evolykane wrote:die mit den Computern von 1980 können das per Einstellung deaktivieren, wobei ich mich frage warum diese ihren PC überhaupt zum spielen benutzen, da ein Spiel unter minimalen Einstellungen mit Lag nicht sehr spaßig zum Spielen ist...
Lass meinen PC aus dieser Diskussion!
Auch ältere Computer (2001-2009) eignen sich für Minetest, und das soll auch so bleiben.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: Idee für Minetest

by Sokomine » Post

Das Lag kommt ja auch mitunter unvermeidlich aus dem Netzwerk. Server in den USA, Russland, Brasilien, sonstwo - da hat man in Europa schon mal ein wenig mehr Lag als lokal (Lag im eigentlichen Sinne als Netzwerkverzoegerung). Wenn man Bloecke abbaut oder setzt, merkt man das nicht so. Wenn man schnelle Aktivitäten wie kurz Inventar checken, etwas aus einer Kiste nehmen, einen Satz im Chat schreiben nimmt - dann ist es wahrscheinlich, daß die Aktion beendet ist, wenn's das Gerade-Beschäftigt-Paket zum Client geschafft hat.

Evolykane
Member
Posts: 23
Joined: Thu Dec 26, 2013 16:22

Re: Idee für Minetest

by Evolykane » Post

@Sokomine Wie schafft es dann der große Bruder(Minecraft) oder diverse andere Spiele, wie wäre es mit Teeworlds, Sauerbraten bzw. Red Eclipse, Open Arena, Crafting Death, Black ops und viele, viele, viele MMORPGs?
Du kannst mich nicht erzählen, das eine einfache Variable, bzw. ein weiteres Attribut in dem Player table so einen starken Lag verursacht das es nicht mehr feierlich ist.
Ok vielleicht schon, bei einem PC von 1980 in Weißrussland, mit einer 1 Mbit Bandbreite, aber ob bei einem so harten Lag überhaupt noch was möglich ist (Blöcke abbauen und so) ist dann die andere Frage...

Blue_Ice
Member
Posts: 56
Joined: Fri Jan 10, 2014 21:40

Re: Idee für Minetest

by Blue_Ice » Post

Ach ja, die Lags...
Also ich kenne bisher 2 verschiedene Versionen, warum MT recht schnell anfängt zu laggen.
1. Version: Durch die Mods, da viele von denen nicht vernünftig gemacht worden sind.
2. Version: Durch MT selbst, da dieses nicht dementsprechend Programmiert worden ist.

Beide Aussagen bezogen sich auf die MT Server, wo "angeblich" recht schnell Laggs entstehen.

Evolykane
Member
Posts: 23
Joined: Thu Dec 26, 2013 16:22

Re: Idee für Minetest

by Evolykane » Post

@Blue_Ice, vielleicht wäre es sinnvoll einen Artikel darüber wie man Mods leistungsorientiert schreibt, weil viele, inkl. ich nicht wissen, was im zusammenhang mit der Minetest Engine in LUA alles große Lags verursacht?

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

Re: Idee für Minetest

by twoelk » Post

@Evolykane: Gerade MC hat und vor allem hatte des öfteren Lag Probleme wie auch das zum Teil vergleichbare Second-Life, wenn auch auf anderem Niveau.

Eine Methode die MC nutzt, welche MT nicht nutzt und zur Zeit scheinbar nicht nutzen will ist das mehr Rechenoperationen zum Clienten ausgelagert werden.

Man sollte aber auch nie vergessen welche Resourssen und Kapazitäten die kommerziellen Spiele haben. Nicht nur an Arbeitskraft um Probleme zu lösen sondern auch um gute Spieleserver mit aufwendiger Datenorganisation über mehrere Standorte zu vernetzen. Wenn du beispielsweise in WOW eine Gebietsgrenze überschreitest kann es sehr wohl sein das du jetzt auch auf einem anderen physischen Server spielst als wenige Schritte zuvor.

Ich kenne die meisten der von dir erwähnten Spiele nicht genau aber ich schätze mal das bei den meisten die Welt auch nicht so veränderbar wie in MT oder MC ist. Solche Spiele arbeiten meist mit einer local installierten Welt und übertragen nur Veränderungen. Das geht sowhl bei MC als auch bei MT vom Prinzip her schon mal schlecht.

Vergiss auch nicht das die technischen Anforderungen im Vergleich zu anderen vergleichbaren Spielen, z.B. MC, eher gering sind.

Als eine Lösung ist zur Zeit zum Beispiel das Aufteilen der Information in verschiedene Datenkanäle mehr oder weniger im Gespräch.

Deine Idee der Aktivitätssymbole finde ich übrigens gut, über Ähnliches hatte ich selber schon öfters nachgedacht.

Blue_Ice
Member
Posts: 56
Joined: Fri Jan 10, 2014 21:40

Re: Idee für Minetest

by Blue_Ice » Post

Evolykane wrote:@Blue_Ice, vielleicht wäre es sinnvoll einen Artikel darüber wie man Mods leistungsorientiert schreibt, weil viele, inkl. ich nicht wissen, was im zusammenhang mit der Minetest Engine in LUA alles große Lags verursacht?
Würde ich gerne machen, leider bin ich dazu nicht im stande. Deshalb schrieb ich ja auch etwas von "Aussagen". Ich selber habe leider von Programmierung keine Ahnung und kann nur das wiedergeben, welches mir gesagt wurde.
twoelk wrote:Eine Methode die MC nutzt, welche MT nicht nutzt und zur Zeit scheinbar nicht nutzen will ist das mehr Rechenoperationen zum Clienten ausgelagert werden.
Wie ich wieder "gehört" habe muss dafür wohl ziemlich viel an MT rumgeschraubt werden, so das diese Veränderung an MT "aus meiner Sicht" wohl nicht realisiert wird. Schade!

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Idee für Minetest

by Wuzzy » Post

Sokomine wrote:Wenn man Bloecke abbaut oder setzt, merkt man das nicht so.
Das liegt ein einem einfachen Trick: Dein Client versucht, nach dem Setzen bzw. Abbauen von Blöcken den neuen Zustand der Welt vorherzusagen. Aber erst, wenn der Server den echten Zustand schickt und der Client ihn empfängt, ist er »offiziell«. Der Client nimmt an, dass dort, wohin du rechtsgeklickt hast, der Block sofort erscheinen müsste. Diese Vorhersage ist für einfache Blöcke natürlich meistens richtig, somit kriegt der Spieler davon nichts mit. :-) Wenn die Vorhersage aber falsch war, korrigiert der Client den (kurzzeitigen) Fehler halt.

User avatar
Krock
Developer
Posts: 4649
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: Idee für Minetest

by Krock » Post

Blue_Ice wrote:
Evolykane wrote:Engine in LUA alles große Lags verursacht?
https://github.com/mniip/LUA
Blue_Ice wrote:
twoelk wrote:Eine Methode die MC nutzt, welche MT nicht nutzt und zur Zeit scheinbar nicht nutzen will ist das mehr Rechenoperationen zum Clienten ausgelagert werden.
Schade!
Gegner gefunden! Diese serverseitige "Verlagerung" muss so bleiben, damit ich überhaupt Minetest "zocken" kann. Mit dem momentanen Stand, ist es nicht möglich "falsche" Blöcke zu setzen, der Server kontrolliert alles. Und das soll auch so bleiben!
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

Blue_Ice
Member
Posts: 56
Joined: Fri Jan 10, 2014 21:40

Re: Idee für Minetest

by Blue_Ice » Post

@Krock: bei leichten lags mag das in Ordnung sein, wenn man aber über einen laangen Zeitraum mit etlichen man spielen will können einen diese lags schon auf die Nerven gehen. Da läuft dann selbst MC suuuper flüssig und das nur da MT nicht die nötigen Rechenoperationen schnell genug ausführen kann. Ja, man kann natürlich auch ganz ohne Mods spielen, aber wo bleibt da der Spielspass?

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

Re: Idee für Minetest

by twoelk » Post

Krock wrote: . . .
Gegner gefunden! Diese serverseitige "Verlagerung" muss so bleiben, damit ich überhaupt Minetest "zocken" kann. Mit dem momentanen Stand, ist es nicht möglich "falsche" Blöcke zu setzen, der Server kontrolliert alles. Und das soll auch so bleiben!
Gegner? nicht wirklich, allerdings auch wenn ich die philosophie hinter dieser "Grundsatzentscheidung" bei der Diskussion die da immer wieder aufflammt verstehe und gut finde so bedeutet sie technisch eben doch ein Flaschenhals für das flüssige Spielgefühl. Es ist eben selten so das Sicherheit, was hier wohl ein Hauptargument ist, oder auch das Mitschleppen von alter Technik das Leben einfacher oder schneller macht.

Evolykane
Member
Posts: 23
Joined: Thu Dec 26, 2013 16:22

Re: Idee für Minetest

by Evolykane » Post

Das mit-schleppen von alter Technik ist so ziemlich der größte Fehler den Entwickler machen können!
Der wahrscheinlich beste Vergleich ist Windows Vista ;D, da hatten sie vor, alle und wirklich alle XP und 2000 Techniken und Kompatibilitäten zu wahren, beim Nachfolger Win7 haben sie das aufgegeben, wodurch sich sehr viel verbessert hat, was die Verkaufszahlen und die Nutzermeinungen bestätigt haben.

Und dadurch das mehrere Rechnungen zum Client überlagert werden, besteht nicht zwingend ein Sicherheitsproblem.
Wenn natürlich alles zum Client überlagert wird, so das der Server nur noch eine Lobby Funktion hat, dann ist natürlich maximale Manipulationsmöglichkeit da.
So etwas erwarte ich natürlich, ich rede von der Möglichkeit Animationen vom Client Mod-gesteuert berechnen lassen zu können und dabei kann es doch jedem egal sein ob jetzt, nehmen wir die Aktivitätssymbole als Beispiel ob ein „böser“ Hacker es schafft diese glitzern zu lassen, oder?

Mache Sachen sind nur so Möglich, wie z.B. Cutscenes.
Wie soll man, wenn alle Animationen vom Server berechnet werden, einem einzigen Spieler, eine gesonderte Ansicht, einen geheimen Block oder was weiß ich anzuzeigen?
Sicher kann man Umwege machen, wie es z.B. mit den Formspec Elementen der Fall ist, das man für eine einzelne Spieler-eigene Animation eine eigene Funktion bereitstellt, dass ist aber nichts anderes als das dem Client mitgeteilt wird führe folgenden C++ Code von dir aus, was ist das?
Ja genau eine Client-seitige Berechnung, nur das diese in C++ steht und dadurch schwerer Modifizierbar ist, bzw. nicht als öffentlicher, „legaler“ Mod angeboten werden kann!
Warum nicht das ganze in LUA erlauben/ermöglichen, das Argument Sicherheit fällt da im jeden Fall weg!

User avatar
Desour
Member
Posts: 1469
Joined: Thu Jun 19, 2014 19:49
GitHub: Desour
IRC: Desour
In-game: DS
Location: I'm scared that if this is too exact, I will be unable to use my keyboard.

Re: Idee für Minetest

by Desour » Post

-Das ist eine gute Idee!
-Wenn man jedoch den Nebelaus macht, kann man es von sehr weit weg und durch
Blöcke (nodes) sehen.
Da das bei den Spielerhäuten (für die, die nicht so gut Englisch können:"Das heißt "skin".")
(z.B.Sam) genauso ist, kann man das tollerieren.
-Doch wenn das lagt, wird es nicht oft auf servern benutzt werden.
Es ist ja nicht lebenswichtig.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests