第二人生的基功能可以定义为网络游戏、社交网络和
Web2.0
。作为网络游戏,它可以让人扮演角色,也就是第二人生里的居民。居民只要买到地,或者租到地后就可以建造各种各样的自己想得到的东西。比如建造游乐园,或者建造电影院,又或者建造过山车。同时,还可以实现居民在虚拟世界里飞行。
作为社交网络,第二人生里的居民可以相互结交朋友,随时可以聊天。还可以组成各种各样的组织,比如举行音乐会,可以一起跳舞交朋友等等。
作为
Web2.0
的功能,就是实时地交互的功能,包括媒体播放,实时语音聊天,视频聊天等等。
为了实现上面的功能,第二人生的架构是由服务器和客户端的来实现,服务器提供了保存人物对象,聊天,还不断地发送每个地图上的状态信息给客户端。第二人生在服务器上采用群服务器的方式,除了登录服务器和交易服务器外,其它大部份是地图服务器,叫
Grid
服务器。每个
Grid
服务器只管理一块固定大小的地图,听说第二人生已经有
6000
多台服务器在运行了,可见服务器需要处理比较繁忙的工作。客户端就相当于现在的网络浏览器,所有看到的数据都是从服务器上实时下载过来的,就像看实时电影一样,因此对客户的网络带宽比较高,最好就是光纤到户。本书后面分析的就是客户端源码,它实现了相当复杂的功能,主基于
OPENGL
的
3D
显示,还可以播放视频,进行语音聊天和文字聊天,还需要创建三维模型,上传图片的功能。客户端还可以运行脚本,编辑脚本的功能。