自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小星AI

长期更新AI领域的研究内容

  • 博客(106)
  • 资源 (6)
  • 收藏
  • 关注

原创 Unity人工智能之不断自我进化的五人足球赛

本文基于我前面发的两篇文章,需要对ML-Agents有一定的了解,详情请见:Unity强化学习之ML-Agents的使用、ML-Agents命令及配置大全。我前面的相关文章有:ML-Agents案例之CrawlerML-Agents案例之推箱子游戏ML-Agents案例之跳墙游戏ML-Agents案例之食物收集者ML-Agents案例之双人足球本案例为本文根据双人足球基础之上尝试改进的五人足球。本案例使用了Unity的ML-Agents组件开发而成,这里使用了多智能体强化学习的算法MA-POC

2021-11-24 22:03:59 6773 12

原创 node.js服务器基础

node.js是基于事件驱动的,通常在代码中注册想要等待的事件,设定好回调函数,当事件触发的时候就会调用回调函数。1: 在通讯的过程中,我们可能有发送多个数据包,数据包A,数据包B,数据包C,此时我们最好的期望是每次收到数据包A,数据包B,数据包C。但是TCP底层为了传送性能,可能会一次把ABC所有数据一起传过来,这个时候收到的是A+B+C,这个时候上层傻眼了,无法区分A,B,C这个叫做—粘包;这里我们规定了传输的数据包含三个部分,0:服务号,1:命令号,2:数据,下面的代码体现了这两种协议的封包和解包。

2024-10-12 18:28:41 1615 1

原创 Unity游戏通用框架——UI的管理和加载

需求:为了方便UI的管理,编写一个管理类,管理所有UI的加载、隐藏或销魂,每个UI都继承自一个UIWindow类,存放在Resource的指定目录下,通过UIManager进行管理。每个继承自UIWindow的UI天然有UI的打开关闭等基本功能。

2024-10-11 12:32:02 540

原创 hexo博客部署到云服务器

在宝塔的网站页面创建一个PHP项目,设置好域名,把网站的根目录设置为刚刚建立的hexo目录,在高级设置中选择默认站点为该站点。本教程基于宝塔,简单易上手,需要注意:使用宝塔之后,不要再用命令行来同时安装网站上已有的库了,否则会出现不知名的bug。首先拥有一套云服务器,安装宝塔,系统尽量采用最新的版本,Centos不要用8,可以用7或9。然后可以尝试hexo c,hexo g,hexo d,三连部署了。直接按照首次的提示安装即可,也可以在网站的页面上安装。本地的hexo配置脚本config,修改对应的配置。

2024-10-11 11:59:14 496

原创 Unity游戏通用框架——FPS的显示和控制

Unity基础框架的脚本代码

2024-10-11 11:50:35 320

原创 Unity游戏通用框架——事件的订阅和发布(观察者模式)

在游戏开发的基本思想中,逻辑与表现的分离极为重要,相互之间并不关心具体实现,只注册对应的事件,有事件发生时才调用相应的函数。

2024-10-11 11:47:46 686

原创 Unity游戏通用框架——单例模式

Unity的单例可以分为两类,一类单例是C#中的纯单例,用于进行数据的管理(例如角色类管理器,房间类管理器,数据管理器等)。一类是基础与Unity的MonoBehavior的单例,用于跟Unity相关组件的游戏管理(例如声音管理器,游戏管理器,场景管理器等)用法:根据用法直接继承上面两个类的其中一个即可。

2024-10-11 11:44:30 618

原创 C/C++服务器基础(网络、协议、数据库)

包含Socket通信、Select和IOCP管理模型、文件异步、多线程、libuv使用、protobuf、TCP、UDP、Websocket、mysql、redis、Json和Base64编码解码、HTTP等

2024-07-08 10:29:00 1648

原创 protobuf的环境搭建及使用

(2)google::protobuf::Reflection 反射对象, 通过它 + FieldDescriptor, 能set/get filed对象的值;2: 每一个Message对象,可以通过统一的对象工厂来构建, 根据协议生成了代码后,只要传入Message的名字,就能构建出对应的Message的类的实例;(1)google::protobuf::Descriptor 描述对象,是Message所有Filed的一个集合,它又包含了。g: 在使用自动生成的代码反序列化(解码),生成数据对象使用;

2024-07-08 10:25:03 971

原创 redis安装、操作与使用

C/C++服务器基础

