说明

本篇文章旨在讨论一些技术模型或者解决方案,从某一个侧面看技术的应用。

正文

1.即时战略游戏的AI设计

有没有想过WAR3的AI是怎么设计的,有木有想过做一款战略游戏的AI呢?AI的设计要基于游戏的架构:时间驱动模型或事件驱动模型,通常事件驱动的游戏可以用有限状态机的方式进行设计,或者扩展一下范围,事件驱动的后台程序都可以用有限状态机进行处理,逻辑清晰好画图、算法简化(只有核心的存储才用到了高端算法,大部分时候应用树、图、表等数据结构就可以解决问题)、补充容易(增加新场景或者事件只需添加响应状态的case就可以哇)。

2.网络视频的传输

世界杯这么火,我也赶去看了一场世界杯,还是开幕战,巴西VS克罗地亚,球赛很精彩,央视直播很无力呀,作为第一次看央视直播的伪球迷,看到中场插广告,我赶紧点了暂停去看会网页,等我十分钟后回来,点开视频怎么还是广告,耐着性子看吧,突然朋友发了说说“内马尔进球了",纳尼!盯着屏幕看,木有啊,还是木有进球啊,作为一个手贱的程序员,我点了F5,刷新完毕看到球赛已经是1:0.

无力吐槽这个直播啊,说了是直播你怎么给我放了普通的视频呢,我点了继续就应该判断我看的是否最新视频,然后加载现场直播啊。

欢乐的吐槽完毕,说道说道视频直播软件,比如QQ视频,它是基于什么TCP还是UDP呢?想来是UDP,如果是TCP那就是央视的世界杯直播了,传了没接收或者点了暂停,高大上的断点续传技术保证传播到位,你说 口型对不上,那必须啊,丢包都给你补上了,网络延迟和不稳定导致了不同步;而视频直播我们并不在乎某些包丢失,即个别画面暂停,最关注的是对方的即时表情,UDP在这种场景完胜。

后记

期待更新,期待朋友们的指点。

转载于:https://www.cnblogs.com/learn-my-life/p/3824071.html

【持续更新】设计技巧++相关推荐

  1. kettle spoon判断增量更新_Kettle增量更新设计技巧

    摘要:本文主要讨论一些在ETL中设计增量更新的方法和技巧. ETL中增量更新是一个比较依赖与工具和设计方法的过程,Kettle中主要提供Insert / Update 步骤,Delete 步骤和Dat ...

  2. 本专栏所有力扣题目的目录链接, 刷算法题目的顺序(由易到难/面试频率)/注意点/技巧, 以及思维导图源文件问题(持续更新中)

    这篇文章为本专栏所有力扣题目提供目录链接, 更加方便读者根据题型或面试频率进行阅读, 此外也会介绍我在刷题过程中总结的刷算法题目的顺序/注意点/技巧, 最后说下文中出现的思维导图源文件的问题 和 打卡 ...

  3. ios学习--iphone开发笔记和技巧总结(原址持续更新)

    ios学习--iphone开发笔记和技巧总结(原址持续更新) 分类: ios Object-C2012-04-18 10:16 2716人阅读 评论(1) 收藏 举报 uiviewiphonelist ...

  4. 【硬件设计】关于电赛——硬件设计和PCB绘制的一些心得(持续更新)

    [5.20校内训练] 1.一般线宽设置成0.254mm.[具体线宽设置看6] 2.对于功能不大的小模块板子,贴片电容电阻的封装尽量选择C0805和R0805,便于焊接.0603和0402封装的贴片电容 ...

  5. 【第十三届蓝桥杯备战】C/C++解题时的一些个人小技巧和注意事项(持续更新中)

    [第十三届蓝桥杯备战]C/C++解题时的一些个人小技巧和注意事项(持续更新中) 输入输出 数组 数据结构 1. 线段树 调试 References 先说一些废话:我最近觉得写算法题就像是打格斗游戏一样 ...

  6. Unity3D小功能 小技巧 小教程 小原理(持续更新...)

    Unity3D小功能 小技巧 小教程 小原理(持续更新...) 1.Unity的.NET版本是2.0 按道理来说,C#能用的功能Unity也能用,但是Unity的.NET却不是最新版 要是用一些别的D ...

  7. 【AD】PCB设计知识整理(持续更新)

    文章目录 1 在区域覆铜的边缘放置过孔,在覆铜后的空白区域加大量过孔,在信号线旁边加大量过孔,有什么作用? 2 PCB覆铜的作用及规则 2.1.PCB敷铜九大注意点 2.1.1.注意分区敷铜 2.1. ...

  8. 关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】

    关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 [持续更新] 参考文章: (1)关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 [持续更新] (2)https://www. ...

  9. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站--软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

  10. Matlab/Simulink仿真问题及技巧汇总【持续更新】

    本文章会汇总Matlab/Simulink仿真问题和相关技巧汇总. 如果有问题可以查询本文.有相关问题可以私信我,给你把你们的问题同步更新.wx:shadowknight007 本文章会持续更新. 设 ...

最新文章

  1. 杂七杂八的前端基础01——函数作用域
  2. 二分查找递归与非递归方式的实现
  3. [你必须知道的.NET]第一回:恩怨情仇:is和as
  4. LeetCode Number of Islands(flood fill)
  5. 如何检出SVN老版本代码
  6. python中自定义函数如何传递动态参数_python 函数的动态参数
  7. html 三级目录索引,墨涩网 - HTTP Web服务器索引目录列表程序Directory Lister——墨涩网...
  8. 史上最全的并发编程学习
  9. sqlite4java下载_使用sqlite4java的UnsatisfiedLinkError,没有sqlite4java-osx-amd64
  10. 小米激荡十年:雷军的进与退
  11. 我看周马,以及3Q大战背后的社会问题
  12. ArcGIS 10 SDE for ORACLE ---迁移 (1)
  13. 20191117每日一句 EVERYBODY DIES, BUT NOT EVERYBODY LIVES
  14. 虚拟机系统iso镜像下载_如何下载正版系统镜像
  15. 非涉密计算机保密自查表,非涉密计算机检查记录表-保密处-20210711022211.pdf-原创力文档...
  16. C语言关于排序的十一个函数
  17. 在Tomcat上安装部署SAIKU
  18. Export metadata for 'Type' is missing and no defau
  19. 遨博机器人支持linux,AUBO\Aubo机器人的ROS环境搭建步骤
  20. 输入220V输出5V-24V电流:200MA-500MA.非隔离高压IC

热门文章

  1. Python文档阅读笔记-PyAutoGUI基本使用
  2. Linux笔记-bash中执行命令并将执行的命令结果存储为变量
  3. Qt笔记-拖动文件到QWidget(获取拖动文件路径)
  4. QML笔记-TextEdit的使用
  5. oracle通信通道的文件结尾_【移民】加拿大安省发放优才计划移民邀请函;NS省干掉特快通道直申种类的申请通道...
  6. 读取web应用的properties文件方法
  7. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节5:假脱机(SPOOLing)技术
  8. (王道408考研数据结构)第二章线性表-第二节2:顺序表的操作
  9. qt 5.0中HeaderView的setResiziMode无法使用的问题
  10. LeetCode 198 打家劫舍