Ich weiß ja nicht, was für eine Art Spiel das ist aber normalerweise ist es doch üblich, dass der Vertreiber des Spiels einen Server zur Verfügung stellt auf dem sich die Spieler dann registrieren und einloggen können.

Wenn du dem Spieler allerdings die Möglichkeit anbieten möchtest, einen eigenen Server zu nutzen, auf dem er andere Spieler einladen kann, dann muss dieser Spieler auch den dafür benötigten Port freigeben, da führt kein Weg dran vorbei.

...zur Antwort

Es gibt Unity3D einmal als Free-Version und einmal als kostenpflichtige Version.

Bei der kostenpflichtigen Version hast du einfach mehr Möglichkeiten (z.B. nutzen diverser Plugins und mehrere Funktionen in der Programmier-Logik, etc.).

Die Free-Version kannst du dir hier downloaden:

http://unity3d.com/unity/download

und die ist absolut kostenlos.

...zur Antwort
Wie genau mach ich das jetzt, dass ich die Engine verwende?

Wenn du es nicht schon getan hast, dann kannst du dir Unity von der folgenden Website downloaden:

unity3d.com/unity/download

Für den Einstig in Unity kann ich dir diese Seite hier empfehlen:

unity-insider.de/

Dort findest du einige gute und leicht verständliche Tutorials zu Unity (sowohl Texte als auch Videos) und ein Forum mit einer netten Community.

Außerdem findest du auf der folgenden Seite noch eine Dokumentation (in englisch) über alle Unity-Klassen deren Methoden.

Und kann ich Apps für iOS trotzdem mit C# schreiben (Was ja eigentlich für Windows ist).

Ja das kannst du... Wenn du dein Spiel fertig erstellt hast, stellst du einfach in den Einstellungen ein, für welches Betriebssystem das Spiel erstellt werden soll und den Rest macht Unity von ganz allein.

Ich hoffe ich konnte dir weiterhelfen. Wenn du noch weitere Fragen hast, hab keine Scheu sie zu stellen =)

...zur Antwort
Weitere:

Ich persönlich kann zum lernen erstmal PHP empfehlen...

PHP ist zwar keine Programmier- sondern eine Scriptsprache und man kann damit im wesentlichen Sinne auch nur Webseiten gestalten aber damit kann man sehr gut die Programmier-Grundlagen lernen.

Am besten man fängt mit simplen Dingen an wie einfache Textausgabe, über verzweigte Bedingungen und Schleifen bis hin zum Arbeiten mit mehrdimensionalen Arrays und wenn man das alles gut beherrscht, kann man sich dann mit der Objektorientierten Programmierung beschäftigen (erstellen von Klassen, Vererbung, Abstraktion, etc.).

Wenn man das dann gut beherrscht kann man sich mit anderen Programmiersprachen wie beispielsweise Jave oder C++ beschäftigen.

Für normale Anwendungen kann man jetzt nicht direkt sagen, welche Sprache am besten geeignet ist, da das davon abhängig ist, was die Anwendung können soll. Zum Programmieren von Spielen würde ich dir eine Game-Engine wie z.B. Unity3D empfehlen und zum Hacken (oh man, ich mag diesen Begriff nicht, der ist zu oberflächlich ^^). Sind tiefes wissen in den verschiedensten Rechensystemen und ne menge Kreativität gefragt, dann ist es nicht mehr so wichtig, ob man über einen in C++ geschriebenen Crawler an die Daten einer Datenbank kommt oder ob man die sich durch eigenstädiges durchwühlen im Browser beschafft.

...zur Antwort

Schau dir dazu am besten mal dieses Video-Tutorial an:

http://unity-insider.de/tutorials/video-tutorials/side-scroller

(Auch die anderen Tutorials und das Forum von unity-insider.de sind sehr zu empfehlen.)

...zur Antwort

Wenn ich das richtig sehe, hast du bei:

void Start () {

vergessen, die geschweifte Klammer zu schließen. Desweiteren ist in der Zeile:

if(Input.GetAxis ("Horizontal") !=0)|| Input.GetAxis ("Vertical") !=0)

die Klammmer hinter dem ersten !=0 überflüssig.

...zur Antwort
Unity - Problem mit JavaScript aus Tutorial

Mahlzeit.

Ich arbeite mich grade in Unity ein und stoße wohl auf ein "Versionskonflikt". Leider habe ich keine Ahnung was da los ist, aber ich möchte das gerne lernen und daher setze ich mich gerne solange mit Problemen auseinander bis es klappt. Ggf. mit Hilfe anderer.