2024-07-08 10:19:45 861

原创 mysql数据库的搭建和操作

C/C++服务器基础

2024-07-08 10:14:53 604

原创 服务器的Select管理模型和IOCP管理模型

1: IOCP: 是windows针对高性能服务器做的IO的管理模式,又叫完成端口;Linux平台有类似的机制叫epoll。用于监听所有Socket,在服务器监听连接端口的同时,能够接收所有客户端传过来的数据。1>提交一个监听请求,使用完成端口来等待这个请求到来;2>请求来了后,处理,继续提交请求;2>请求完成后,处理完后继续提交;1>提交一个读取数据的请求。1>提交一个发送数据的请求;2>请求完成后,继续处理;

2024-07-08 10:09:08 275

原创 C/C+++服务器之libuv的使用实战

C/C++服务器基础

2024-07-08 10:05:51 1885

原创 Socket通信编程的最简单版本

Socket上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。这两个部分的代码实现了客户端和服务器的最简单通信,先运行服务器程序监听端口,再打开客户端程序,客户端程序会与服务器建立TCP连接,并发送“Hello”字符串,服务器收到后会回复一个“Hello”给客户端。App通过Socket发送和接收数据,主要提供了TCP Socket和UDP Socket来收发数据,基于Socket对象操作系统提供了一系列接口来收发数据。

2024-07-02 17:40:09 428

原创 Unity在非继承自MonoBehaviour的脚本启动协程

在Unity中,协程通常是通过MonoBehaviour的StartCoroutine方法来启动的。很多时候,我们写逻辑层代码的时候也希望能够调用协程,例如网络通讯等功能,这就需要一个中介来帮你做这件事。这个中介通常是一个继承自MonoBehaviour的管理类,它可以提供启动和管理协程的方法。这个脚本使用时会自动生成一个空物体并完成挂载。

2024-06-22 00:04:36 719

原创 强化学习中的自我博弈(self-play)

但随着训练的进行,探索奖励应当逐渐衰减为0。第二是对手抽样,智能体在面对过强或过弱的对手时,训练都会难以取得成效,因此环境中需要存储对手不同时期的训练版本,让较弱的一方有机会获胜,较弱的一方策略提升的同时会反过来促进较强一方变得更强。为了判断智能体的强弱,使自我博弈使用水平相近的智能体进行对抗训练,根据ML-Agents中的做法,较好的解决方式是引入ELO评级系统,这是一种计算零和游戏中两个玩家之间相对水平的方法。也就是说,对方的智能体在己方训练的时候相当于环境的一部分,对手的策略也极大影响了自身的策略。

2024-06-21 23:47:13 2940

原创 Unity客户端的Http通讯实战

可以看到Http发起Get请求非常简单,把对应的参数包含在url中,把API-Key包含在请求头中即可,最后调用JsonConvert.DeserializeObject将得到的Json字符串转换成对象即可。这里以常用的Json格式数据为例,Unity中的对象数据转化为Json就是序列化的过程,反过来就是反序列化。如果要发送一个DELETE请求,不需要上传任何数据体(Body),因为DELETE请求通常不包含请求体。在Http协议中,客户端发送的请求有Get、Post、Put、Delete等。

2024-06-21 23:23:32 718

原创 多智能体强化学习算法MA-POCA

它在集中式训练,分布式执行的AC框架上提出了两个改进点:一是针对数量不确定的智能体组合,使用了注意力机制的特殊神经网络结构,可以处理不定量输入,并且代替了现有的COMA算法全耦合的吸收状态。但是,当单个代理的当前行为导致智能体本身的行为终止(例如自我牺牲)时,它已被排除在环境之外,它不能再观察到队伍获得奖励时的环境状态,也不再能够获得小组后来可能获得的奖励。它是经典的的中心化训练和非中心化执行的算法,即在训练的时候,Critic不仅需要知道该智能体的动作信息,还需要知道其他智能体的动作信息,才能做出评判。

2024-06-20 21:40:07 2033

原创 常见算法解法——链表篇

常见算法题解法,一法通则万法通

2024-02-23 09:58:34 317 1

原创 数据结构与算法:python栈和队列的用法

python的栈和队列其实都算作一个数组,栈从最后一个元素开始推出,队列从第一个元素开始推出。由于从第一个元素删除需要挪动数组,所以可以采用双向链表代替,时间复杂度大大降低。

2023-12-07 13:33:37 238

