「观测者轻语」杂谈
1.关于生活意义
2.关于电子游戏
3.关于编程学习
关于电子游戏
电子游戏作为一个近代的产物,具有极大的争议,不过具有成瘾性的游戏或许并不是一个有意义的游戏,我对此的理解为游戏作为一种事物的存在形式,一个合理且富有存在意义的电子游戏应该是至少具有一下三种性质中其中一种的通过电子计算机与计算机网络运行的交互程序。
艺术性
图像、音乐、视频、文本可以作为一种游戏的子集。
正如文本可以构造剧情,图像可以表现艺术,音乐可以显露和谐,视频可以记录实际,这四种艺术形式在合理的运用下可以表现出独特的效果,那么游戏则可以包容不同艺术独特的优点,例如视觉小说。
游戏性
一定规则的游戏可以作为竞技的手段,这类游戏与电子计算机出现之前的棋牌类游戏有一定的相似之处,只不过规则与算法复杂化了,例如反恐精英,DOTA2。
一定规则的游戏可以作为发挥个人创造能力的空间,满足非专业设计的创造满足感,例如模拟经营类游戏戴森球计划,沙盒游戏我的世界。
抽象性
游戏也可以作为对现实世界的抽象,无论是3D建模还是物理引擎的设计都是基于现实世界的真实数学物理模型所做的简化操作,我们不可能通过模拟每一个原子的运动来建构一个世界,但可以通过对宏观现象的简化性描述来开始进行建构新的一个世界的起点。
例如开放世界游戏GTA5,看门狗2
Jason Gregory.游戏引擎架构[M]北京:电子工业出版社,2014.
关于编程学习
信息资源的获取
有问题尽量使用谷歌,学会查找阅读文档,出现bug也可以尝试用stackoverflow搜索,很多时候使用英文搜素更可能找到有用的解决方案。
各种工具的用法
熟悉git和github的用法,可以先自己搭一个hexo博客试试,然后可以学习使用各种现代ide和编辑器,一开始学习可以使用ide(编辑器要配置不同语言的开发环境),但是一些依赖项的环境配置还是很难避免的。实际编程肯定也会使用更多的辅助工具,比如数据库的图形化显示。
学习顺序与学习内容
我推荐先学习C++,这样可以建立对常用编程语言的快速学习能力,使用C++语言学习数据结构和算法,因为一来招聘会考算法,二来这方面会建立一些实际编程中一般性的思路。之后可以看CS的基础内容(操作系统,计算机组成,计算机网络,编译原理),学一些语言(Python、C#、Java)和开发框架(例如Spring Boot、Flutter),写一些实际项目(例如Windows桌面应用,Unity或者UE4游戏,网页前后端等),学习设计模式等软件开发的内容。
本文由 落影汐雾 原创,采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
本文链接:https://x.lyxw.xyz/2021/talk_1/