Is it too late? Never!
今天在gamedev.net的forum上逛, 看了一下一些初学者发的帖. 有人问, 他刚在college毕业了, 非常喜欢游戏和游戏编程, 但是以他在high school学的数学知识, 现在才想去学个软件工程和计算机科学的degree, 是不是太晚呢? 特别是想以做游戏为生的话, 这个会不会起步太晚了呢?
第一个回帖的人说:”It’s never too late. Just do the degree, there are plenty of maturer students on my course. GO FOR IT!!”
第二个回帖的人说:”I majored in music composition and business management for the first 3 years of my college career - realized it wasn’t what I wanted, and then studied Computer Science for the next 3 years, graduating top of my class. It’s certainly possible.”
其实, 有时候大学学的什么真的并不重要, 重要的是你自己会作出选择, 就像我当初选择了”信息与计算科学”这个专业(确切的说, 是这个专业选择了我, 本来想去计算机科学的…T_T), 结果就出现了偏科的现象, 数学和科学计算并不是我所爱, 我喜欢的仅仅是用计算机解决问题, 做自己想做的事, 就像在中学的时候, 可以对着电脑一整个下午, 用着自己看书和摸索回来的技巧在画图软件上精心地画一幅代表作. 自然而然, 我的成绩单做得并不好看. 但是, 现在又再一次有一个选择的机会在我面前, 我可以把它抓住吗?
再仔细看下去那些帖子, 那些人便在讨论做游戏需要用到什么数学的知识. 其实原来发现自己学的一些课程(特别是我学得不好的那些课程), 跟软件开发真的相关性不是很大.
“It depends on what area you are going to focus on. If you want to program the
gameplay/AI aspects, all you will need is good logic and simple math. If you
want to do lower level graphics stuff, you will need linear algebra, trig, and
geometry.”
然则Calculas除了在物理模拟方面会有点作用之外, 其实最重要的还是学好几何代数等, 而且要培养一个人的逻辑思维很重要. 我觉得在计算机应用方面,
设计模式会是一个比较重要的知识, 这是一门我在大学从未学过的课程, 但是我觉得做的那些project大多数都有一个模式可寻, 如果能够仔细研究的话,
会对理解并实现一些软件工程模型有很大的帮助. 另外, 编码的能力的确要提高, 学校里太不重视这个了,
可能是因为大学里面(特别是我们数计院的老师)比较喜欢搞理论研究多于搞实际应用, 其实面向对象编程已经发展到很高级的水平,
而我们却只有在学数据结构的时候才真正的学过这点东西(之前虽学过C++, 但是要求比较低, 没怎么做过实验). 要是想学好的话, 还是要靠自己去看书,
这上课岂不是也荒废了自己好多的时间?
好多时候觉得, 与其在所谓高等学府被老师填鸭一些自己不需要不想学的专业课, 倒不如自己直接去跟一些高水平的人接触一下, 大家互相探讨会收获更多一些. 我一直觉得自己的学习模式是从讨论思考中学习, 而不是一味地听别人在上面讲话和自己看书来学习. 外国的学术讨论这方面做得相当不错, 一个教授不会因为你是普通本科生或者一个夜校生而不屑于跟你讨论. 只要你的讨论有自己的思想, 他们都会很乐意地表达他们的想法, 而且像cafe这些地方才是大科学家喜欢讨论问题的地方, 而不是实验室. 有时候我真想自己通过email跟外面的一些人联系一下, 其实外国好多大牛都是挺开放思想的, 跟那些人真正的有点接触会比自己在学校混收获得更多.