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