2 registered members (AndrewAMD, juanex),
1,247
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Would you be interested in a book about GS MP?
#333231
07/14/10 23:57
07/14/10 23:57
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
OP
Senior Expert
|
OP
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
Hi all, What you see below is an overview of the book I'm writing. It's based off a book I wrote a year after getting into GS using A5/6. It's been years since then and both my experience with GS and my writing skills have improved. Hence while based on that old work, it's really been updated to take everything up to A8 (in beta) into account. It's an intermediate level introduction to GS networking. The first 3rd is an overview of networking in general, to set the stage for what is to come. The second third of the book discusses the basic elements of GS. Not how they work insomuch as what they are and their relation to each other. The emphasis is on networking (and thus graphics or audio functions are not discussed) as well as presenting a unified view of the GS engine. Lastly, the final third takes everything up to that point and puts it together. It is here that how GS networks is specifically discussed. The purpose is NOT on how to make anything. The demo is there merely to showcase all the GS network functionality. But the idea is that there will be a followup book which would in fact talk about design and development strategies for specific projects (like MP, MMO, casual, etc). Al the same, an advanced user after reading this book should be able to take the demos and build on them to suit their needs. The numbers are the current page numbers with chapters 1, 2, appendices, and images all done. Chapter 3 is about 80% done and I still need to put the final touches on the demos. The book length should hover around 100 pp. and the demos will be less than 10MB each. Thus the entire package, book + 3 demos, should be less than a 30 MB download. If there is interest in this work, it could be complete in as little as two months at which point I would put it up for sale via a digital download at a yet to be determined price. Please let me know if this would be of use to you, suggestions on other topics or formats for the books, and generally any questions or comments you might have.
.
Table of Contents
Introduction 4
Chapter 1: Network Basics 7
UML Diagrams 7
Component Diagram 8
Use Case Diagram 9
Sequence Diagram 10
Client/Server Architecture 11
N-Tier architecture 11
Client/Server vs. Peer-to-Peer Networks 13
GS Client/Server 2-Tier Architecture 15
If(Connection) 16
My.Terminology 19
Demo 1: Non-Interactive Dedicated Servers 21
Chapter 2: GameStudio™ Basics 25
GameStudio History 25
Authorware Editors 26
MED 27
WED 28
SED 30
Data Structures 33
Quants, frames, ticks, and seconds 33
Strings and Text 34
Vars, long, double 34
Structs and flags 34
Skills 34
Event System 35
Input events 37
Detection events 39
Collision events 41
Engine events 43
Demo 2: Interactive Non-Dedicated Server 44
Chapter 3: GameStudio Networking 46
Network Communication Protocols 47
GS Network object Indexing 48
If(Event_Type == Event_Join) 49
Automatic updates 54
Scripted updates 58
If(Event_Type == Event_Leave) 60
Session_Connect() 62
Network Entities 66
Player=Ent_Create() 67
Network Action() 70
My, My.Skills, and My.Event() 72
If(Event_Type == Event_Disconnect) 74
Scripted Updates 76
If(Event_Type == Event_Var) 78
If(Event_Type == Event_String) 79
If(Event_Type == Event_Data) 79
If(Event_Type == Event_Receive) 80
Network Engine Control 82
Network statistics 82
Packet control 83
Function control 84
Client control 84
Demo 3: Non-Interactive Client with Zoning 86
Appendices
C-lite network functions and variables glossary 87
GS and networking glossary 96
Bibliography 107
Revision notes 108
 
