12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 3232|回复: 11
打印 上一主题 下一主题

MMO游戏制作前期准备及思路(一)

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2011-11-9 15:18:00 |只看该作者 |倒序浏览


           3D Buzz’s latest training project involves documenting the development of a massively multiplayer online (MMO) game to create an online class over the subject. Over the past six months, the 3D Buzz team has been in development of a technical demonstration for the game’s platform. This demo was intended only as a way to explore the methods, tools, and technologies that will be employed in the class.
         

           Please note that the gameplay elements discussed and shown here are a part of that tech demo test, and do not represent the look, feel, or theme of the game that will be generated throughout the class itself. These things will be decided through the class's development via design discussions between 3D Buzz and class participants.
         






           MMO Development: A Technical Smorgasbord
           

           I get asked a lot why 3D Buzz has decided to take on the development of an MMO as a Unity training topic. For the record, I’m a huge fan of the concept of MMO gaming. The idea of playing a game with my friends in a cooperative (or competitive) format was one of the biggest gaming draws for me, even many years ago in the old Doom multiplayer days. And as the technology has developed, the things that we can now do with many people all playing together are simply amazing.
         

            
           






           Even now, while I don’t consider myself to be a modern gaming connoisseur by any means, the first time I played World of Warcraft and was able to coordinate complex scenarios with many friends at the same time, I knew I was seeing something special.
         

           But beyond all that, I love the sheer amount of technology that has to be applied to a modern MMO game, especially in the case of role-playing games (RPGs). There are so many different aspects of gameplay that must be addressed: how will players interact with one another? How can they interact with non-player characters (NPCs)? How will the game handle items or pickups, even weapons? How will it handle spells or special abilities? And over all of this, how will each and every action performed in the game interact with the server in a timely fashion? And that’s only the tip of an ever-expanding iceberg. There are so many systems that all have to layer upon one another and integrate seamlessly to create an enjoyable gaming experience.
         

            
           

           It’s all so deep and so technical that I can’t help but get excited just thinking about it. I think, more than anything, this is the biggest reason why I wanted to tackle the development of an MMO. There’s just so much information to impart and so many things that need to be taken into consideration, that it can quickly become overwhelming. I’ve always enjoyed the challenge of taking something that looks like an impossibly complex ocean of information and condensing it down into a digestible and fun-to-experience format. This, as many of you may already know, was the biggest reason I started 3D Buzz in the first place.
         

           Over the next few pages, allow me to take you on a quick trip as to what we’ve been up to throughout this project so far.
         

            
           






           Choosing the Right Game Engine
         

           The game engine was the first key thing that we have had to tackle. These days, it makes little to no sense whatsoever to design a game engine from ground up. Sure, doing so allows for various levels of customizability, but at some point, you’ve got to realize that in most cases, someone out there has already invested a great deal of time and money into R&D-ing exactly what it is you want to do. This means that it’s often more efficient to choose from one of the commercially available engines, and there are many to choose from, each bringing their own pros and cons to the table.
         

           Even though the entire idea started with the concept of developing Unity training, we made sure not to lock ourselves down, provided we could find a better means to create the game. I absolutely love Unity, but I’d rather know that I'm using the right tool for the job than trying to force myself to go through the motions of a development cycle for rhetorical reasons. We have experience in several different engines and we explored many different avenues to see which one worked best for us.
           



           The interesting part was that even though we gave other engines a fair shot, it soon became clear that Unity was going to provide the smoothest environment and the easiest means to rapidly prototype each idea we had. It’s been amazing to sit down and discuss some aspect of the game, draft out a class s***cture, and to see a basic implementation of it within a matter of minutes.
         

            
           






           But even that in itself is not the most compelling argument in Unity’s favor. Indeed, someone well-versed in the proprietary scripting language of certain other engines could make a similar claim. However, in choosing Unity, we were able to utilize programming tools with which we were already comfortable, such as Visual Studio. Plus, being able to use .NET opens the door to a wide variety of APIs, which you just can’t do with a proprietary scripting language. It meant that everything we did could be handled natively in C#, which led to very fast development of new elements to the program. Add to this the easy artistic integration using the FBX format, and Unity has provided us with a fast, clean, and enjoyable environment in which to develop our game.
         

           Of course, we try not to just focus on the way we want to do things. We also try to keep the viewer in mind as well. We know that not everyone out there is in a position to spend a great deal of money on these tools, especially if it’s just something they’re exploring for the first time, or something that they do as a hobby. For this reason, we wanted to find a solution that was financially viable for as many people as possible.
         

           Unity Standard contains all of the necessary components that a viewer will need to follow along, and it’s completely free. Sure, there will probably be some aspects we explore that are specific only to Unity Pro,
           

           The Back End - Our Game Server
         

            
           






           The next critical aspect we needed to get through was figuring out exactly which game server we would use. Obviously, once a game becomes “massively multiplayer,” the way in which you handle client connections becomes absolutely critical to how the game will play. Just as with the game engine, we didn’t want to create something from the ground up if we could leverage on proven technology.
         

           We were looking for an infras***cture that allowed us to have potentially thousands of people interacting with no slowdowns. And there are a few different options out there. Of course, for starters, we looked at using the built-in networking system within Unity. It’s certainly a robust networking system, but didn’t have the kind of power we needed to support a full-blown MMO.
         

           We then branched out to 3rd party socket servers. We looked at a few different candidates. The list was narrowed down to two finalists, those being SmartFoxServer Pro by gotoandplay() andPhoton by Exit Games. Both of these were very capable servers in their own right. We settled on Photon for a variety of reasons. The first is that Photon is built from the ground up in native C and C++. This makes it very small and streamlined (i.e. fast). It also utilizes UDP for faster performance, onto which is added a “reliability layer,” allowing the programmer to flag critical events, so that the server handles delivery of those packets. It makes for a very fast server with no dropping of critical data.
         
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-2-8 23:30:16 |只看该作者
真是不错啊
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-2-20 23:25:17 |只看该作者
不错哦,谢谢楼主
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-2-28 23:27:25 |只看该作者
响应天帅号召,顶
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-4-3 13:13:39 |只看该作者
先顶上去,偶要高亮加精鸟!
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

6#
发表于 2012-5-11 23:26:28 |只看该作者
不错哦,谢谢楼主
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

7#
发表于 2012-7-13 23:21:35 |只看该作者
呵呵,很好,方便罗。
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2012-8-10 00:06:17 |只看该作者
不错不错,收藏了
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-10-18 23:30:12 |只看该作者
发了那么多,我都不知道该用哪个给你回帖了,呵呵
回复

使用道具 举报

maxwu    

0

主题

1

听众

418

积分

设计实习生

Rank: 2

纳金币
374
精华
0

最佳新人

10#
发表于 2012-10-22 09:55:16 |只看该作者
有中文的就好
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-20 19:34 , Processed in 0.074234 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部