项目实战开发
以实战为线索,介绍项目开发过程中涉及的各种管理和技术。
壹种念头
开发过《王者荣耀》。知乎、Unity Connect:放牛的星星。Unity官方博主,Unity官方、侑虎、蛮牛等公众号发布多篇技术文章。Unity开发,手游开发。每天一个念头,探寻真谛,记录灵感。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Unity手游实战:从0开始SLG——ECS战斗(六)Unity面向数据技术栈(DOTS)
什么是DOTS?DOTS是Unity一个阶段性的转变,也是Unity蓝图上一个非常重要的里程碑节点。Unity的官网为它建立了主题链接,甚至打出了阶段性的口号:重建Unity的核心!,可见Unity对DOTS的重视程度。那么DOTS的含义是什么呢?看下官网的截图:高性能多线程式数据导向性技术堆栈。可以看到DOTS的几个关键词,高性能、多线程、数据导向、堆栈。那么它用什么去保障这些关键词呢?C# jobs Systemjobs System 命中了DOTS里的高...原创 2020-06-29 19:51:32 · 2509 阅读 · 1 评论 -
Unity手游实战:从0开始SLG——ECS战斗(五)浅谈CPU缓存命中
ECS在游戏里的运用,最初是用来解决预测和回放的问题。但是由于面向数据的编程结构,天然符合了现代CPU的编程思想,所以目前UnityECS主要还是推动展现性能方面的优势。那么ECS是如何提升程序性能的呢?最重要的其实就是CPU的缓存命中。讲CPU命中之前,我们先说说CPU的一些基础知识。CPU架构我们现在经常听到的关于CPU的描述里会有高通骁龙,华为麒麟,英特尔奔腾,酷睿I3、I5、I7或者X86,ARM,PowerPC,又或者32位64位等等。那么它们之间的关系是什么?首先我们说区别CPU最核原创 2020-06-29 19:48:09 · 1202 阅读 · 0 评论 -
Unity手游实战:从0开始SLG——ECS战斗(四)实战ECS架构和优化
设计思想和插件介绍完了,那么就需要看看实际项目怎么去使用它。根据策划和服务器大佬的评估,正常情况下每秒发生的战斗约2000场,我们的服务器预估为8核,如果每个核起一个战斗线程,就可以同时并发8场战斗。如果每场战斗花费50ms,那么一台服务器一秒只能计算160场,那么就需要13台服务器,呃~有点贵。。。如果每场战斗花费20ms,那么一台服务器一秒能计算400场,就只需要5台服务器即可,似乎能接受了。所以我们的目标就是让服务器(逻辑)每场战斗的耗时保证在20ms左右(非常困难),想看看大家有没有跟我们类原创 2020-06-29 19:42:42 · 1812 阅读 · 0 评论 -
Unity手游实战:从0开始SLG——ECS战斗(三)逻辑与表现分离
上一篇大概讲了ECS的设计思想,有提到优势也有提到劣势,优势是设计层面的,劣势是实现层面的。那么一套好的框架就是要保证如何保持优势的设计,而在实现时规避劣势所带来的问题逻辑和表现分离、有时候也叫业务和数据分离。在讲这部分内容的时候我好想先讲一讲网络同步这部分的内容(关联性还是挺大的),但是一展开就要跑题了,目前这个系列预期写6章,最后看看如果要不要加一章跟ECS不相关的部分来讲状态同步和帧同步。这个概念非常好理解,如果简单描述的话,就想象一下主机和显示器的关系。所有的运算、输入、结果全都来自于主机,原创 2020-06-29 19:40:33 · 2445 阅读 · 0 评论 -
Unity手游实战:从0开始SLG——ECS战斗(二)Entitas插件
上一篇大概讲了ECS的设计思想,有提到优势也有提到劣势,优势是设计层面的,劣势是实现层面的。那么一套好的框架就是要保证如何保持优势的设计,而在实现时规避劣势所带来的问题。Entitas早于《守望先锋》出现在公众视野,2015年的欧洲Unite大会上,Simon sschmid 分享的演讲《Entity System Architecture with Unity》,然后2016年的 《ECS Architecture with Unity by Example》。除了这两个演讲之外,其他还有很多的资料都原创 2020-06-29 19:37:56 · 1500 阅读 · 0 评论 -
Unity手游实战:从0开始SLG——Unity目录分布(Asset权限规划)
目录演变Unity的工作目录在2018以后发生了比较大的变更,这跟Unity“减负”的计划有很大的关系。Unity第一个版本的发布要追溯到2005年,距离现在也有了10几年了。在这么多年的迭代和演变的过程中,升级了很多的功能和规则,比如使用Animator来替代Animation,数字命名版号改为年份命名版号等,当然除了优化的部分之外,本身也在做越来越多的功能支持,甚至吸收很多外部优秀的插件,使得Unity本身越来越臃肿。“减负”无论是从官方的维护角度,还是用户的使用角度都是有必要的,因为如果功能是原创 2020-06-29 19:30:29 · 874 阅读 · 1 评论 -
Unity手游实战:从0开始SLG——客户端技术选型
项目背景所谓选型,我认为就是为了实现某(些)个需求或者解决某(些)个问题所使用的解决方案。它可能是一个技术方案,也可能是一个管理方案,也可以是一个软件、工具或者是流程规范。这篇的主题是技术选型,所以主要会分析项目客户端部分的技术解决方案。那么做选型分析之前就要先收集需求,分析需求,搞清楚我们的项目需要什么,达到什么效果,实现什么功能。除了项目本身章程和范围之外,还要看同项目的其他部门分工和合作方案(比如服务器的技术对接,美术资源的规范流程以及部分效果的实现对接),在这之外还需要考虑公司的大环境.原创 2020-06-29 17:58:28 · 1165 阅读 · 0 评论 -
Unity手游实战:从0开始SLG——概览
1 游戏是一个项目这是从0开始SLG系列的开篇,但是本篇却不准备讲SLG类型相关的东西。在开始SLG项目搭建之前,想先说下我理解的游戏开发到底是个什么东西。游戏开发从开发模式上可以理解为一个做一个项目,和各种工程项目相比它们都有一个共同的特征,用PMP里的定义就是:项目是为创造独特的产品、服务或成果而进行的临时性工作。对的 你没看错,它其实是一个临时性的工作。或许你会拿《魔兽世界》来打比方,05年运行到现在已经10几年了,怎么可能是临时性的呢?那么我要说明两点:1、即使一个项目持续100年,它也是原创 2020-06-23 11:17:55 · 2014 阅读 · 1 评论
分享