Table of Images
Figure 1: ScreenShot (SS) PAST™ 4
Figure 2: Component Diagram (CD) Template 8
Figure 3: Use Case Diagram (UCD) Template 9
Figure 4: Sequence Diagram (SD) Template 10
Figure 5: CD 3, 4, and GS’ 2 Tier Architectures 12
Figure 6: UCD P2P and C/S Networks 13
Figure 7: UCD Client 14
Figure 8: UCD GS Client-Side and Server-Side networks 18
Figure 9: UCD Dedicated Server 24
Figure 11: SS MED 27
Figure 12: SS WED 28
Figure 13: SS SED 30
Figure 14: CD Events and Event Handlers 35
Figure 15: CD Detection Events 40
Figure 16: CD Entity Collision Events 42
Figure 10: UCD Non-Dedicated Server 45
Figure 17: UCD Joining 52
Figure 18: SD Joining 53
Figure 19: UCD Automatic and Scripted Updates 54
Figure 20: SD Automatic Updates 57
Figure 21: SD Scripted Updates 59
Figure 22: UCD Leaving 61
Figure 23: SD Leaving 61
Figure 24: SD Session_Connect() 65
Figure 25: UCD Client Ent_Create() 69
Figure 26: SD Client Ent_Create() 69
|
|
|
Re: Would you be interested in a book about 3DGS MP?
[Re: Damocles_]
#333241
07/15/10 01:18
07/15/10 01:18
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
OP
Senior Expert
|
OP
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
Luck I don't need; the work is all but done. Motivation to actually finish on the other hand I could use. Writing about any plugins or alternative network engines is outside the scope of this book. Either topic could be a book of it's own and may be someday, just not in this first one.
|
|
|
Re: Would you be interested in a book about 3DGS MP?
[Re: fastlane69]
#333335
07/15/10 20:10
07/15/10 20:10
|
Joined: Jun 2006
Posts: 2,640 Earth
Germanunkol
Expert
|
Expert
Joined: Jun 2006
Posts: 2,640
Earth
|
I believe if you had more demos of functioning network code (like, for example, the whole setup of joining, chat, kicking, disconnecting, rejoining, and, more importantly, movement interpolation and prediction) that would raise the number of sells dramatically. Examples that you could 1) learn from and 2) copy and paste, in part, into your project. The examples you mentioned sound good, but they're too basic. Everyone can setup a server and join it, after playing around for a few days. But when it gets to more advanced stuff, like smooth movement and shooting, people fail. If I were you I'd make a basic, fully working, example game that is built up during the process of reading the book, including entity creation, deleting, moving, controling, but also level loading, chat and the like. Also I'm missing serverlists. No gamer nowadays would want to connect via command line or IP address...
With all of that said, I like the idea of boosting the number of people who know about 3dgs multiplayer... and thus maybe the number of multiplayer projects.
Last edited by Germanunkol; 07/15/10 20:14.
~"I never let school interfere with my education"~ -Mark Twain
|
|
|
Re: Would you be interested in a book about 3DGS MP?
[Re: Germanunkol]
#333358
07/15/10 21:46
07/15/10 21:46
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
OP
Senior Expert
|
OP
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
BTW, I forgot to mention that the book is currently at 25k words. I figure that's a good length for an intermediate/reference text. This is also relevant because I attempted to write about everything listed two quotes down and found that it would have taken at least 2 or 3 times as many words not to mention increased development time in terms of creating the demo, testing it, packaging it, etc... doing this all at once was a little too much for me to do right now quite frankly. So when you say... The examples you mentioned sound good, but they're too basic. I say EXACTLY! You see, most books or projects of this nature start with exactly the goal you have in mind... If I were you I'd make a basic, fully working, example game that is built up during the process of reading the book, including entity creation, deleting, moving, controling, but also level loading, chat and the like. ... which is fine if you already understand what joining means, what chat is in the context of GS, how the net engine kicks clients, how it connects initially, how it connects after the fact, what movement means on the network, the need for prediction, etc. That is the purpose of my demos: to help you understand, not just use, each of these individual components you listed below (with the except of chat and movement atm): the whole setup of joining, chat, kicking, disconnecting, rejoining, and, more importantly, movement interpolation and prediction) If on the other hand a GS MP developer just dives with nothing but getting a game up and running on the brain, then while they may have initial success, eventually their lack of basic GS concepts and procedures will catch up with them. It's exactly as you say: Everyone can setup a server and join it, after playing around for a few days. But when it gets to more advanced stuff, like smooth movement and shooting, people fail. ... and thus my book is there to help your really grok those first few days and instead of just having a working server, you also have a working network knowledge which is much more useful in the long run and sets the stage for really understanding movement, chat, and all the rest and their implementations in GS. It is my belief that people are failing at MP not because it's too difficult or large... it really isn't. It's just that the way it's presented is too advanced. Everyone wants build a MMOG but there is too much focus on the "MMOG" and not enough focus on the "build". This is also meant to be the first book of many. I'm hoping my book(s) will help bring more cohesiveness to the GS MP community and will help more newcomers join our ranks quickly and efficiently. From my book: My aim is to show you the main components needed to create a multiuser virtual environment, a MUVE, with GameStudio. A Multi-User Virtual Environment (MUVE) is defined in this book as:
1. A Computer Simulation using keyboard and mouse as the input devices and monitors and speakers as the output devices 2. …with a Network Architecture comprised of a Client, Server, and a database applications 3. … which implements a Virtual 3-dimensional space-time 4. … which is Shared by hundreds of simultaneously interacting players all of whom can 5. …Move within the environment, 6. …Interact, and Communicate with each other and the environment.
As the first book in a series, this work lays the foundation towards future works. In principle, this book covers points 1 through 4 of the MUVE definition given above. Book 2 will go on to cover points 5 and 6 and show how to use the basic elements of the GS engine to create basic MUVE systems such as move, chat, and mouse interaction. Books 3 & 4 will then go on and present the most advanced of MUVE development topics including registration, security, server farms, mysql database, scan event, collision events, animation, bots, and more.
Finally, as a intermediate GS programming book (but a beginner networking book), the first 2/3 are a great reference and way to make sure you really know everything needed from GS to go from SP to MP. For example, my glossary list has all the net functions and variables spread throughout the manual in one convenient place. My Event Handler diagram (#14) is unparalleled in showing you each and every event that you can enact in GS. And the Scripted Updates sequence diagram (#21) is equally unparalleled at showing you, at a glace, everything that a programmer can send from client to server and vice versa. Also I'm missing serverlists. No gamer nowadays would want to connect via command line or IP address...
But as this book is not about games or for gamers, then this is not a high priority for the first book. While gamers indeed will not input IP addresses, researchers, students, prototypers using the GS engine will think nothing of it until it becomes a problem. As well, by the time you need it, you are talking about POST/GET or SQL calls to some database with IP addresses and that is an advanced topic and again, outside the scope of this current book. Fantastic topic for future works, but as it requires the knowledge that I present in the first book and not the other way around, it will have to wait.
|
|
|
Re: Would you be interested in a book about 3DGS MP?
[Re: HeelX]
#333406
07/16/10 09:32
07/16/10 09:32
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
OP
Senior Expert
|
OP
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
Is your book somehow updated to the current state of the multiplayer functions or did you missed some features since a specific A7 version?
First paragraph of my original post ol' boy. Since I have beta access, I have included everything we know about what A8 Networking will look like. For example, the correct editions are referenced in my book with encryption/compression being pretty much the only pro feature as well a passing mention to the Dplay -> Enet transition.
|
|
|
Re: Would you be interested in a book about 3DGS MP?
[Re: Damocles_]
#333407
07/16/10 09:39
07/16/10 09:39
|
Joined: Mar 2003
Posts: 5,377 USofA
fastlane69
OP
Senior Expert
|
OP
Senior Expert
Joined: Mar 2003
Posts: 5,377
USofA
|
"The biggest problem of (hobby) multiplayer development is not developing a Muliuser gameenvironment itself, but that developers quickly loose motivation:" Couldn't agree more. That I'm still in it is more a testament to my stubborn bullheadedness than any real motivation at this point. But seriously, that is a good point and again, one which is worthy of entire books on the psychology of game development. I don't think that MP is any different than SP in that regard. You present anyone with a game that will take years to realize and they will balk... "years" just isn't in peoples vocabulary these days... "now" is... and so is "right" as in "right now". Which is another reason why I'm taking small steps with my book instead of trying to do it all at once. Again, you and others bring up excellent points but they are just too big to be included in this book right now. As a general question, what section or image of the book (not demo) would you like to see? What part of the book would you need to preview to get an idea of what it's about and it's usefulness to you? Consider that the Table of Content represents a work all but done so virtually anything there is open for preview.
|
|
|
|