游戏程序员修炼之道

参考书本的理论及互联网的海量信息,使用工具进行庖丁解牛,在项目或示例的实践中进行验证,最后沉淀总结成文转换成自己的知识体系与经验。

理论与实践相结合,夯实基础,循序渐进,不求甚解,融会贯通,及时总结并与人分享!

工具

操作系统:windows服务(任务计划)、windows命令、批处理、visualbasic script

数值算法:excel、matlab、spss

数值可视化:PhysX Visual Debugger、processing

图形图像:Deep Exploration、meshlab

图片:ImageMagic、gifski、ScreenToGif

视频:FFmpeg

shader:RenderMonkey、FX Composer、OpenGL Shader Designer

商业渲染器:RenderMan、V-Ray、mental ray

开源或免费渲染器:LuxRender、Cycles、Mitsuba、pixie、OptiX

地图:arcgis、google earth、baidu map

Plugins与宏(windows资源管理器插件、vs等IDE插件、调试器插件、Office插件、Unity等编辑器插件、UE编辑器扩展、Web浏览器插件、3ds max插件、ps插件)

版本控制工具:svn、git、perforce

文本编辑器:notepad++、vim

IDE:vs系列、eclipse、xCode、clang、android studio、monodeveloper、vscode

make工具:cmake、makefile、nmake

构建工具:Jenkins

打安装包:NSIS

自动化测试:协议模拟、gui鼠标键盘点击

调试器:gcc、windbg、OllyDBG、IDA

图形调试:gpa(Graphics Performance Analyzers)、PIX、RenderDoc、gDebugger、nVidia Nsight、PerfStudio、Adreno Profiler、Qualcomm snapdragon、Mali Graphics Debugger、Nsight Tegra、PVRTrace、Radeon GPU Profiler、XCode、Visual Studio 2013+

cpu工具:函数调用   Intel VTune Amplifier XE、gprof、FramePro 

内存工具:Instruments、valgrind、内存泄露

网络工具:Fiddler、wireshark、CurrPorts、TCPView

系统工具:Process Explorer、Process Monitor、DebugView、vmMap、RAMMap、fraps

音频工具:Wwise、Fmod

模拟器:Android模拟器、街机游戏模拟器(如:fba、mame)

程序化生成(PCG):Houdini、World Machine

美术工具:

    (1) 建模:3ds max、maya、Blender、Silo、Substance Painter

        雕刻类:ZBrush、Mudbox、modo

       衣服建模:Marvelous Designer

    (2) 贴图:Photoshop、Modbox、Bodypaint、Mari、Substance Painter、Quixel Suite、Zhrush

    (3) 展UV:unfold3d 、Unwrap Tools等独立软件,max插件

    (4) 动作:3ds max、maya

    (5) 特效:Houdini(PCG)

    (6) UI:photoshop、Flash CS

    (7) 合成:Photoshop、Nuke、AE、Marvelous Designer、XNormal、UVLayout、 Crazybump、SETUNA、HDR light Studio、Poser Pro

    (8) 渲染出图:VRay、Arnold、Mentalry、Keyshot、Marmoset Toolbag

性能优化

磁盘 --> 内存显存--> CPUGPU

编辑器profiler工具、引擎性能相关命令

低崩溃率(崩溃、异常、log收集)

帧率优化(cpu、gpu)

CPU优化(热点函数)

卡顿优化(Hitches)

内存优化(内存泄漏、内存占用、内存碎片)

网络优化(减少带宽占用、提升网络下载速度)

资源句柄泄漏

IO优化(减少游戏启动时间、提升IO加载效率)

画质优化(场景、人物、武器、载具)

安装包大小优化

安全防护(代码、协议、日志、资源、内存加解密、代码混淆)

游戏引擎

Unreal Engine、Unity3D、Cocos2d-x、CryEngine

----------------------------

编辑器

Script(脚本)

引擎框架、渲染管线流程、GamePlay框架、UI框架

GC(Garbage Collection)

Kismet、BluePrint

LightMass

光照&阴影

渲染流程

渲染技术(SSS次表面散射等)

后处理

Foliage(植被)、speedtree(树)、UE4 Procedural Foliage Tool(程序化植被工具)

Terrian & Landscape(地形和地貌)

碰撞检测、物理引擎(physX、box2D)

APEX(布料和破坏)

Bink(视频过场)

文件资源管理、资源Cook、微端机制

网络同步

VR/AR、Stereo 3D

AI&导航网格

材质 & 贴图

静态模型 & 骨骼模型

骨骼动画 & 动作树 & 动作状态机

matinee动画

FaceFX(脸部表情)

音频

粒子、decals(贴花)、雾

UI系统(大厅系统、游戏Hud)

输入

逆向分析

hook、API截获

PE工具:PE-Explorer

钩子工具:api-monitor

反编译:.NET Reflector

资源破解:UnityAssetsExplorer、UnityStudio、AssetsBundleExtractor

内存修改工具:Cheat Engine

加减速:变速齿轮

输入模拟:按键精灵

开源

irrlicht、klayge、bgfx

mono

chromium

渲染

管线

Direct3D(8、9.0c、11、12)

OpenGL(1.1、1.3、1.4、1.5、2.0、4.3、4.4、4.5)

OpenGLES(1.0、1.1、2.0、3.0、3.1、3.2)

WebGL(1.0、2.0)

shader(HLSL、GLSL、CG)

Real-Time Rendering、PBR、Ray Tracing、数字图像处理

SIGGRAPH paper

GDC

语言层

x86汇编、.net字节码、java字节码、unrealscript字节码

C、C++、C#、VB、Java、unrealscript

lua、python、perl、go

bat、linux shell、vbscript

html5、javascript

跨语言互操作

系统库(crt)、函数库(stl、loki、mfc、qt、scaleform、cgal)

代码整洁、框架设计、设计模式、uml

代码重构、代码自动生成、自动化测试

数据结构、算法(计算几何、场景管理索引方法、导航网格生成、垃圾回收、碰撞检测、物理模拟、遮挡剔除等)

系统层

windows、Android、ios、Mac OS X、Linux

驱动、输入法

虚拟机、编译器、web浏览器、web服务器

多任务(进程、线程、协程)、内存管理(内存泄露、内存碎片)、文件管理、IO管理

计算机网络(tcp、udp / rudp、http、p2p)

com(ActiveX)、.net框架、垃圾回收机制、flash

硬件

cpu、gpu(cuda)

支撑学科

英语、数学、物理等

原文地址:https://www.cnblogs.com/kekec/p/6924282.html