unity3D游戏制作—暗黑战神DarkGod

本文详述了使用Unity2017.3.1开发3D网络游戏《暗黑战神DarkGod》的过程,涵盖了技术需求、功能需求、设计思路、游戏工程视图、功能模块设计实现等方面。游戏采用C#脚本,利用Visual Studio和Navicat作为开发工具,实现登录注册、角色展示、任务系统、强化升级、网络通信等功能。通过XML配置数据,利用C#序列化和socket进行服务器通信。文章还介绍了游戏的UI布局和各功能模块的详细设计,包括登录界面、数据分层、异常处理等,展示了游戏开发的全面流程。
摘要由CSDN通过智能技术生成

前言

这段时间,用unity尝试制作了一款3D网游,用这篇博客记录这一阶段的学习成果,做个总结。有不对的地方也欢迎大家指正~~

一、技术需求

此游戏是在Unity2017.3.1上开发出来的,Unity2017.3.1可以支持2D、3D场景的编辑,本游戏是基于3D场景开发的。游戏中的脚本语言使用的是C#,Visual Studio 2019为脚本编辑、服务器连接提供了平台,Navicat for MySQL为此游戏数据库提供了创建平台。

二、功能需求

此游戏是一个ARPG网络游戏(ARPG(Action Role Playing Game),游戏术语,意思是动作角色扮演类游戏中,角色的动作(特别是攻击动作)与操作(如点击鼠标)相关的动作。),以刷副本刷材料以强化提升角色为主要玩法。玩家可以通过摇杆移动,然后攻击和释放技能击杀怪物。采用客户端,服务器,数据库三层结构实现登录注册,强化系统,自动任务引导,世界聊天,副本业务等系统。其中在客户端实现了资源动态加载,并设置缓存层。UI(用户界面)采用MVC(MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。),降低愈合,并用事件回调解决数据同步问题。项目采用数据驱动方式,所有数据采用XML(可扩展标记语言标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言)配置表实现,用XML配合C#自动序列化大大减少工作量。在服务器中,使用C#序列化数据,使用socket(在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据)传递数据,使用多线程处理网络IO,使用多线程实现计时回调,设置缓存层减少数据库查询。其制作包括对以下六大功能的需求:

(1)启动逻辑:只有一个启动脚本有Start入口,它会依次调用其他实现有序初始化;

(2)登录界面需要用通用、异步加载方式实现加载完成后的动作,每当启动进入一个根场景,它有一个不会被销毁的对象,所有需要实现的业务功能系统都附在上面,此外还有UI根路径,以此实现场景的自然切换

(3)数据分三层:数据库一层,服务器缓存一层,客户端显示一层,数据同步是主要修改服务器缓存,再向数据库和客户端发送更新;

(4)实现服务器连接,采用数据驱动方式(所有数据用XML配置表配置,XML配合C#自动序列化大大减少工作量),使用C#序列化数据,使用socket传递数据;

(5)实现游戏各个业务:①背景音乐管理、音效管理②注册登录③角色展示④任务导航⑤任务奖励⑥人物对话与发布公告⑦强化提升与充值购买⑧副本任务;

(6)异常处理:收到回复前,客户端禁止其他操作,如果超过一段时间没有收到回复认为网络异常,请求失败。

三、设计思路

DarkGod 是一款形式复杂多样且难度较高的网络游戏,以互联

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值