Posts by Rafiki

    Hey Madcaz


    war gestern denn testphase? die zeiten der pre alpha wird immer per e mail angekündigt. Ansonsten werden dir andere Pre Alpha Spieler wegen der NDA nicht viel mehr sagen.


    Ich empfehle dir solange die NDA besteht deine Fragen und Probleme solange hier rein zu posten, der wird von Novaquark verwaltet und dort können auch nur andere Tester zu greifen:

    https://board.dualthegame.com/…um/17-pre-alpha-feedback/

    Die Frage ist, wie lange dieser Prozess des Erwachens dauert. In der erzählung von Normac befindet er sich schon in der Umlaufbahn. Das könnte schon der Tag der Landung sein. An dem wir hoffentlich schon fit sind.

    Quote


    a few thousand among them become half awakened between a few years and a few weeks before the arrival:


    Aber es steht ja auch drin dass manche vor der Ankunft geweckt werden. Deswegen würde ich sagen, jeder der vor release seine lore schreibt, kann sich das erlauben.

    Eisengrind setzt sich aktiv für den Erhalt und die Bewahrung der menschlichen, gesellschaftlichen und sozialen Errungenschaften nach Erreichen des neuen Planeten ein. Es darf nicht hingenommen werden, dass die Menschheit einerseits mit der Flucht von der zum Untergang geweihten Erde die größte zivilisatorische Herausforderung gemeistert hat, aber nach der Ankunft in der neuen Welt zurückfällt in steinzeitliche Verhaltensweisen.


    Aus diesem Grund braucht es eine Charta von Alioth. Alle vernünftigen, sozialen und rechtschaffenen Organisationen, Verbünde und Verbände von Menschen sind dazu aufgerufen an der Entwicklung und der späteren Ausrufung und Unterzeichnung mitzuwirken.


    Charta von Alioth

    Wie meinst du dass mit "nicht einheitsmäßig zu einander verlaufen"?

    Ich hab das so verstanden dass es zwischen den ganzen hexagonen/sechsecken auch teilweise fünfecke gibt, die den ovalen effekt durch den runden planeten ausgleichen.


    Wir sollten natürlich nur Schiffe testen die man öffentlich kaufen kann. An wen die Hersteller letztlich ihre Blueprints oder fertige Schiffe verkaufen, dass würde ich gar nicht bestimmen wollen. Letztlich ist es nur eine Infoseite die maximal den Ort verlinkt, wo man den Bauplan her bekommt.


    Natürlich werden Leute Raumschiffe bauen, die sie nicht der Öffentlichkeit zum Kauf anbieten und gerade die sind dann auch uninteressant für eine solche liste. Wen interessiert ein Platz 1 Raumschiff was er nicht kaufen kann, weil es einem bestimmten Militär gehört.

    Zudem funktioniert so was ja auch nur durch die Kooperation von Schiffsbauern. Also die Schiffsvertreiber müssen schon selber uns die Produkte zum testen zu Verfügung stellen. Denn es ist ja gerade für sie von Interesse durch eine Bewertung eine gute Platzierung zu bekommen, weil es dann einfach eine super Werbung ist.


    Deswegen würde ich geheime schiffe einfach mal direkt von der liste ausschließen.




    Edit:
    In einem Interview mit JC sagt er auch dass jeder Bauer blueprints ziehen kann und auch bestimmen kann ob der blueprint nur einmalig funktioniert oder unendlich oft.

    Vorschlag:


    Man richtet eine ähnliche Liste wie oben bei den GraKa von Chip mit allen Möglichen Parametern die man sammeln kann (gewicht, richtungsgeschwindigkeiten, materialwert...)


    Als nächstes müssen wir Raumschiffklasse bestimmen, wie zB Transporter, Jäger, Mutterschiffe?....


    Jede dieser Klasse bekommt eine andere Parametergewichtung. Zwei Beispiele:


    - Bei Transportern ist zB der Parameter "Transportkapazität" am gewichtigsten. Sagen wir zB in der Klasse Transporter beeinflusst die "Transportkapazität" um 40% die Gesamtwertung. "Manövrierfähig" ist für diese Klasse wahrscheinlich am uninteressantesten, also nimmt es nur 5% ein.


    - Bei Jägern ist die "Manövrierfähig" fast noch wichtiger als die Bewaffnung, was definitiv unrelevant ist, ist die "Transportkapazität", also wäre hier ein umgekehrte Gewichtung der verschiedenen Parametern sinnvoll.


    Jetzt können wir alle Raumschiffe in eine Liste rein hauen und sie je nach klasse sortieren lassen. Jedes quartal könnten wir jetzt hingehen und in jeder klasse die ersten 3 Plätze mit einem Siegel auszeichnen.


    "Hunter Traumschiff XY" von "Heksler und Noch" ist Platz 1 in der Kategorie "Jäger" im 3.Q/2019 geworden.

    Das heißt, wir können uns lediglich nur um die Gewichtung der verschiedenen Parameter für die verschiedenen Klassen streiten. Was schon mal wenig Raum für Beeinflussung lässt. Dazu geben wir jeden user die Möglichkeit eine benutzerdefinierte Gewichtung einzustellen und danach die Tabelle sortieren zu lassen.

    Wikipedia wrote:

    Made in Germany (englisch für Hergestellt in Deutschland) ist eine Herkunftsbezeichnung. Ursprünglich Ende des 19. Jahrhunderts als Schutz vor billiger und minderwertiger Importware in Großbritannien eingeführt, gilt die Bezeichnung heute in den Augen vieler Käufer als Gütesiegel.


    Da die DDUC keine geschlossene Interessensgruppe ist, sondern aus vielen verschiedenen auch mit einander konkurrierenden Unternehmen besteht, könnte man über die DDUC eine Art Gütesiegel für Raumschiffe organisieren, ähnlich wie Stiftungwarentest.

    Wir müssten ein verfahren entwickeln wie man Raumschiffe in den verschiedensten Kategorien bewerten kann. Natürlich nach einheitlichen und wissenschaftlichen Methoden. Die Bewertung muss extremen Standards unterliegen. Auch verschiedene Tester müssen zu ähnlichen Ergebnissen kommen. Es darf kein Raum für persönliches befinden geben. Es muss so transparent wie möglich gestaltet werden damit kein Raum für Korruption entstehen kann. Wir bewerten ausschließlich Raumschiffe von Unternehmen die hier vertreten sind und sich über die Standards des Gütesiegels selber vergewissern können. Wenn wir alles richtig machen, dann wird dieses Gütesiegel nicht nur in unserer Bubbel bekannt, sondern auch international (oder sagt man jetzt intergalaktisch?) und jedes Unternehmen zieht daraus seinen Vorteil (abgesehen von denen die Schrott Raumschiffe bauen ;) ).

    Source: Dual Universe Pre-Alpha Tutorial: Lua Scripting | November 2017 (youtu.be/sbvJPuo9npE)

    This is not the final version of Dual Universe. Everything can change.

    Das ist keine vollständige Sammlung, sondern lediglich ein Ausschnitt aus dem Pre-Alpha Tutorial. Alles kann sich noch ändern. Dieses Material wurde offiziell von NQ released und unterliegt somit nicht der NDA.


    Scripting (LUA)

    - Introduction

    - Concepts

    - Element API


    Introduction
    In Dual Universe, you can script interactions between Elements using LUA. The principle is the following: you can plug Elements into a Control Unit 'CONTROL' slots, and each of the plugged Element will present itself as a LUA object capable to emit events and execute functions. The name of the slot is simply the name of the LUA object. The Control Unit has dedicated *Edit LUA* window where you can then associate a piece of LUA code to any event emitted by one of your plugged Element. This code will be executed when the event occurs. Inside the LUA script, you can use the funktions offered by the plugged Elements to generate any behavior you like. These functions are simply methods of the LUA object that represents the slot where your Element is plugged into.


    Concepts

    To script Elements in LUA, here are the necessary steps:

    • Identify the Control Unit that you want to host your LUA scripting. You LUA code will run when you activate this Control Unit.
    • Plug all the Elements that you want to script together inside the Control Unit, using CONTROL links. You can simply click the Control Unit and then the desired plugged Element, this will pick the first free CONTROL plug in your Control Unit. The may want to selectively pick a particular plug, in that case you need to right-click on the Control Unit first and select the desired plug in the menu.
    • Once all the Elements are plugged, open the *Edit LUA* window from the context menu of the Control Unit. This will open the *Control Unit Editor*.
    • The Control Unit Editor is composed of three columns. The first column lists all the slots available, with the corresponding Element plugged inside them. Each Slot correspond to one of the CONTROL plug of the Control Unit.


    Note that there are some predefined slots:

      • System the System DPU, to acces things like keystrokes, updates, timers. See the doc below.
      • Unit: this is the Control Unit itself
      • Liberary: contains useful functions that are implemented in C++ for performance reasons


    The rest of the slots are the slots you used to plug your Elements. You can rename them to help you remember who is what.

    • Select one slot, for expample the System slot.
    • In the middle column (which is initially empty). you can define event handlers to react to events associated to the slot you have selected.
    • Add an event, for example *actionStart*, and select the *forward* action in the dropdown menu that appers when you try to edit the event argument.
    • When you click on an event handler, the third column will display the associated LUA code that must be run when this event occurs.
    • The LUA code can use any of the functions of any slot, using the syntax: slot.function(...)
    • The documentation below details all the functions and events available for all type of Element in the game


    Physics Scripting, how is your ship flying?


    Piloting a ship is a complex topic, a bit like... rocket science actually! We tried to simplify it to a few core concepts. The ship will move because it has some engines attached to it,and engines are capable to exert a force on the body of the ship. To be more precise, there are two things an engine can generate.


    • Forces: they actually push your ship and make it move in a given direction
    • Torques: they make your ship rotate on itself
    • ...

    ...


    Element API


    Generic Element

    All elements share the same generic methods described below


    show()

    show the element widget in the in-game widget stack


    hide()

    hide the element widget in the in-game widget stack


    getIntergrity()

    the element integrity between 0 and 100

    Argument/Return Type Description
    return 0..100 0 = element fully destroyed. 100 = element flly functional


    getHitPoints()

    the element cuccent hit points (0 = destroyed)

    Argument/Return Type Description
    return
    - the hitpoints. 0 = element fully destroyed


    getMaxHitPoints()

    the element maximal hit points when it's fully functional

    Argument/Return
    Type Description
    return - the max hitpoints of the element


    getId()

    a construct-unique id for the element

    Argument/Return Type Description
    return - the element id


    getMass()


    .

    .

    .


    getSignalOut(plug)

    return the value of a signal in the specified OUT plug of the element Standard plug names are composed with the following syntax -> direction-type-index where 'direction' can be IN or OUT, 'type' is one of the following -> ITEM, FUEL, ELECTRICITY, SIGNAL, HEAT, FLUID, CONTROL, and 'index' is a number between 0 and the total number of plugs of the given type in the given direction. Some plugs have special names like 'on' or 'off' for the Manual Swith Unit, just check in-game for the plug names if you have a doubt.

    Argument/Return Type Description
    plug - the plug name, of the form OUT-SIGNAL-index
    return 0/1 the plug signal state



    Container Unit

    Stores items


    getItemsMass()

    reutns the container content mass (the sum of the mass of all the items it contains)

    Argument/Return
    Type Description
    return kg the total container content mass, excluding the container own self mass


    getSelfMass()

    returns the container self mass

    Argument/Return Type Description
    return kg the container self mass. as if it where empty




    Control Unit

    Controll Units come in various forms, cockpits, programming boards, Emergency Control Units, etc. A Control Unit stores a set of LUA scripts that can be used to control the Elements that are plugged on its CONTROL plugs. Kinematics Control Units like cockpit or commander seats are also capable of controlling the ship´s engines via the updateICC method.

    .

    .

    .




    Door Unit

    A door that can be opened or closed


    activate()

    open the door


    deactivate()

    close the door


    toggle()

    toggle the state of the door


    getState()

    returns the state of activation of the door

    Argument/Return Type Description
    return - 1 when the door is opened. 0 otherwise



    Engine Unit

    An engine is capable to produce a force and/or a torque to move your construct


    setThrust(thrust)

    set the engine thrust between 0 and maxThrust

    Argument/Return Type Description
    thrust Newton the engine thrust


    getMaxThrust()

    returns the maximal thrust the engine can deliver

    Argument/Return Type Descripton
    return Newton the current max thrust


    getThrust()

    returns the current thrust level of the engine

    Argument/Return Type Description
    return Newton the thrust the engine is currently delivering


    getTorqueAxis()

    returns the engine torgque axis

    Argument/Return Type Description
    return vec3 the engine thrust direction in world coordinates


    getDistanceToObstacle()


    .

    .

    .



    Force Field Unit

    A forcefield to create an uncrossable energy barrier


    activate()

    activate the field


    deactivate()

    deactivate the field


    toggle()

    toggle the state


    getState()

    returns the state of activation of the field

    Argument/Return Type Description
    return - 1 when the field is active. 0 otherwise


    LandingGear Unit

    A landing gear that can be opened or closed


    activate()

    open the landing gear


    deactivate()

    close the landing gear


    toggle()

    toggle the state of the gear


    getState()

    returns the state of activation of the landing gear

    Argument/Return Type Description
    return - 1 when the landing gear is opened. 0 otherwise



    Light Unit

    Emit a source of light


    activate()

    switches the light on


    deactivate()

    switches the light off


    toggle()

    toggle the state of the light


    getState()

    returns the State of activation of the light

    Argument/Return Type Description
    return - 1 when the light is on. 0 otherwise



    Screen Unit

    Screen Unit are capable to display any html code or text message, you can use them to create visually interactive feedback for your running LUA script by connecting one or more of them to your Control Unit.


    setText(x,y,fontSize,text)

    displays the given text at the given coordinates in the screen

    Argument/Return Type Description
    x 0..100 horizontal position, as a percentage of the screen width
    y 0..100 vertical position, as a percentage of the screen height
    fontSize 0..100 text font size, as percantage of the screen width
    text string the text to display
    return - an integer id that can be used later to update/remove the added element


    setCenteredText(text)

    displays the given text centered in the screen with a font to maximize its visibility

    Argument/Return Type Description
    text string the text to display


    setRawHTML(html)

    set the whole screen html content (overrides anything already set)

    Argument/Return Type Description
    text html the html content to display


    setContent(x,y,html)

    displays the given html content at the given coordinates the screen

    Argument/Return Type Description
    x 0..100 horizontal position, as a percentage of the screen width
    y 0..100 vertical position, as a percentage of the screen height
    html html the html content to display, which can contain SVG elements to make drawings
    return an interger id that can be used later to update/remove the added element


    setSVG(svg)

    displays SVG code (anything that fits within a <svg> section)

    Arguments/Return Type Description
    html html the SVG conent to display, which fits inside a 1920x1080 canvas
    return - an integer id that can be used later to update/remove the added element


    resetContent(id,html)

    update the element with the given id (returned by setContent) with a new html content

    Argument/Return Type Description
    id - an integer id that is used to identify the element in the screen. Methods such as setContenct return the id that you can store to use later here.
    html html the html content to display, which can contain SVG elements to make drawings


    deleteContent(id)

    delete the element with the given id (returned by setContent)

    Argument/Return Type Description
    id - an integer id that is used to identify the element in the screen. Methods such as setContent return the id that you can store to use later here.


    showContent(id,state)

    update the visibility of the element with the given id (returned by setContent)

    Argument/Return Type Description
    id - an integer id that is used to identify the element in the screen. Methods such as setContent return the id that you can store to use later here.
    state 0/1 0 = invisible, 1 = visible


    moveContent(id,x,y)

    move the element with the given id (returned by setContent) to a new position in the screen

    Argument/Return Type Description
    x 0..100 horizontal position, as a percantage of the screen width
    y 0..100 vertical position, as a percantage of the screen height
    id - an integer id that is used to identify the lement in the screen. Methods such as SetContent retun the id that you can store to use later here.


    clear()

    clear the screen


    Cycle its Outbput signal over a set of n plugs, incrementing the activate plug by one step at each impulse received on its inPlug.


     

    getCounterState()

    returns the rank of the currently active out plug

    Argument/Return Type Description


    .

    .

    .



    Counter Unit

    .

    .

    .



    Core Unit

    .

    ,

    ,


    deleteSticker(index)

    delete the referenced sticker.

    Argument/Return Type Description
    index int index of the sticker to delete
    return int 1 in case of success. 0 otherwise



    moveSticker(index,x,y,z)

    move the refernced sticker.

    Argument/Return Type Description


    .

    .

    .


    rotateSticker(index,angle_x,angle_y,angle_z)

    rotate the referenced sticker.


    Argument/Return Type Description
    angle_x deg rotation along the x axis
    angle_y deg rotation along the y axis
    angle_z deg rotation along the z axis
    index int index of the sticker to rotate
    return int 1 in case of success, 0 otherwise




    Detection Zone Unit

    Detect the intrusion of any player inside the effect zone


    getState()

    returns the current state of occupation of the zone


    .

    .

    .




    Gyro Unit

    A generel kinematic unit to obtain information about the ship orientation and velocity


    g()

    local gravity intensity

    Argument/Return Type Description
    return m/s2 the gravitation acceleration where the construct is located


    getWorldGravity()

    local gravity vector in world coordinates

    Argument/Return Type Description


    .

    .

    .



    Laser Detector Unit

    .

    .

    .



    Laser Emittor Unit

    .

    .

    .



    Manuel Button

    Emits a signal when pressed, and as long as it is pressed


    getState()

    returns the state of activation of the button

    Argument/Return Type Description
    return - 1 when the button is pressed. 0 otherwise


    pressed() event

    the button has been pressed


    released() event

    the button has been released



    Manual Switch Unit

    A manual switch that can be in an on/off state


    activate()

    activate the switch on


    deactivate()
    deactivate the switch off


    .

    .

    .


    Pressure Tile Unit

    .

    .

    .



    Telemeter Unit

    Measures the distance to obstacle in front of it


    getDistance()

    returns the distance to the first obstacle in front of the telemeter

    Argument/Return Type Decsription
    return meter the distance to the obstacle, up to getMaxDistance, or -1 if there is no obstacle (or the obstacle is further away than the max distance)


    getMaxDistance()

    returns the max distance from which an obstacle can be detected (default is 20m)

    Argument/Return Type Description
    return meter the max distance to detectable obstacles



    Library

    Contains a list of useful math and helper methods that would be slow to implement in LUA, and which are given here as fast C++ implementation


    systemResolution3(vec_cl,vec_c2,vec_c3,vec_c0)

    solve the 3D linear system M*x=c0 where M is defined by its column vectors c1,c2,c3


    .

    .

    .

    Die Eisengrind Group als modernes Dienstleistungsunternehmen mit Ausrichtung auf den gesamten intergalaktischen Handel betreibt über die Eisengrind Real Estate den Marktführer bei Verwaltung, Verkauf und Betrieb von freien Immobilien. Wir sind Ihr Partner wenn es um den Erwerb von Baugrundstücken, Wohn - und Gewerbegrundstücken und den dazugehörigen Bauten geht. Wir waren es, die den BER im Jahre 2528 doch noch durch einen vollständigen Neubau an den Start gebracht haben und das nach nur dreijähriger Bauzeit.

    Wir bieten Ihnen Finanzierungsmodelle, die für jeden Geldbeutel das passende Konzept bereithalten. Vom schlüsselfertigen Einfamilienhaus für die wichtigsten Menschen in ihrem Leben bis zum intergalaktischen Raumhafen, wir bieten von Planung über Projektion, Finanzierung und Bauleitung bis hin zum fertigen Objekt die ganze Bandbreite der erforderlichen Dienstleistungen.

    In diesem Expose wollen wir ihnen exklusiv lebenslange und kostenfreie Baugrundstücke zur freien Verfügung auf dem Heimatplaneten Alioth anbieten. Sie haben uns richtig verstanden, Sie bekommen kostenfreie Baugrundstücke.


    Das Projekt New Berlin geht dabei auf den großartigen Architekten Mohammed Manfred Lee zurück, der einst die Pläne des neuen Berlins gezeichnet und vorgestellt hat. Die Architektur folgt dabei klar formalen Linien und ist vor allem funktional, mit dem Ziel die Adressierungen der Grundstücke mit der Erden-Uhr zu visualisieren. Zum Gedenken an die alten Zeiten bewegen wir uns noch heute räumlich in ihr. Die Süddeutsche nannte Lees Entwurf, der den Architekturpreis der Eisengrind Group gewann: “ein herausragendes Mahnmal an Vergänglichkeit und neuer Hoffnung!”



    Eisengrindcity01.png



    Sichern Sie sich heute noch ihr exklusives Grundstück auf Alioth mit Fußnähe zum Arkship, indem Sie sich als Unterstützer von New Berlin verpflichten.

    Wir suchen viele starke und fleißige Hände die uns direkt nach der Landung des Arkships bei der Herstellung einer Territory Control Unit helfen. Unser Ziel ist es, New Berlin so nah wie möglich am Arkship zu errichten. Ihr Fleiß entscheidet mit darüber wie nah Ihr Grundstück am Arkship liegt. Jeder Unterstützer von New Berlin erhält ein Wohngrundstück von 256m² im Gebiet LVL B, plus je nach Leistungen extra Fläche für sich, seine Orga oder einfach zum Weitervermieten. Sie erhalten zusätzlich ein Zertifikat welches Sie als Eigentümer des Grundstückes ausweist.


    Als Unterstützer der deutschsprachigen Plattform “Die Kooperative” werden Grundstücke für gemeinnützige Einrichtungen bereitgestellt, welche von “Die Kooperative” Teilnehmern und Anwohnern genutzt werden können. Jetzt einfach auf http://dual.eisengrind.de registrieren und unter http://eisengrind.de/index.php?user-group-apply/60 als New Berlin Unterstützer eintragen

    Hinweis: Seitens der Betreiber des Arkship bestehen angeblich Ideen Territorien auf Alioth mit einer allgemeinen Quanta-Steuer zu belegen. Falls dies eintreffen sollte werden die Lasten mit einem fairen Verteilungsschlüssel gemeinsam getragen.


    Wieso New Berlin und nicht einfach irgendein anderes X beliebiges Hexagon mit Freunden besiedeln?

    Freundschaften können zu Ende gehen. Genau so wie man in Organisationen in Ungnade fallen kann. Eine Zwangsenteignung ist dabei stets zu befürchten. Zwischenmenschliche Probleme, Weltanschauung und/oder politische Absichten finden jedoch keinen Platz in der geschäftlichen Beziehung von Client und Eisengrind - sie bleiben daher stets außen vor. Die Reputation und Ideologische Ausrichtung von Eisengrind erlaubt es nicht ihren Klienten unzufrieden zu stellen. Als Bewohner von New Berlin ist man kein Mitglied eines Staates oder einer Organisation. Es wird lediglich die Einhaltung der Netiquette erwartet.