Daher die Frage, wieso sagt mir Unity das hier Fehler vorhanden sind im folgenden Script obwohl es in einer Vorversion von Unity noch klappte (ist zu sehen in dem Tutorial, woher ich es habe - Schreibfehler ausgeschlossen, habs kontrolliert). Welche Fehler sind es und was muss anders gemacht werden?

@script RequireComponent(CharacterController)

private var controller : CharacterController;
private var dir : Vector3 = Vector3.zero;
var speed : float = 6;
var gravity : float = 9.81;
var jumpPower : float = 5;
var airControl : float = 15;

function Awake() {
    controller = GetComponent(CharacterController);
}


function Update () {
    if(controller.isGrounded) {
        dir.x = Input.GetAxis(*Horizontal*); * speed;
        
        if(Input.GetButtonDown(*Jump*)) {
            dir.y = jumpPower;
        }
        else {
            dir.y = -1;
        }
    }
    else {
        dir.y -= gravity * Time.deltaTime;
        dir.x += Input.GetAxis(*Horizontal*) * airControl * Time.deltatime;
    }

    controller.Move(dir * Time.deltaTime);
}

Mir ist klar das man vom Coden Ahnung haben sollte wenn man mit Unity anfängt, deshalb fuchse ich mich ja ein. Bitte sagt mir, wo liegt der Fehler. Die Meldungen sind folgende:

(38,38): Error UCE0001: ';' expected. Insert a semicolon at the end. (UCE0001) (Assembly-UnityScript)

(39,39): Error BCE0043: Unexpected token: *. (BCE0043) (Assembly-UnityScript)

(40,40): Error BCE0044: expecting ), found 'Horizontal'. (BCE0044) (Assembly-UnityScript)

(50,50): Error BCE0043: Unexpected token: *. (BCE0043) (Assembly-UnityScript)

(51,51): Error BCE0043: Unexpected token: ). (BCE0043) (Assembly-UnityScript)

(52,52): Error BCE0043: Unexpected token: ;. (BCE0043) (Assembly-UnityScript)

(39,39): Error BCE0044: expecting ), found '('. (BCE0044) (Assembly-UnityScript)

(40,40): Error BCE0043: Unexpected token: *. (BCE0043) (Assembly-UnityScript)

(45,45): Error BCE0043: Unexpected token: *. (BCE0043) (Assembly-UnityScript)

(46,46): Error BCE0043: Unexpected token: ). (BCE0043) (Assembly-UnityScript)

(17,17): Error BCE0044: expecting }, found 'else'. (BCE0044) (Assembly-UnityScript)

(9,9): Error BCE0044: expecting EOF, found 'else'. (BCE0044) (Assembly-UnityScript)

...zum Beitrag

Schau mal in der Update-Funktion, in der Zeile wo steht:

dir.x = Input.GetAxis(*Horizontal*); * speed;

und nun denk mal bitte daran, dass es sich bei der Fehlermeldung nicht zwangsweise um ein fehlendes, sondern möglicherweise auch um ein überflüssiges Semikolon handeln könnte ^^

...zur Antwort

Also erstmal müsste man wissen, in welcher Sprache du in Unity scriptest. JavaScript, C# oder Boo... Dann solltest du dich erstmal allgemein mit dieser Scriptsprache einwenig beschäftigen um zu verstehen, wie diese aufgebaut ist.

Für das allgemeine Scripten in Unity wären diese Tutorials hier ganz empfehlenswert:

unity-insider.de/tutorials

hummelwalker.de/howtos-und-tutorials-fuer-programmierer-und-softwareentwickler/

...zur Antwort
Unity und Oculus Rift

Hallo alle zusammen,

ich arbeite zur Zeit an der Uni mit ein paar Leuten an einem Praxisprojekt, welches die Oculus Rift mit einbezieht. In dem Spiel geht es um das Altern. Man befindet sich in einem Labyrinth und kann gute(Äpfel etc.) und schlechte(Alkohol) Gegenstände einsammeln um dadurch jünger bzw. älter zu werden. Hierbei haben wir auch Alterungseffekte wie schlechte Sicht, langsamer Gang und schlechtes Hören eingebaut. Mein Problem ist jetzt, dass ich auf einem Objekt, welches vom Spieler eingesammelt werden kann, zwei AudioSources habe. Ein Sound stellt die junge Stimme da(soll also nur im jungen Alter abgespielt werden) und eins die alte Stimme(soll nur im hohen Alter abgespielt werden). Gleichzeitig soll dieses Objekt und auch der Audio Source nach dem Einsammeln verschwinden. Aktuell kann ich das Objekt einsammeln und dabei wird der passende Sound abgespielt und danach auch zerstört. Zur Zeit habe ich auf einem Objekt dieses Script liegen:

