2013年年中,我在墨西哥瓜达拉哈拉的Gameloft Studios开始了我的游戏程序员的第一份工作。 我是一个由六人组成的团队的成员,该团队为迪士尼皮克斯(Disney Pixar)的作品《汽车》(Cars©Fast as Lightning)发行了Android版本。 汽车目前在Android Play商店中的安装量为50–1亿。 该游戏在前三周获得了百万下载! 尽管写和分享的内容比生活中的要多,但我只是本文中的一些快速学习内容。
我学习了如何找到代码中错误的根源。 由于整个应用程序都是用C ++编写的,并通过Android NDK连接到Java,因此C ++部分只能使用控制台日志进行调试,而不能使用断点进行调试。 这意味着我必须遵循功能,直到找到系统中的单点故障为止 。 其次, 我学习了如何使用控制台日志进行调试 。
游戏包含许多活动部分-声音,动画,用户界面,获利模型,互动和图形。 在没有适当架构的情况下协调运行这些模块会破坏体验。 Gameloft的做法是构建独立运行并可以在多个游戏中运行的模块*。*因此,编写可重用代码成为重要的实践。 我了解到,可重用性是代码体系结构中非常重要的一部分。
后来我在Zomato开发的应用程序中运用了这种模块化思维,这是我的文章–
将iOS应用模块化为功能强大的可重用套件
基于我们在Zomato为10多个应用和数百万用户所做的工作
blog.prototypr.io
从业务角度来看,一个游戏标题无法满足不同的受众。 但是在Gameloft,我们巧妙地解决了这个问题。 我们创建了一个图形模块,并将其放在一个游戏中。 如果该游戏成功,我们将为其他游戏重新设置图形模块的外观。 以《蜘蛛侠无限》和《卑鄙的我小黄人》为例。 随着Spiderman Unlimited的成功,我们为Minion Run重新调整了图形模块的外观。 同样,我们在自己的游戏中将Asphalt 7中的汽车图形模块重新用于汽车。
我们必须为世界上的所有Android手机构建Cars。 Android屏幕在尺寸上存在巨大的碎片。 为了支持1200多种设备,我们必须编写一个高度响应的UI。 我学习了如何创建响应式UI组件和创建设备配置文件,以便这些组件在不同设备上具有高度适应性。
在Gameloft,我们实行了每晚发布版本的做法。 每天,开发人员必须合并团队的代码,对其进行编译并更新构建。 每天花费一个多小时。 为了加快此过程,我学习了如何在C ++中设置分布式编译,以及如何为自动构建设置CI系统 。 我们配置了一个Jenkins CI系统,该系统在午夜自动合并我们的代码,对其进行编译,然后通过电子邮件将更新发送给团队。
我与世界一流的程序员,3d艺术家,设计师和动画师合作。 一个有才华和创造力的团队。 我意识到,了解与您一起工作的各种人的不同观点非常重要。 我了解到,同情您的产品与同情团队中的员工一样重要。
伟大的事情需要艰苦奋斗和毅力,永远不要屈服于压力。 我学会了如何保持平衡并享受整个过程。
- 我学会了西班牙语,以便与当地人交流。 对我有很大帮助的是迫使自己与那些不会说英语的人在一起。 我了解到,在艰难的沟通沟通中度过难关是学习新语言最重要的部分。
- 我了解拉丁美洲的文化,甚至吸引了一些与印度文化的联系! 瓜达拉哈拉(Guadalajara)周围没有多少印度人,因此沉浸在这种外国文化中是一生的经验。 我了解到各地的人们大致相同,古老的信仰如何塑造现代文化。 稍后会写更多。
- 我学会了如何做饭和素食主义者! 拉丁美洲的饮食中大量消耗肉食,而素食主义者的概念是一种罕见的知识。 我学会了如何用素食主义者烹饪墨西哥美食。
- 我以50人为主要对象,用西班牙语交流了整个墨西哥南部和加勒比海地区的背包。 我还看到了奇琴伊察。 我学会了如何变得更加开放和接受。
- 最后,
我了解到,在沙滩上度过一天可以解决您大部分的生活问题。
鳍。
如果您喜欢这个故事,请按that拍手按钮让我知道。 您最多可以拍手50次!