Wish to make a non-realtime multiplayer game... where to get started?

I want to make an app that allows multiplayer gaming but not real time... like with playing chess by email... one player makes a move... then perhaps after a few hours the other player makes a move etc...
Where do I get started? Thanks.

Hi Aidan123,
Welcome to the forum and thanks for your post!
Sorry for the problems you've had getting set up on BT Mobile and getting your number transferred across.  You can send over your details and I'll help you with this from here.
Click on my username and under the "about me" section of my profile you'll see the link to get in touch with us.
Cheers,
Robbie
BTCare Community Mod
If we have asked you to email us with your details, please make sure you are logged in to the forum, otherwise you will not be able to see our ‘Contact Us’ link within our profiles.
We are sorry that we are unable to deal with service/account queries via the private message(PM) function so please don't PM your account info, we need to deal with this via our email account :-)
If someone answers your question correctly please let other members know by clicking on ’Mark as Accepted Solution’.

Similar Messages

  • Realtime, Multiplayer Game. But how?

    Hi
    Does anyone know where I can get information (i.e code examples, understandable explanations) about Java realtime programming (time scheduling, graphic thread, synchronisation)? What I want to do is some 2d game where 1 or more players fight against each other over some network in realtime.
    Is it possible to use JMF for such an application? Instead of transfering sound/video I transfer coordinates.
    I learned a bit of CORBA. Are there any CORBA realtime applications?
    Thanks!

    Hi
    Does anyone know where I can get information (i.e code
    examples, understandable explanations) about Java
    realtime programming.I've written a few realtime network games and so feal vagually qualified to answer this. I normally write the games client/server, with the clients being pretty "dumb" (ie sending just the keystrokes to the server and interpreting data back from the server to display the results/graphics). If you get the server to loop around checking each players connection for incoming data, process them all (if there is any), and then send back the "status" of the game as it is as that point, all players will see the game situation as it is at that point equally. You obviously want to minimise as much data being sent/received as possible. Hope this helps.

  • I'm trying to make a game - Where do I start?

    I finished the last app I was working on, which was really fun to do, and now I'd like to get started on a simple game. I 'googled around for a while, and only found how to make iOS or Windows games. I don't really know what I'm looking to do, or what to start on, so I was hoping to be pointed in the right direction.
    If it makes a difference, let's say in this game I want to walk in a straight line through a hallway and have the game finish when I reach the end of it. (I'm using Xcode 5)

    A text-only adventure? Puzzle? Does it need collision detection, or a physics engine? Single screen, or left-right or top-down scroller? Isometric? Fully 3D? Overlaid onto the real world, using the camera for input? (The latter because "you" want to walk, not "a sprite" or "your character".)
    This "hallway", is this a 3D model? Voxels? A live updated view from a moving camera *in* an actual hallway on the other end of the world?
    What about input? A text field ("move north")? Buttons? Tilting your iPhone? Joystick or mouse, or a Leap controller?
    Do you score points for reaching the end of the hallway or for moving in a  straight line? Do you get a highscore list? Does this list include other players on other computers?
    Can other players join you in this hallway? Can you interact with them? Is there a limit to the number of people in the hallway?

  • What are some good multiplayer games where u could chat with other opponents

    i was just wondering about good multilayer game apps where u could chat with your opponents. it would b cool if u could list them

    i was just wondering about good multilayer game apps where u could chat with your opponents. it would b cool if u could list them

  • Im trying to make a drag and drop game where i can drag words into a table which then makes a Tick

    Im having trouble with this and its going wrong. I need to use actionscript 2 and im on flash cs3. Can anyone give me a code i could use to do this or maybe a tutorial?
    Thanks

    if you can't explain, you can't get specific help.  you can still use google to search for tutorials and you may get enough help to see you past the problem(s) you're having.

  • Multiplayer Game Theory using P2P

    Hello. I was wondering if anyone could shed some light on how to go about creating a realtime multiplayer game using p2p.
    Traditionally clients connect to a server, they make rooms, join rooms and start a game. Clients send data to a server, the server processes this data and sends it back to all clients. The server also processes game logic to keep clients in sync. The main job of a client is to render the world the server is processing and send updates about itself.
    Now, when it comes to p2p there is no server to manage the game. So how do you go about creating a game where all clients need to stay in sync and no cheating can occur?
    One method I can only think of is using a host system. For example, all players connect to each other, they are all clients. Each client does some small tests in order to determine the best location for the host so all clients have good latency with each other. After this communication a host is selected out of the clients and will process the game information. All clients are notified of this host and send updates to that host only. The host receives the updates and sends them out to every other client. The host determines game state so every other client only needs to worry about rendering the world. Clients also manage lag by doing some interpolation and guess work on positions etc. When the host leaves / disconnects another host must be selected and the current state of the world is set to whatever that client has rendered.
    I think that method could work, the only problem is the host could cheat, one way around this might be to swap hosts every so often so no client can determine if they are the host or not. If all clients cheat then good for them :). Other than that the only option is to use a RTMP server, but this would negate the speed benefits that comes with RTMFP.
    I'm quite new to this new network stuff so if what I say is completly wrong then please let me know, I would also love to hear any other suggestions you guys have. I know a lot of new things have been added such as multicast and groups, but I don't know enough about them to relate here.
    Thanks.

    Designating a "host" client is in no way better than the traditional sever/clients model due to the following:
    a. you would have to either direct connect each peer to the host, which is innefficient for large groups and not always possible(see NAT issues), or route messages to the host which may turn out to be slow
    b. average latency of clients-to-server vs one-client-to-all-the-others should be in favor of the former, given that a server is generally connected to a network backbone
    c. individual P2P connections may fail and/or the group may "rewire" itself at any time so detecting when the host leaves is tricky; not to mention efficiently designating the host, rocket science may be easier
    ...and more
    The way I see it, you have the following options:
    1. Build it entirely distributed:
    -each peer posts individual updates to the group
    -everybody listens to all updateds and creates own copy of the state; processing overhead should be no bigger for any peer than if it had to be the host
    -have the model loss resilient; some individiual updates may be lost to some, further messages have to be self-sufficient (i.e. declare absolute grid positions not step movement); timestamp every message, they may even arrive in reverse order
    -obfuscate the data model to give cheaters a hard time; keep a backup (yet more obfuscated) data model and swap if the current is compromised; have each peer be suspicious about every update, as if it was the server and maybe report suspected illegal moves
    2. Use RTMFP unicast with FMIS4(the $4.5k one)
    -same client/server model as RTMP
    -managed, no way to cheat (or is there?)
    -lowest latency due to RTMFP yet slightly increased overhead due to encryption
    -RTMP fallback may still be needed for some with firewalled UDP
    3. Use a hybrid of managed and distributed architecture
    -connect peers to the server and also with each-other into the mesh
    -manage security at server level
    -peers send frequent updates to both server and mesh
    -peers receive frequent updates from the mesh yet unfrequent updates from the server; server copy of the state is both a backup for data loss in the mesh and a doublecheck of data integrity
    -whichever individual piece of information is received earlier, via either mesh or server is assimilated to the local state and rendered
    -have peers that have low latency in the mesh request server to update them more often
    The choice from above depends a lot on the specifics of the application, maximum group size(for P2P bigger is better, huge is awesome), requested latency, reliability and security.
    Good luck.

  • A never ending multiplayer game?

    Hi
    I want to make a 2d spaceship multiplayer game (applet). The game should have lots of human controlled spaceships (and maybe some computer controlled spaceships if there are no human players). Each time a new user starts a game in its web browser, a new spaceship will appear in the game. The user will play until his spaceship is shot by another player. A shot spaceship will disappear from the game, and the player may choose to start a new game with a new spaceship. But the game on the server should never end. Each user will play in the same game on the server (but there may be a maximum number of players).
    Is it possible to make a game that never ends? Which requirements apply to the server? Is it possible to use a normal web server (you have only FTP access to the server computer)?

    this is a fast extract from my files, when you run Gclient the server will be launched and 2 clients will be opend, the red boxes are players
    using the mouse you move the box, the change of location is propagate thru the server.
    Server
    import java.io.*;
    import java.net.*;
    import java.util.*;
    public class Gserver
         private int    players = 0;
         private Vector ones = new Vector();
    public Gserver() 
         ServerSocket servS;
         Socket       clnt;
         try
             servS = new ServerSocket(4444);
              System.out.println("Server Ready on port: 4444");
              while(true)
                   clnt = servS.accept();
                   System.out.println(""+clnt);
                   One one = new One(clnt);
                   one.start();
         catch (IOException ex) {System.out.println(""+ex);}
    public void sendToAll(String s)
         for (int i=0; i < ones.size(); i++)
              One one = (One)ones.get(i);
              one.write(s);
    public void sendToOne(One me)
         for (int i=0; i < ones.size(); i++)
              One one = (One)ones.get(i);
              me.write(one.data);
    public class One extends Thread
         private Socket         socket;
         private BufferedReader in;
         private PrintStream    out;
         public  String         data;
    public One(Socket socket)  
         this.socket = socket;
    public void run()
         try
              out  = new PrintStream(socket.getOutputStream());
              in   = new BufferedReader(new InputStreamReader(socket.getInputStream()));
              ones.add(this);
              players++;
              int x = players*30-25;
              data = "P"+players+","+x+","+x+",";
              sendToAll(data);
              sendToOne(this);
              while ((data = in.readLine()) != null)
                  sendToAll(data);
         catch (IOException e) {System.out.println("one!!"+e);}
         close();
         ones.remove(this);
    public void write(String s)
         if (out != null)
              out.println(s);
              out.flush();
    public void close()
         if (socket == null) return;
         try
              if (socket != null) socket.close();
              if (in     != null) in.close();
              if (out    != null) out.close();
         catch (IOException e){}
         socket = null;
         in     = null;
         out    = null;
    public static void main (String[] args) 
         new Gserver();
    client GUI
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.event.*;
    import java.util.*;
    public class Gclient extends JFrame implements KeyListener
         private Component me;
         private Container co;
         private Gsocket   socket;
    public Gclient()  
         super("Glient");
         setBounds(1,1,500,200);
         addWindowListener(new WindowAdapter()
        {     public void windowClosing(WindowEvent ev)
                   if (socket != null) socket.close();
                   dispose();     
                   System.exit(0);
         co = (Container)getContentPane();
         co.setLayout(null);
         co.setBackground(Color.black);
         addKeyListener(this);
         requestFocus();
         setVisible(true);
         if (socket == null)
              socket = new Gsocket(this);       
              if (!socket.isConnected())
                   dispose();     
                   System.exit(0);
              else socket.start();
    public void keyTyped(KeyEvent ke){}
    public void keyPressed(KeyEvent ke)
         int kc = ke.getKeyCode();
         if (me == null) return;
         Point o = me.getLocation();
         Point p = me.getLocation();
         if (kc == 40) p.y++;
         if (kc == 39) p.x++;
         if (kc == 38) p.y--;
         if (kc == 37) p.x--;
         if (!p.equals(o)) socket.write(me.getName()+","+p.x+","+p.y+",");
    public void keyReleased(KeyEvent ke){}
    public void go(String s)
         StringTokenizer tokn = new StringTokenizer(s.trim(),",");
         String p = tokn.nextToken();
         int    x = 0;
         int    y = 0;
         try
              x = Integer.parseInt(tokn.nextToken());
              y = Integer.parseInt(tokn.nextToken());
         catch(NumberFormatException e){}
         Component com = null;
         for (int i=0; i < co.getComponentCount(); i++)
              if (co.getComponent(i).getName().equals(p)) com = co.getComponent(i);
         if (com == null)
              JLabel l = new JLabel(p);     
              co.add(l);
              l.setName(p);
              l.setOpaque(true);
              l.setBackground(Color.red);
              l.setHorizontalAlignment(SwingConstants.CENTER);
              com = l;
              co.validate();
              if (me == null)
                   me=l;
                   setTitle(p);
         com.setLocation(x,y);
         co.repaint();
    public static void main (String[] args)
         Thread t = new Thread()
             public void run()
                   new Gserver();
         t.start();
         Gclient a = new Gclient();
         Gclient b = new Gclient();
         b.setLocation(b.getX(),b.getY()+220);
    client socket
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.*;
    import java.net.*;
    import java.io.*;
    public class Gsocket extends Thread
         private Gclient        client;
         public  String         host;//  = "10.20.2.58";
         private int            port  = 4444;
           private Socket         socket;
         private PrintStream    out;
         private BufferedReader in;
    public Gsocket(Gclient client)  
         this.client = client;
         port = 4444;
         try
              InetAddress ia = InetAddress.getLocalHost();
              host = ia.getHostName();
         catch (UnknownHostException ex)
         try
              socket = new Socket(host,port);
              out    = new PrintStream(socket.getOutputStream());
              in     = new BufferedReader(new InputStreamReader(socket.getInputStream()));
         catch(IOException ex)
              socket = null;
    public boolean isConnected()
         if (socket == null) return(false);
              else            return(true);
    public void run()
         try
              String data;
              while ((data = in.readLine()) != null)
                   client.go(data);
         catch(IOException ex)
         close();
    public void write(String s)
         out.println(s);
    public void close()
         try
              if (socket != null)     socket.close();
              if (in     != null) in.close();
              if (out    != null) out.close();
         catch (IOException e){}
         socket = null;
         in     = null;
         out    = null;
    }Noah

  • Multiplayer game designing for mobiles using J2ME

    i m supposed to design a small multiplayer game for mobiles.It's my semester project.Have found many books for designing single player games but found none on multiplayer game designing.someone plz help me
    plz treat with due regards.

    I understand why results is different: bcs message arrival is not sequenial?
    UPD: There is 1 more thing i cant understand.
    If i will use NetStream and connect directly to peer it is possbile to fail bcs of Firewall or smth? In this situation i should use routing?

  • RTMFP: Multiplayer games

    Hi.
    I have a lot of flash games and was always told that for multiplayer you needed to use things like smartfox server and other software.
    I have just read about the RTMFP which was introduced in 10.0 and updated in 10.1 - does this mean that programming multiplayer has just got easy or have I misread the article.

    RTMFP means that you are capable of building P2P multiplayer flash games that can be low-latency enough for realtime multiplayer games.
    You'll still need to use a central RTMFP rendevous server like Cirrus, Flash Media Server, or the Open Source solutions (like Cumulus or ArcusNode) to establish the "handshake" that will allow clients to directly connect to each other over UDP and RTMFP.
    In terms of difficulty it can actually be slightly more difficult just in the sense that you'll need to build some type of "lobby" service to matchmake players that want to create a game, also if you want to follow the P2P networking model that games like modern warfare uses you'll need some way to establish one of the RTMFP clients as the "host"/"server" so that you'll be able to run some type of consistent simulation (and possibly develop a fallback system in case the "host" drops and you need to promote another peer to be the host).
    In terms of costing less to get a multiplayer game up and running RTMFP potentially provides that because you won't require a central server to run the games through only to provide the initial matchmaking and RTMFP rendevous.

  • Can someone point in the right direction for how to make a multiplayer game over the internet

    Hello,
    I am looking into making a game where two people who can be in different places would log on to the app, log in and can play - i.e. they would be connected over the internet. I'm looking for a hint on what is the direction to take and which technologies.
    For example is there a best practice for example if you make an app with DirectX and C++, and you use some kind of web service or something? or is it easier using C# and XNA? just looking for some pointers in the right direction. I have played around
    with DirectX, far from proficient but have familiarity, I have no experience with XNA but hear it's less hardcore and easier going. I'm particularly interested in what the best way to connect over the internet.
    Thanks

    What you are asking is very complicated and one of the more difficult things you can do in gaming. I'd strongly recommend you start smaller to learn and then move up to multi-player games as your skills grow.
    From the multiplayer client perspective it doesn't really matter which technology you use. You can write a multiplayer game in any engine or technology that can talk to the network. Choose the client technology that you are most adept at and interested in
    and learn it. You can go straight to DX, use a third party library such as Monogame (XNA isn't supported for Windows Store apps), or a complete game engine such as Unity. Once you can write a decent one-player game you'll have the foundation to start on to
    build a two-player game.
    At that point you'll need to define the problem much more specifically. As you state it, it is really wide open. How do you want the users to connect? Directly machine to machine? Matched through a web server but running client side? Connecting to a game
    running on a remote server? Something else?
    The network connection itself is probably fairly straightforward, but where to connect and how to manage that can be difficult. You'll have to decide what properties you want. Is this an action game where responsiveness is important or
    a turn based game where timing is less relevant?
    Are the players connecting locally or completely remotely? If the former then they can probably connect directly over the local network (NFC is great here). If the latter then they probably will need to connect to a matchmaker service to avoid firewalls.
    This can get very complex, but there are existing solutions you can use rather than writing your own.
    --Rob

  • Processing MIDI in non-realtime (Transform Window)

    The only thing I miss from my PC days & Cakewalk (years ago) is the CAL scripting language, which allows the user to process MIDI (in non-realtime) in practically any way imaginable.
    The Transform Window seems pretty close, but I'm running into a lot of brick walls now (after three years of Logic use) that I'm finally trying to recreate some of the functionality I remember having in CAL.
    Particularly, one can't seem to make parameters affect each other? In other words, I can't select a range of MIDI notes (say a snare rush of 16th notes) and apply a velocity crescendo on them based in time (ie, the first note in the measure gets a velocity of 0, the sixteenth gets a velocity of 127, everything in between is scaled appropriately)
    Or, I would love to be able to select a measure of (again, let's say a snare rush of 16ths) notes, and change the start position exponentially based on it's current start position (creating an AphexTwinnian log/exp snare rush)
    I can do this stuff in Max, but it's such a headache to export MIDI, process, reimport, etc etc ...
    I would love to be able to do non-realtime MIDI programming like this without leaving Logic. Is it possible? looking at the manual makes me think it isn't, but I thought I'd ask.

    Ok, a bit of an update.
    Essentially, I'm just trying to make log/exp drum rushes, which means I'm trying to get the "Exponent" operator to work as expected with the position value, which it does not.
    I've figured out how to apply changes in time (by using the position inside operator) like say taking a constant velocity rush and making it fade in or out, and I can use the same principle to move things in time (by adding, subtracting, multiplying, dividing the position value) but there's no way to apply exponential events to time in the Transform Window, unless I'm very much mistaken.
    It almost seems as though the way which the exponent operator affects the position value is a bug (gasp)... almost any values but very very low ones (ie .00001) move everything hundreds of bars either forward or backwards (depending on negative or positive values) and do not scale the start times exponentially regardless ...
    or am i just not figuring out how using the exponent operator in conjunction with position is supposed to work? this is not covered in the manual.
    the 'crescendo' operator is baffling as well. One would expect that using a starting value of "0 0 0 0" would be the base position in your selected region, but actually "-9 0 0 0" is ... and it won't work exponentially, regardless.
    I just wish there was a way to open a little text window, and type in an equation to apply to the selected midi notes. that would be amazing.
    ie "note(position)=note(position)^1.4" or some such

  • Multiplayer game

    hi, i develop in flash 8 (AS2) a car game where i run a race
    with 1 car.
    i want to transform this game into multiplaeyr with media
    server, can someone give me an idea on what do i need to do ??
    thanks.
    any help will be glad

    We don't really have enough info on your game to help you.
    But the basic concept of multiplayer is the following :
    -Server centralizes all information on all players at all
    times
    -Players regularily send info about their status
    -Server regularily send status info received to all others
    players.
    Then, to optimize ressources, status updates should be as
    rare as possible.
    An example : instead of transmitting the car's position all
    the time, you could just transmit when a player turns left or turns
    right, and the game can update itself on the clients side thanks to
    this.
    Position is only sent sometimes to make sure the status
    calculated this way matches the real one.
    This method is called "dead reckoning", wikipedia has a nice
    article about it.
    Good luck, multiplayer is always very though to code.

  • Alternatives to multiple inheritance for my architecture (NPCs in a Realtime Strategy game)?

    Coding isn't that hard actually. The hard part is to write code that makes sense, is readable and understandable. So I want to get a better developer and create some solid architecture.
    So I want to do create an architecture for NPCs in a video-game. It is a Realtime
    Strategy game like Starcraft, Age of Empires, Command & Conquers, etc etc.. So I'll have different kinds of NPCs. A NPC can have one to many abilities (methods) of these: Build(), Farm() and Attack().
    Examples:
    Worker can Build() and Farm()
    Warrior can Attack()
    Citizen can Build(), Farm() and Attack()
    Fisherman can Farm() and Attack()
    I hope everything is clear so far.
    So now I do have my NPC Types and their abilities. But lets come to the technical / programmatical aspect.
    What would be a good programmatic architecture for my different kinds of NPCs?
    Okay I could have a base class. Actually I think this is a good way to stick with the DRY principle.
    So I can have methods like WalkTo(x,y) in
    my base class since every NPC will be able to move. But now lets come to the real problem. Where do I implement my abilities? (remember: Build(), Farm() and Attack())
    Since the abilities will consists of the same logic it would be annoying / break DRY principle to implement them for each NPC (Worker,Warrior, ..).
    Okay I could implement the abilities within the base class. This would require some kind of logic that verifies if a NPC can use ability X. IsBuilder, CanBuild,
    .. I think it is clear what I want to express.
    But I don't feel very well with this idea. This sounds like a bloated base class with too much functionality.
    I do use C# as programming language. So multiple inheritance isn't an opinion here. Means: Having extra base classes like Fisherman
    : Farmer, Attacker won't work.

    Hi
    PandoraElite,
    You can inherit from multiple interfaces (and use explicit interface implementation), but not from classes in C#. You can almost simulate it:
    In C# we don't support multiple inheritance
    http://blogs.msdn.com/b/csharpfaq/archive/2004/03/07/why-doesn-t-c-support-multiple-inheritance.aspx
    What would be a good programmatic architecture for my different kinds of NPCs?
    In your scenario, we can define some interface ,An interface contains only the signatures of methods, properties, events or indexers. A class or struct that implements the interface must implement the members of the interface that are specified
    in the interface definition.
    How to use? Please refer to the following article.
    http://www.codeproject.com/Articles/18743/Interfaces-in-C-For-Beginners
    Best of luck!
    Kristin
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • I wish iCould make iCloud work?!?!

    I cannot for the life of me get my Upload Folder on my Windows 7 64 Bit machine to work predictably.
    I installed the iCloud Content Manager and have it up and running. I've placed various photos into the Upload folder but have only had very limited success with them being sent to my iOS devices (iPhone and iPad).
    I did drag some older photos taken before I had iCloud from my USB attached iPhone into the folder and they did make it to my iPad's Photostream- but, they were cropped in the process and white borders were added to the sides of the otherwise perfect iPhone taken images.
    I've also dragged other image files take from my Nikon D90, along with others from the iPhone into the Upload folder and they just sit there and do nothing.
    After reading some suggestions on this forum, I changed the icloud.exe settings to "run as administrator" but that doesn't seem to have resolved the non-push issue. Photos still seem landlocked on my PC.
    Has anyone found a solution to this problem? The iCloud manager doesn't seem to want to work as smoothly as Apple seems to suggest.
    I wish iCould make iCloud work!!!!

    I have same issues and I am still with Snow Leopard..  I am terrified to switch to Lion or Mountain Lion due to the fact I will lose all my Word documents I have created for many years.   I have been with apple since the 80's  I worked for them when the mouse was developed...  It has far surpassed me I can't keep up anymore.   icloud will not work with snow leopard and my iphone has icloud.  my software won't keep up with any changes either,  nor my printer.  Everytime I let the computer add new updates something else goes haywire.  My apple id, my passwords etc.  I'm on fixed income and can't afford to keep up,  does this mean I will lose all my pictures, documents, and sooooo many other items I have created over the years.  I miss the good old fashion put a picture in a scrapbook to keep it.  Now I have to save and print out everything I create in a document or risk losing it.   I will become a hoarder of paperwork in order to save all my documents and writings that I have done and collected over the years....   Does anyone out there have a suggestion or solutions for good old me....  What good does it do to put things on a disc if you are unable to open them  because your software can't read them anymore.    PLEASE someone help me.....

  • Multiplayer game applet

    Hi,
    I'm currently developping a multiplayer game as a personnal project. I thought of applet as an ideal mean of making this available easily from anywhere.
    I designed the game, developped the core game code, and made a quick GUI. Then came the time to plug that together with a communication protocol.
    Applets can only connect to the server it was downloaded from. No problem there, I can run the game server on the http server (the DB's there anyway).
    I thought about RMI, but my first tests, although totally successful on my LAN, proved a nightmare when crossing the little familiar boundaries of my home network.
    So I was wondering about writing my communication code using sockets instead and controlling my own game data frames.
    So my question is, from your experience, what would you do to communicate between an applet and a server? RMI or sockets? Is there anything else which I haven't considered?
    From what I read, RMI would require me to make the user install a policy file on their local disk, which is out of question.
    Most communications will be initiated by the client, hence why I chose RMI, but I would have ideally to make some communications on the other side. Sockets would allow this two way communication, but from what I understood, it wouldn't work using RMI because this would mean for the applet to start a rmiregistry and listen on some ports?
    I would really appreciate your input on which way I should head for my communication layer, which pitfalls awaits me and where I can get more details from similar projects.
    Thanks!

    Thanks for your input.
    My problem is that I'm an utopist and want my game accessible to the most people possible. Everybody has a browser, but not everyone has web-start.
    Having to install web-start or a policy file on their system might turn off some potential players from giving it a try. And in some environment, it may be simply impossible (my university's network admin won't let me install web-start, and this is the case in many other places for sure).
    The sandbox is not a problem to me since I can run the game server from the http server and only connect to the server the applet was served from.

Maybe you are looking for