"#pragma strict

var Basketball : GameObject;

function OnTriggerEnter(){ var sound: GameObject = Instantiate(Basketball, transform.position, transform.rotation); Destroy(gameObject); }"

und zusätzlich auf dem Game Object ein Prefab, welches aus einem Script und dem Audio Source besteht.Das Script sieht folgenderweise aus:

"function Start(){ Destroy(gameObject,5); }"

Wie man 2 GameObjecte mit Hilfe des ersten Scriptes erstellt und dort wiederum die Prefabs reinzieht weiß ich auch. Jedoch ist mein Problem, dass ich auf diese Prefabs keinen Zugriff bekomme. Versteht ihr mich;)

Oder kann mir jemand generell sagen, wie ich auf eine Variable(zum Beispiel "age") in einem anderen Skript(zum Beispiel "Timer") zugreifen kann?

Meine letzte Frage ist, ob jemand weiß wie man Textausgaben so gestaltet, dass man sie auch mit der Oculus Rift sehen kann. Hier geht es zum Beispiel um die Zeit, die rechts oben im Display stehen soll und um die Altersangabe, die sich stetig verändert. Aber natürlich ist hier auch der Countdown am Anfang von großer Bedeutung.

Vielen lieben Dank im Voraus für Eure Hilfe,

Sophie

...zum Beitrag

Phu... das ist ja mal ein ziemlich spezielles Anliegen. Also erstmal vorne weg, was die Oculus Rift angeht, kann ich dir leider nicht weiter helfen.

Aber mal zu deinem anderen Problem:

Oder kann mir jemand generell sagen, wie ich auf eine Variable(zum Beispiel "age") in einem anderen Skript(zum Beispiel "Timer") zugreifen kann?

Nahemen wir mal an, du hast verschiedene Objekte in deiner Scene. Auf dem einen Objekt liegt ein Script mit dem Namen "Player" (oder wie auch immer), dieses Script enthält die Variable "age". Auf auf dem anderen GameObject liegt nun das Script namens "Timer", diesem Script könntest du nun eine Variable (nennen wir diese einfach mal "playerGO") vom Typ GameObject hinzufügen, und darin das GameObject mit dem "Player"-Script speichern.

Nun kannst du mit dem Befehl "GetComponent" auf die einzelnen Komponenten(z.B. zugewiesene Scripts) und deren Eigenschaften (in deinem Fall die Variable "age") des GameObjekts aus der Variable "playerGO" zugreifen. Um z.B. im "Timer"-Script auf die Variable "age" des "Player"-Scripts zuzugreifen könnte die Anweisung folgendermaßen aussehen.

var playerScript : Component;
playerScript = playerGO.GetComponent(Player); // Parameter = Name des Scripts

// nun enthält die Variable playerScript alle Variablen und Funktionen,
// des Scripts Player, des jeweiligen GameObjekts
// mit dieser Variable können nu weitere Schritte getätigt werden

// zum manipulieren des Alters
playerScript.age = 24;

// zum zwischenspeichern
var playerAge : int;
playerAge = playerScript.age;

Ich kann jetzt leider keine Garantie auf die Richtigkeit dieses Code-Schnipsels geben, da ich es nur mal schnell hier reingeschrieben habe, ohne es weiter zu testen aber wenn es irgendwelche Probleme damit geben sollte oder du noch Fragen hast kannst du hier ja nochmal Rekommentieren, dann schau ich mir das nochmal an.

...zur Antwort

Also über jMonkey kann ich leider nicht viel beisteuern.

Allerdings könntest du ja mal schreiben, nach welchen Kriterien du dir diese Engine ausgesucht hast. Dann könnte man dir evtl. alternative Game-Engines vorschlagen, für die es mehr Tutorials gibt.

...zur Antwort

Schuldigung, wenn ich was falsch verstanden habe aber du willst den Cube entfernen, der beim erstellen einer Skybox entsteht?

Das wäre nicht sonderlich sinnvoll, da dieser Cube die Skybox ist.

...zur Antwort

Meinst du mit "unity 3" die Unity-Engine in der Version 3 oder hast du einfach nur das "D" für Unity 3D vergessen?

Für den Fall, dass du Unity 3D "Version 3.x" meinst... Würde mich mal interessieren, warum du nicht die aktuellste Version (4.3) nimmst?

