Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.10.2013, 22:03

Netzwerk Server Java - Clienten Android und iOS?

Hey,

ich würde gerne für einen Test mobile Geräte von iOS und Android mit nem Java Server reden lassen. Für Java kenne ich nur die richtig coole Kryonet Bibliothek mit der es von Java zu Java geht (auch von Android). Die Frage wäre wie man iOS dazu bekommt... Habt ihr da ne Idee?

lg
Philipp

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

2

01.10.2013, 22:23

Es sollte eigentlich egal sein was auf dem Server läuft solange er die richtigen Protokolle verwendet.

3

01.10.2013, 22:43

Das halt die Frage wie man das hinbekommt... Bei Java ist halt Serialization richtig cool.

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

4

01.10.2013, 23:11

Vor Jahren waren dazu mal Web Services in. Aber die Thematik ist dann doch schnell eher komplex umzusetzen.
Deine Javabibliothek könnte wahrscheinlich zumindestens unter Android laufen.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

5

02.10.2013, 00:05

Es geht darum, ein Spiel zu bauen wo Leute die gerade vorbei kommen mitspielen können bzw ihr Handy als kontroller nutzen.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

6

02.10.2013, 14:30

Du wirst also sehr wahrscheinlich eine WLAN oder Bluetooth Verbindung zwischen den Geräten und dem Server (Computer?) haben wollen.

Wie bereits geschrieben wurde, ist eigentlich nur relevant, über welche Protokolle die Kommunikation stattfindet. Wenn dir Kryonet in der Hinsicht zu viel abnimmt/verschleiert, könnte es eher schwieriger werden, eine passende Bibliothek für iOS zu finden. Auch solltest du von einer direkten Serialisierung (Abspeichern aller Elemente wie sie gerade im Arbeitsspeicher liegen) evtl. absehen, da dies auf der jeweilig anderen Seite (iOS) sonst evtl. um längen schwerer auszuwerten ist.

Abgesehen von diesen technischen Dingen: wie genau soll die Steuerung aussehen? Sollen auf dem Display Buttons angezeigt werden oder sollen die Sensoren ansprechbar sein?
Buttons auf dem Bildschirm anzuzeigen ist durchaus sehr unsinnig, da man sich dann doch lieber einen Controller kaufen sollte. Selbst die billigen liefern ein besseres Spielgefühl, als ein Touchscreen.
Sollten die Sensordaten relevant sein, muss man die Latenz berücksichtigen. Man kann nicht, wie vlt. bei regulären Eingabegeräten einfach so den aktuellen Zustand des Geräts abfragen, da dies zu lange dauern würde. Stattdessen muss das Gerät wohl eher über Änderungen des Zustands informieren und der Server (das eigentliche Spiel) muss die zuletzt gesendeten Daten speichern.


Ich weiß nicht, wie viel Erfahrung du bereits besitzt, aber es kann durchaus sein, dass diese Aufgabe nicht unbedingt passend für dich ist. Damit meine ich nicht, dass ich nicht denke, dass du es schaffen könntest, aber es dürfte doch wohl sehr frustrierend sein, da bestimmtes Hintergrundwissen möglicherweise nicht vorhanden sein könnte. Ich will dich also von nichts abhalten, aber mir erschließt sich der Nutzen des Ganzen auch nicht so ganz.
(Und vielleicht wäre es für den Anfang sinnvoll, die Aufgabe etwas einfacher anzugehen und nur für Android zu entwiklen.)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

7

02.10.2013, 14:56

Hey, joar es ginge eher darum herauszufinden ob man wartende Personen z.b. an einer UBahn oder an Plätzen die Möglichkeit geben kann dort zusammen zu spielen. Daher über Handy. Denke aber per Buttons.

Konkretes Anwendungsgebiet wird ein Planetarium sein. Gerade stecken wir da nur die Problemfelder ab und schauen in welche Richtungen es geht. Laufzeit für das Projekt wird nen halbes Jahr sein und denn in nem Team als Projekt im Institut. Wir haben halt auf dem Netzwerk Gebiet bisher nur mit Kryonet gearbeitet. Aber sollte in nem Informatik Institut noch wer zu finden sein der da Erfahrung hat :)

Aktuelle Idee ist eine Webapp die per NodeJS und Socket.io redet, und denn das an den JavaServer übergibt.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

8

02.10.2013, 15:26

Du willst doch gar keinen Server programmieren sondern eine Client <-> Client Verbindung oder?
Dazu nimmst du dann WLAN oder Bluetooth oder was auch immer. Damit legst du doch wieder eine Schnittstelle fest die Systemunabhängig ist, wobei du somit einmal auf Android und einmal auf iOS gucken musst wie du an diese rankommst.

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

9

02.10.2013, 15:58

Du willst doch gar keinen Server programmieren sondern eine Client <-> Client Verbindung oder?

Nein, da die Mobilgeräte offenbar nicht für die Darstellung des Inhalts verwendet werden sollen, sondern nur für die Entgegennahme der Eingaben.

Ich weiß nicht warum ich nicht sofort an eine Browserbasierte Lösung gedacht habe, allerdings dürfte diese ein paar Probleme umgehen, die sonst mit nativen Apps einhergehen würden. (Die App muss bspw. installiert sein, damit sie verwendbar ist.)
Im Grunde wäre es also das, was du bereits genannt hast, nur dass du bereits entsprechende Bibliotheken dafür hast. ;)
Wichtig wäre zu wissen, wie die Verzögerung bei der Kommunikation aussieht und dass der Server so eingerichtet ist, dass man aus dem WLAN aus darauf zugreift (und nicht versehentlich über das Internet, die Latenzen wären dort höher, vor allem bei Mobilfunkverbindungen).
Mit einer öffentlichen WLAN-Verbindungen sind aber auch Probleme einhergehend, wie, wie werden die einzelnen Mobilfunkgeräte im WLAN geschützt? Wer haftet bei Urheberrechtsverletzungen (sollte Internet verfügbar sein, was nicht empfehlenswert ist)?

Es ist nun zwar etwas offensichtlicher geworden, dass normale Controller keine wirkliche Option sind, aber meiner Meinung nach ist ein Smartphone Touchscreen kein besonders gutes Eingabegerät (wobei das sehr davon abhängig ist, was genau für das Spiel benötigt wird).
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

10

02.10.2013, 22:58

Hmm, so ganz werde ich aus der Fragestellung nicht schlau. Aber da du ja schon Node.JS und socket.io erwähnt hast wäre eventuell WAMP etwas. Wobei ich ehrlich gesagt nicht so ganz das Problem verstehe. Es gibt bereits verschiedene Implementationen davon. Wie diese jetzt aussehen kann ich dir in deinem Bereich nicht sagen.

WebSocket Application Messaging Protocol
:love: := Go;

Werbeanzeige