• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

Archived

This topic is now archived and is closed to further replies.

felonius

DirectPlay and non-win32 platforms

15 posts in this topic

Hi, I am building a networked game and I would like to fulfill user expectations and user DirectPlay for this. I would like, though, to be able to let non-windows versions of the game communicate with the windows versions. One purpose of this is to create a Linux server version of the game to act as a dedicated server. This should be able to interact with the windows clients. Is this at all possible, except by abandoning DirectPlay totally and relying on some lower level protocol stack such as TCP/IP? Any suggestions would be appreciated? B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/


0

Share this post


Link to post
Share on other sites
In a nutshell, you have to abandon DirectPlay in order to communicate across platforms. The DirectPlay protocol hasn''t been (and mostly likely won''t be) released or ported to other platforms.
0

Share this post


Link to post
Share on other sites
DirectPlay doesn''t give you that much over sockets anyway.

An alternative you may want to explore is Apple/Bungie''s OpenPlay, and open-source game networking library. I believe that there are Mac, Win32 and linux implementations.



-vince


0

Share this post


Link to post
Share on other sites
You are both probably right. I have to use something else than DirectPlay then.

It is a shame, though. DirectPlay is service provider independent while others (including OpenPlay) only supports TCP/IP on all platforms. This is the most important protocol but I would still like to support direct modem connections, IPX, null-modems, etc.

I took a look at OpenPlay. It is given in source code meaning that in principle can be ported to any system (providing that to proper drivers are written). A Linux version is under development but is not done. For know only Mac and Windows versions exist.

If anybody knows any other programs for platform/service independant commiunication please let me know.

B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/


0

Share this post


Link to post
Share on other sites

Not very sure if it''s platform independant..

http://www.rogerwilco.com/
0

Share this post


Link to post
Share on other sites
I just looked at Roger Wilco. It is not a communication protocol, but a application layer program for sending voice information over networks. It only works for Mac and Windows and only work on TCP/IP.

In conclusion, Roger Wilco is not what I need. Apple OpenPlay is then a better solution.

B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/


0

Share this post


Link to post
Share on other sites
Nothing is preventing you from abstracting out your session/transport layer from the application. Create an network encapsulating interface for your network calls, and write a DirectPlay implementation and a TCP/IP implementation. Then you can still have your server in linux.
0

Share this post


Link to post
Share on other sites
Uh, that won''t work. DirectPlay uses its own protocols and the protocol spec is not public. So a DirectPlay client will not be able to talk to a non-Windows server.



-vince


0

Share this post


Link to post
Share on other sites
vince, I know that DirectPlay protocols haven''t been released. I said so myself above. I think you missed my point. The point is to abstract out the networking code by protocol. ex:


class NetStuff {
public:
virtual void CreateConnection(int address) = 0;
virtual int SendData(char * buffer, int size) = 0;
};

class TCPNetStuff : public NetStuff {
};

class DPlayNetStuff : public NetStuff {
public:
void DPlayLobbyConnect(void);
};


Then a network interface will be either an instance of TCPNetStuff or DPlayNetStuff. So just don''t compile the DPlayNetStuff implementation for the non-windows clients. You''ll still have the TCPNetStuff network interface to communicate over with other OS''es.
0

Share this post


Link to post
Share on other sites
But my point is that DPlay clients can''t talk to non-DPlay servers/clients.

What''s the use of having a DPlay implementation if it can''t talk to anyone else?

I agree abstraction of the networking API is a good thing - it has already saved my butt many times. It''s just that for this scheme to work all the clients/servers would have to be DPlay.




-vince


0

Share this post


Link to post
Share on other sites
Of course a DPlay interface won''t be able to talk to a TCP interface. But you don''t expect an IPX interface to talk to a TCP interface, do you? There''s still a point to including both, don''t you think? Treat DPlay as just another transport layer. So if the Linux box doesn''t have DPlay don''t try using DPlay to connect to it, simple as that. But if you''ve got a null-modem connected to your friend''s windows box you can still use the DPlay interface to communicate.
0

Share this post


Link to post
Share on other sites
Ah, OK, I see what you are getting at now.

I forgot that he wanted to use null modems and stuff. Why, I have no idea (does anyone even use a modem like that anymore?)

Of course, even with that solution, only Windows clients will be able to play against each other on null modems/normal modems.

IPX presents a problem, although he could use OpenPlay w/TCP/IP for LAN play.


-vince


0

Share this post


Link to post
Share on other sites
The suggestion by SiCrane isactually the one that I have already described in my design document, but I hoped to avoid it.

I guess it simply is not possible to get both platform and service provider independence. Such is life.

The game I am writing is not a massive multiuser game so users should be able to find other people to play with even if two different ways of communicating is possible. I think that I will go for this solution. Thanks, everybody.

B.S. Jacob Marner
Graduate Student of Computer Science, The University of Copenhagen, Denmark.
http://fp.image.dk/fpelisjac/rolemaker/


0

Share this post


Link to post
Share on other sites
Vince, not to keep knocking you down, but why does IPX present a problem? In Linux you can program IPX with sockets, and in WinSock you you can open IPX sockets.
0

Share this post


Link to post
Share on other sites
I think the best solution may be to write your own protocol. It shouldn''t be too hard...

/Pelle
0

Share this post


Link to post
Share on other sites
I do not think so. If I only wanted to use TCP/IP then you are right, but if I wnat to be service provider independant then you are not.

Writing a new protocol that works with multiple service providers is a lot of work. The connectivity API in Windows (i think it is called that) makes things easier.

0

Share this post


Link to post
Share on other sites