Für den Fall, dass du einfach nur Unity 3D meinst... Bräuchte man mehr Infos. (Ist dieser Bug-Report direkt nach der Installation aufgetreten? Hast du noch irgendwelche Plugins instlliert? Was hast du zuletzt gemacht, bevor es zu diesem Problem kam?)

...zur Antwort
Unity 3D mit C#

Also ich bin der Meinung, dass Unity eine wirklich gute Wahl wäre und wenn du Games mit Unity 3D erstellst, dann solltest du die Spielelogik in C# scripten, da man im gegensatz zu JavaSCRIPT! mehr dazu gezwungen ist sauberen Code zu schreiben, was (vor allem bei größeren Projekten) für eine bessere Übersichtlichkeit sorgt.

...zur Antwort

Hmm... ich hatte dir ja schonmal 2 Links zu Unity 3D - Tutorials gegeben, wenn ich mich recht erinnere. Die sind zwar nicht unbedingt auf ein First-Person-Ego-Shooter ausgerichtet, allerdings müsste man sich sowas leicht selber zusammenscripten können, wenn man sich ein wenig damit beschäftigt.

Hast du dich schon einwenig mit dem Scripten in Unity 3D beschäftigt? Weißt du wie man Objekte per Script bewegen kann und wie man auf Inputs (z.B. Mausklick oder Tastendruck) reagiert?

...zur Antwort

Probier mal aus, ein neues Projekt zu erstellen, und dieses dann per Script einfach beenden zu lassen. Das Script kannst du ja dann auf die MainCamera ziehen. Dann kannst du das ja mal auf dem Smartphone Testen. Wenn es normal (ohne diese 10 - 20 sekündige Funktionsunterbrechung) funktioniert, dann hat die andere App möglicherweise ein Problem in irgendeinem Script (möglicherweise hängt es dann noch in irgendeiner Endlosschleife fest oder so).

P.S.: Um was für ein Handy handelt es sich denn?

...zur Antwort

Möglicherweise gibt's da schon fertige Scripts allerdings kann keiner ahnen, wie das Spiel gesteuert werden soll... Das hängt ja schon von dem Faktor ab, ob das Spiel 2D oder 3D seien soll und ob evtl. ein digitaler Joy-Stick auf dem Screen dargestellt werden soll oder ob das alles durch wischen über den Screen passieren soll. Das ist also vollkommen abhängig vom Spiel und da keiner außer dir weiß, was das für ein Spiel werden soll und wie es gesteuert werden soll, wird dir da auch kaum jemand weiterhelfen können.

...zur Antwort

OK, dann stell ich mal ein paar Fragen dazu...

  1. Welche Version von C4D besitzt du?

  2. Hast du noch irgendwelche speziellen Plugins installiert?

  3. Passiert das mit allen Objekten in allen Projekten?

  4. Hast vor kurzem irgendwas an den Programm-Voreinstellungen geändert?

  5. Hast du schoneinmal versucht C4D zu deinstallieren und dann neu zu installieren?

...zur Antwort

Wenn du gern Spiele programmieren möchtest, dann solltest du dich mit Game-Engines auseinandersetzen, die nehmen dir eine ganze Menge Arbeit ab. (Die Spielelogik muss aber dennoch programmiert werden.)

Hier mal eine Liste von bekannten Game-Engines:

http://de.wikipedia.org/wiki/Liste_von_Spiel-Engines

Ich persönlich würde dir Unity 3D empfehlen (gut für einsteiger), dort wird die Spielelogick zwar nicht in Java erstellt, allerdings könnte man das ersatzweise in C# machen, was eine sehr ähnliche Syntax hat.

...zur Antwort

Für Unity, wären glaube ich diese beiden Seiten sehr zu empfehlen:

unity-insider.de/tutorials (Hat auch ein Forum mit einer super Community)

hummelwalker.de/howtos-und-tutorials-fuer-programmierer-und-softwareentwickler/

Bei der Cry-Engine kann ich dir leider nicht weiterhelfen.

...zur Antwort

Keine Sorge die Free-Version von Unity ist wirklich absolut kostenlos. Diese 75$/Monat beziehen sich auf die Pro-Version. Der Entwickler von Unity möchte ja auch gerne etwas an seinem Programm verdienen, deswegen weist er an mehreren stellen darauf hin, dass es auch eine kostenpflichtige Version gibt. =)

Also einfach die Free-Version auswählen und auf "Weiter" (oder was auch immer auf dem Button steht ^^)

...zur Antwort