原创 数据结构与算法数组篇:O(1)插入删除元素

遇到需要逐个遍历判断并删除集合内元素的情况,可以逆序进行遍历,这样就能避免删除后元素减少而越界。注意del函数比较耗时,所以有更好的办法最好不用。

2023-12-07 13:27:38 250

原创 游戏配置表的导入使用

其中把第一行的Tables\改成自己存放Excel文件的文件夹,Data\改成存放Json文件的文件夹即可,第二行是复制Json文件的命令。在DataManager单例初始化后,调用Load函数读取json文件,就能使用配置表了。那么程序怎么把把这张配置表导入使用?生成的Json文件如下。

2023-12-03 21:49:20 792

原创 XLua热更新框架原理和代码实战

XLua热更新详解

2023-11-16 23:38:50 1454 2

原创 URP渲染管线简介

URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。

2023-11-12 19:00:01 849

原创 Unity shader语法

Unity shader常用语法

2023-11-11 13:56:28 489

原创 TA Shader基础

游戏渲染基础

2023-11-11 13:50:45 657

原创 TCP和UDP C#代码实战

TCP、UDP实战

2023-11-10 11:32:50 478

原创 Protobuf简介

优点:性能好效率高(存储和转化)、预生成代码(无需编写解析代码)、多语言支持(开源社区)、兼容性好。就能下载对应版本的Protobuf工具到该项目文件夹中,以后可以复制该文件夹到其他项目中使用。在项目中引用对应的头文件即可使用自己定义的协议。protobuf的数据要经过序列化转换为二进制数据才能在网上传输,对方收到后进行反序列化还原。反序列化:将序列化之后的数据转化为序列化之前的数据结构或对象。序列化:将数据结构和对象转换成能够存储和传输的格式。特点:语言无关,平台无关,高效,扩展性好。

2023-11-10 11:27:32 184

原创 Unity游戏开发基础之数据结构部分

数据结构,编程基础,找工作必备,提升代码上限

2023-11-09 19:10:11 4729

原创 Unity游戏开发基础组件

Unity编辑器基础

2023-11-09 19:00:52 799

原创 常用排序算法实现

笔试面试必须了解的排序算法

2023-11-07 22:41:42 967

原创 设计模式简要介绍

面试中常见的设计模式,面试中说出几种重要的即可

2023-11-07 22:38:18 252

原创 Unity热更新介绍

热更新,手机游戏商业化的必经之路

2023-11-02 18:37:38 701

原创 Lua基础

lua语言,为游戏开发热更新打下基础

2023-11-02 18:35:02 821 1

原创 计算机加减乘除的本质

只应用位运算实现加减乘除是程序员的基本修养,这里应用通俗易懂的python实现加减乘除,其他语言同理。

2023-10-20 20:22:02 193

原创 C/C++基础

C、C++必须知道的原理

2023-10-20 20:16:36 724

原创 ML-Agents与自己的强化学习算法通讯——PPO篇

使用自己的算法训练ML-Agents插件中的游戏AI

2023-04-18 12:04:28 2823 7

原创 ML-Agents与python的Low Level API通信

用自己的python算法训练Unity人工智能

2023-04-18 01:07:05 1675 2

原创 致即将步入社会的朋友们

在漫漫的学习之路上,我偶有所感,综合某位大佬的话,我对目标与结果、努力与成就、自律与行动产生了更高的认识,在这里和大家分享

2022-11-19 18:29:40 463 3

原创 Unity游戏开发前置知识

游戏开发需要具备的编程基础的重要部分

2022-09-27 00:51:00 1415

周博磊强化学习课程源码

周博磊强化学习课程源码

2021-09-25

李宏毅机器学习2021HW3食物数据集

训练集内含11种食物图片的分类集和用于半监督的未分类集,还有11种图片的验证集,以及测试集

2021-06-01

PyTorch深度学习实践.rar

Pytorch实战配套资源

2021-05-26

population_data.csv

人口数据文件,Python编程从入门到实践配套资源

2021-01-21

python编程从入门到实践Django项目完整版

python编程从入门到实践书中的Django项目未部署到云服务器的版本,可在本地运行查看网页效果,包含用户注册登录功能,主题和条目数据录入等,具体可参考我的博文《python编程从入门到实践笔记》

2021-01-21

Python编程从入门到实践书本源代码文件.rar

Python编程从入门到实践书本源代码文件.rar

2021-01-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除