• Content count

  • Joined

  • Last visited

Community Reputation

206 Neutral

About Rasterman

  • Rank
  1. Master Server How to ?

    The first lobby I did in ASP and runs on IIS.  The second lobby I did in C++/enet and runs on a Windows VPS, you can get one for $20/month.
  2. How to find a host running the game?

    Here are the broadcast util functions I made for my game, you should be able to add full LAN discovery with only a few additional lines of code. // http://lists.cubik.org/pipermail/enet-discuss/2009-March/001075.html // designed for LAN discovery of servers // sets up a socket to receive broadcast messages on the given port int enetutil_broadcast_setup_receive(int port) { ENetAddress address; address.host = ENET_HOST_ANY; address.port = m_iLANDiscoveryPort; // create UDP socket ENetSocket socket = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM); if(socket == ENET_SOCKET_NULL) return ENET_SOCKET_NULL; // allow multiple servers on the same computer to listen to same port enet_socket_set_option(socket, ENET_SOCKOPT_REUSEADDR, 1); // bind to the address to listen on after REUSEADDR has been set if(enet_socket_bind(socket, &address) < 0) { enet_socket_destroy(socket); return ENET_SOCKET_NULL; } // no blocking again enet_socket_set_option(socket, ENET_SOCKOPT_NONBLOCK, 1); return socket; } // designed for LAN discovery of servers // broadcasts the given data on the port specified // returns: 0 if would have blocked, -1 if socket could not be created, < 0 something went wrong, length on success int enetutil_broadcast_send(int port, void *data, int length) { ENetAddress address; address.host = ENET_HOST_BROADCAST; address.port = port; return enetutil_send(&address, data, length); } // returns: 0 if would have blocked, -1 if socket could not be created, < 0 something went wrong, length on success int enetutil_send(ENetAddress *address, void *data, int length) { // create UDP socket ENetSocket socket = enet_socket_create(ENET_SOCKET_TYPE_DATAGRAM); if(socket == ENET_SOCKET_NULL) return -1; // prevent send from blocking enet_socket_set_option(socket, ENET_SOCKOPT_NONBLOCK, 1); // allow the socket to send to the broadcast address if(address->host == ENET_HOST_BROADCAST) enet_socket_set_option(socket, ENET_SOCKOPT_BROADCAST, 1); ENetBuffer buf; buf.data = data; buf.dataLength = length; int err = enet_socket_send(socket, address, &buf, 1); if(err==0) { /* would have blocked, need to resend later */ return 0; } else if(err < 0) { /* something went wrong, error! */ return err; } enet_socket_destroy(socket); return length; }
  3. 160MB isn't that much, just copy the memory, spin off a thread and write it to disk. worst case display 'saving world' to the players, if there are only 8 and it only takes a few seconds then no big deal. another option is to slowly copy all data to disk, tracking all changes after you started, then at the end apply all those changes together to the disk image, this is probably going to be a lot slower than just writing the whole file, but it won't use any memory.
  4. Unity Allegro 5.1 vs SDL 2.0

    I downloaded and tested SDL 2 with XCode 4.5 and it seems to be very much in development. Only half of the SDL tests compile and of those none actually run or do anything.
  5. Creating a Lua RPG rough timing?

    Make it text/icon based, you can work on one of these until you are blue in the face. There is no point on competing on graphics since AAA games blow you away, so try to make it unique via the story, game mechanics, and characters. You can do all of this in a text/icon based game. If you find you are blowing through the game fast, then you can always add a beautiful graphical layer on top of the game engine, or better yet hire artists to do a professional job on it. It is also MUCH easier and faster to create assets for a completely specd out game than one in development.
  6. Should you support Linux?

    [quote name='clb' timestamp='1349869346' post='4988680'] In my engine I support Win7, Win8RT, OSX, Android, iOS, Web (JS+WebGL), NaCl and NPAPI, but not linux. The reason is majorly because the number of distros is huge and after evaluating it, the build and packaging process is a pain. If you ask five different linux people what the most important distro to support is, you'll get at least five different answers. Depending on distro * distro version * kernel version * GPU card vendor combination, the support for OpenGL driver varies wildly. The system testing complexity is up the roof compared to any other platform. And most importantly, since the market segment is smaller compared to Windows and OSX and there are no good marketing channels, I can't see the point in it. If you're already a linux whiz that knows the different distros and kernels and drivers in and out, perhaps you'll be able to pull off decent support for all the combinations with a bearable/manageable pain, but for "normal" developers, I don't think it's at all worth it. If some big player (Valve+Steam?) comes in and manages to unify the development pain (doubt it), then I'll definitely be reconsidering. [/quote] You may find these articles a good source, supposedly they explain how to create an exe that will run and install on any distro, so you only have to create and manage one. http://www.gamedev.net/page/resources/_/technical/game-programming/linux-game-development-part-1-r2372 http://www.gamedev.net/page/resources/_/technical/game-programming/linux-game-development-part-2-r2377 http://www.gamedev.net/page/resources/_/technical/game-programming/linux-game-development-part-3-r2389 http://www.gamedev.net/page/resources/_/technical/game-programming/linux-game-development-part-4-r2400 http://www.gamedev.net/page/resources/_/technical/game-programming/linux-game-development-part-5-r2421
  7. Should you support Linux?

    [quote name='Orymus3' timestamp='1349823348' post='4988520'] You don't get a lot of sales on Linux, but its generally not an overcrowded market. The big advantage you might have here is if your game is "a lot like" another game (say, an RTS) and your competitors didn't port to Linux yet. You might rake a few sales you wouldn't otherwise. If you can identify your market and competition effectively, it might turn into a more appealing market. Without more details about your product, it would be impossible to advise. [/quote] Here is my game: http://www.isotope244.com/machines-at-war-3.html [quote name='kd7tck' timestamp='1349829253' post='4988547'] Linux gamers may be fewer in numbers but they sure do fork over more cash. The article below illustrates my point. [url="http://www.hypable.com/2012/10/03/humble-indie-bundle-6-ends-2-million/"]http://www.hypable.c...ends-2-million/[/url] [/quote] I am well aware of that Unfortunately without numbers its pretty useless, is Linux 1% of the sales or 20%, thats a huge difference, and seeing the average price is higher leads me to believe the marketshare is much lower.
  8. Login Server - Best Practice

    You are wasting your time, first write a game that demands 10,000 requests per second, and then you will be able to hire a whole team of hplus types to solve all your problems
  9. Should you support Linux?

    I already support Windows, Mac, iOS and plan on doing Andriod. I was wondering if Linux would be worth it, most of what I have found for real numbers suggest its not worth it.
  10. Unity Allegro 5.1 vs SDL 2.0

    Thanks Lazerator, what platforms are you using Allegro on? Have you used multitouch with it?
  11. I am looking at porting my game to use either [url="http://wiki.libsdl.org/moin.cgi/APIByCategory"]SDL 2.0[/url] or [url="http://alleg.sourceforge.net/a5docs/refman/"]Allegro 5.1[/url] and can't decide which to use, both seem to have great support for Windows, Mac, Linux, and both somewhat support iOS and Android. The 3D and shader API seems better in Allegro and when posting on the forums I always get a response from the Allegro community, while not one person has answered an SDL question. I thought more people use SDL though? Does anyone have any experience with both libraries?
  12. Good engine/sdk for Linux/Win/Android dev?

    Unity Allegro SDL FreeGLUT Unreal UDK
  13. What are sales of a game on Linux like compared to Windows and Mac? Assuming a game that would seemingly fit the Linux market, a real time strategy game, how much would it sell on Linux?
  14. Assuming your game logic doesn't depend on where the item is in inventory, why even manage the positions of items in inventory on the server? Simply let the user do what they want, and after a user adds inventory, the server calculates how many inventory slots the user has and is using, if they are using more then they have then you need to do an inventory audit of the user.
  15. You can make any game multiplayer given enough time and talent. I dreaded dragging my 6 year old 150k line codebase (3rd game in the series) multiplayer as it was littered with rands, physics in the drawing code, and some other big no nos, but in the end it only took about 6 weeks to do it and was easier than I had anticipated. Since it sounds like you are starting out I would do the most simple single player game that will meet your desire.