斯堪的纳维亚传奇中的俄罗斯足迹

故事第一部分结尾,揭示了芬兰语“芬兰视频游戏:历史与目录”中简短提及的一集。



在这一部分中,我将描述组织和技术问题,并就该项目的组织及其成功的原因得出一些结论。


阶段0


因此,在完成了一个简短的瑞典项目并休息了一段时间之后,我在一家以“ INFON”为商标的内容生产公司中找到了工作(是的,这是同一个人-“手机上的INFON”)。 INFON在2001年也有生产手机游戏的计划,但是这个市场仍然迷雾重重,缺乏必要的设备定量基础。在办公室,我只看到适合游戏开发的Nokia 9110手机,但是在玩了之后我们决定推迟此事(我我听说后来把这个“砖头”介绍给了一些州长。 我负责以Logoton品牌发布的公司在线服务小程序,允许用户准备图形和音频内容,然后通过SMS将其发送到手机中。 总的来说,我花了将近一年的时间。



第一阶段


2002年3月某个地方,故事发生了,Mikko Honkakorpi在接受采访时简短地讲述了这个故事。 据我所记得,芬兰-俄罗斯招聘公司MPS-Russia(在芬兰市场工作)的经理Artyom Golubchin最初来找我,并提出接受工作主题的面试。 他们决定发展业务,并进入外包开发领域,开设了所谓的“能力中心”(他们称之为业务模型)。 “中心”的主要优势是用人单位对人事管理的简便性,即容易解雇和解雇,因为在芬兰存在很大的困难,解雇不当会导致公司破产。


想要设立“能力中心”的公司之一是芬兰公司Akumiitti Oy。 当时是一家相当知名的组织移动服务解决方案的提供商。 第一次采访是在芬兰公司代表不在场的情况下进行的。 如果我没记错的话,我是第一次接受Artem Golubchin和两位Finns的采访。 其中一位芬兰人是维京风格的蒂莫·穆塔玛基(Timo Multamaki)(现为芬兰著名的棋盘游戏设计师),另一些芬兰人的名字我已经不记得了。 我只记得他们问我喜欢什么样的游戏,我回答了“ Operation Flashpoint”。 然后接受了心理学家的采访,只有三分之一的受访者接受了Mikko Honkakorpi的采访。 同时,芬兰人联系了谢尔盖·库利金(Sergey Kuligin),我们受邀讨论该项目。



事实证明,一家主要的电信公司计划在东欧一个国家/地区开始销售一款新的预算西门子M50手机,并且由于该手机已经内置了J2ME支持,因此该客户希望从Akumiitti那里获得20套游戏以及移动服务的套餐。 主要的困难在于,截止日期定于6月1日,院子已经是3月底,一切都还不到两个月的时间。 基于他丰富的游戏经验,谢尔盖·库利金(Sergey Kuligin)拒绝了合作的提议,理由是在这段时期内制作如此多的游戏是一场赌博,但是我经验不足,而且谈判一直在进行。



我被要求为20种手机游戏开发场景,并在几天之内的下次会议上展示它们。 在这几天的傍晚,我从我的BK-0010档案库中“铲除”了许多旧游戏,汇编了合适的脚本。 游戏包括街机,赌博和逻辑游戏。 几天后与Mikko和Timo见面后,我向他们介绍了脚本。 Mikko说脚本适合他们,他们与Timo和我握手,标志着协议的达成。 好吧,我报名成立了一个团队,并在2002年6月1日以“最后期限”在我的场景中发布了20个手机游戏。


第二阶段


在团队建设阶段,该项目吸引了另外三个人:


  • 亚历山大·瓦西里耶夫Alexander Vasiliev )是一位经验丰富的Java开发人员,具有解决未解决问题的技能,我曾与他一起在德国公司Concept Software GmbH工作。
  • 叶夫根尼·米哈伊洛夫Evgeny Mikhailov )最近退出了兵役。 他被任命为QA工程师,还具有开发消费类计算机平台的经验。
  • 谢尔盖·奥莱尼克Sergey Oleinik)是像素艺术领域最好的俄罗斯艺术家之一,他被兼职作为外包设计师,因为他的主要工作是在INFON工作(几年后,谢尔盖将升任导演的最高职位在INFON中)。

在所有团队成员中,只有我和Sergey Oleinik对移动设备具有直接的经验。 该公司在他们位于Bolshaya Morskaya街办公楼旁的作曲家办公室为我们分配了一个房间。 必要的设备以计算机和办公家具的形式提供。 所有这些都不是新鲜事物,并且带有明显的“ Beushnost”迹象。 计算机是“品牌”产品,如果我没记错的话,COMPAQ生产的产品是预装的Windows XP,当时是新产品,当时我们很少有人遇到(我们更喜欢Windows 98)。 所有这些“品牌”和“硬件”的特殊性不允许我们重新布置操作系统,这在繁忙的项目中带来了额外的风险,我们对此无能为力。


第三阶段


下一阶段是设计和工作计划。 根据“截止日期”,我计算出一场比赛的平均时间约为2.5天(很明显,在如此繁忙的时间表下,无需谈论周末和节假日)。 按照公认的标准方法开发游戏-“在你,程序员,任务和做我身上做得好”是不现实的,并且由于我记得亚当·斯密关于使用“传送带”提高生产率的戒律,所以我专注于“传送带”。最小的任务切换。 编制了清晰的网络时间表,并计算了工作时间和顺序,以最大程度地实现工作并行化。


角色按以下顺序分配:


  • 亚历山大·瓦西里耶夫(Alexander Vasiliev)忙于开发用于显示游戏空间的依赖于平台的模块,并且他还制作了多个游戏模型。
  • Evgeny Mikhailov正在忙于测试成品。 他在测试难题时解决难题的技能确实有所帮助。 (在实施下一个游戏包时,他还参与了游戏模型的编写)
  • 谢尔盖·奥莱尼克(Sergey Oleinik)仅忙于图形内容的制作。
  • 我参与了与客户的沟通,游戏模型的开发和后期制作以及发行的准备工作。 我还担任美术指导和一些游戏元素的渲染(感谢BK-0010和ZX-Spectrum为我提供了这些技能)。

第四阶段


在项目开始时我们没有真正的物理设备(据我所记得,它是由芬兰人带到某个地方的),我们使用了西门子仿真器(SL-45和M50的仿真器)。 作为最终的构建系统,我们使用了Sun Java Wireless Toolkit 。 当时没有混淆器,我们也没有版本控制系统(我们使用的是通用文件服务器系统),自动化程度最低。


由于目标设备在性能和内存上有非常严格的限制,因此决定通过在游戏开始时创建游戏对象并在应用程序中重新使用它们来最小化“垃圾收集器”上的负载。 在开始时,我们立即创建了我们需要的一切,并且一直存在到应用程序结束。 图形以PNG文件的形式存储,由于时间紧缺,我们将其包装的自动化程度降至最低(通过删除冗余和重复的信息),并将其设计为将图形资源粘合在一起的独立实用程序。 文本资源也被打包和单独存储,这是由一个特殊的实用程序负责的。 由于设备功能差,缺乏时间和节省内存,他们决定排除声音设计。 每个游戏本应由大小为30-40 KB的JAR存档表示。


由于某些游戏需要浮点计算,但CLDC 1.0 (位于目标设备上)不支持浮点或双精度,因此,就像在旧计算机上一样,我们将所有这些计算都转移到“固定点”(8位分配给int到小数部分),通过表实现了三角函数,并为此类数据实现了一个小型库。 为了避免混淆数据类型,由于所有内容都是int,因此我们使用了特殊的表示法,即在变量名称中附加了带有前缀的其他数据,例如, i8_width表示一个固定点为8位的值(因此,我无法回避使用这种表示法)


使用我以前的开发,创建了一个游戏框架。 该框架由几个接口和辅助类组成,并描述了移动游戏的标准抽象模型,该模型将涵盖计划中的游戏包中的所有流派,并具有负载保存游戏过程的能力。


每个游戏都是根据“ 模型-视图-控制器”模式开发的,这使得可以通过分批准备模块来隔离正在开发的模块,并且在开发过程的任何阶段都不会“挂起”。


  • StrategicBlock描述了模型,并包含与游戏模型的实现以及此类中所包含的组件的交互有关的所有内容。
  • PlayerBlock负责Controller ,它是一个通用界面,可返回玩家进度或AI的记录,从而可以向用户显示自动演示。
  • GameStateRecord是最重要的,它描述了游戏世界的内部状态。 此对象也已转移到View的平台相关部分其中根据其状态绘制了游戏区域。

阶段5


准备阶段完成后,他们开始了生产工作。 如果我没记错的话,第一个发布的游戏是“ Carting”(赛车)游戏,然后其游戏模型经过细微的更改就被重新用于“ Downhill race”(滑雪坡)游戏。 在开发过程中,所有生产的游戏都有其代号,并且成品已经以Mikko发送的名称命名。 游戏的某些名称相当陌生(例如,空手道游戏被称为“ Chop Chop”),但是如果您还记得瑞典人在某个时候不得不取而代之的是Battleships,那么听起来很不错。


工作进展顺利,我不记得有严重的组织和技术问题。 像往常一样,真实的设备显示出仿真并不总是能反映出事物的真实面貌,但是没有任何关键时刻需要完全重做。 使用“陌生的” Windows XP,当我们早上上班时遇到了一个“奇怪”的情况,意外地发现自己所有的计算机都更改了密码,而我们不必登录。 同时,对计算机进行了配置,以使我们没有机会设置新密码,显然,我们忘记了重置一些安全设置。 这个问题花了大约半个工作日,最终都因更改系统密码而对系统进行了完全黑客攻击。



感谢上帝,在工作期间没有人生病,也没有发生不可抗力的情况,因为我们没有空闲的时间。 Mikko很少亲自访问我们,主要是通过电子邮件与他进行通信。 碰巧他可以来了,我是在事发后才发现的。 工作开始约一个半月后,他在工作场所拍摄了我们三个人的阿库米蒂内部通讯。



并非没有改变工作计划而影响时间表。 游戏场景之一是9月11日,玩家被要求保护双子塔免遭神风敢死队飞机的攻击。 最初,这种情况得到了Finns的认可,Sergey Oleinik吸引了一个出色的屏幕保护程序(其他人他不知道如何绘制),甚至包含了Osama bin Laden的微型肖像,但是在制作工作的后半部分,我收到了Mikko的消息,说我必须拒绝这款游戏,因为这是一个非常“泥泞的话题”,没有人愿意对恐怖分子及其同情者的精神世界提出可能的问题,他们可能会错误地评估游戏。 因此,该脚本被拒绝,并且游戏很快被另一个脚本取代,这需要额外的几天。



最终,由于客户方面的变化,所有20款游戏都是按时+ 2天制作的。 该包装已由Akumiitti进行了全面测试,然后由他们运输,然后由他们交付给客户(大型移动公司)。 该软件包包括以下游戏:


  • 受著名游戏《 Soko-Ban》启发的“ 惊人迷宫”(拼图,迷宫)
  • 气球公园 (街机游戏) 启发的D日游戏
  • BLACK JACK (游戏) 只是21岁的游戏
  • CARTING (街机) 灵感来自苏联的老虎机
  • CHOP CHOP (格斗游戏) 受空手道游戏启发
  • 宇宙风暴 (街机) 游戏小行星
  • DANGER ZONE (街机) 启发游戏LONG RAID
  • 下山比赛 (街机)
  • 曾经在PC上看到过的游戏启发了《 信仰的飞跃》 (街机游戏)
  • 越野 (街机) 灵感拉力赛
  • PACK RACE (街机游戏) 隐约让人联想起吃豆人
  • 乒乓球 (运动) 启发游戏网球
  • PITMAN (街机游戏) 模糊地让人联想起Boulder dash游戏
  • 基于拼图15制作的 拼图 (拼图)
  • 壁球 (街机) 启发游戏Arkanoid
  • 海上战斗 (大型) 剧本
  • SHIP DUEL (街机) 启发游戏蠕虫
  • STAR GUN (街机游戏) 受过看过的Star Base游戏启发
  • 寻宝游戏 (街机,迷宫)的寻宝游戏
  • 蛇游戏的 VIPER (街机,迷宫) 改装

在取得这一成就的同时,TekLabs(俄罗斯MPS的所谓业务部门)和Akumiitti的管理层决定通过斯堪的那维亚郊区度假屋的管理人员和团队进行的一日游来庆祝这一事件,并举行盛大晚宴和桑拿。 因此,过了一会儿,来自Akumiitti Jurki Matikainen的“高层”访问了我们,并讨论了移动方向的发展。 在集会上,我描述了在工业规模上组织手机游戏的生产需要哪些资源,但是并没有引起太多的理解(这不是芬兰人的优先事项)。



Mikko过了一段时间就辞职了,EeroPöyry(现为Rovio的开发总监)从母公司担任了我们的策展人。 他向我们通报了已发布的第一个游戏包的发货情况。 他收到的信息表明,客户购买的首批1000台M50移动电话已运送了1200多种移动应用程序,这表明了用户对J2ME内容的真正兴趣。 我收到了一封电子邮件游戏运输图,它满足了谢尔盖·库利金(Sergei Kuligin)向我表达的启发式规则:“如果您希望保证游戏能够被出售-请参加比赛”,游戏“ Carting”是运输的绝对领导者,占据了图表的四分之一以上。


我认为您可以在这里停下来,因为我认为该项目的详细信息和结果已详细披露。


小结论


在上述所有背景下,我想提出一些导致该项目成功的原因:


  • 可以迅速找到能胜任这项工作的明智人员并引起他们的兴趣。
  • 该团队是从头开始创建的,如果尝试将现有团队联系起来并用新成员稀释它,那么对层次结构进行研磨和分解将花费大量时间,几乎可以肯定该项目将要濒临死亡。
  • 找到了一个积极的“领导”(尽管实际上没有英语知识),他承担了责任,而且经验不足,无法理解“这是一场赌博”。
  • 在开始时就考虑了该项目,对角色进行了计划和分配。 (请注意auth。-实际上,这是项目中非常少见的步骤,尽管事实上每个人都声明了这一点,尤其是在“截止日期已过的项目中。”通常的开发周期贯穿整个系统-“想得太晚了,快做吧!” )
  • Akumiitti代表和TekLabs高管并未试图干扰生产过程,遵守边界并仅在其业务角色内进行互动,从而为团队领导提供了所有必要的杠杆作用。
  • 通常,该过程不会使用参与者完全不熟悉的内容。

我要指出的错误步骤包括:


  • 带有不熟悉的基本软件且时间要求严格的生产设备是不必要的风险。
  • 客户对游戏场景的分析不足,导致更换了其中一款游戏。
  • 过于紧张的工作时间表会导致倦怠。

附加阶段,俄语


在西方合作伙伴在手机游戏领域采取步骤的背景下,人们不得不说出我所知道的俄罗斯玩家在这一领域的步骤。 如上所述,在该项目之前,我曾在INFON工作,她也不想离开开发J2ME游戏。 总体而言,INFON在业务上与Akumiitti非常相似,差异很小-芬兰人承诺10年在INFON中做半年或一年。


2002年7月,INFON的拥有者要求制作一个以“鸭子狩猎”为主题的手机游戏,因为他打算与诺基亚的一位高级经理一起狩猎。 ( ) Nokia 3410. , . , « », . « » . — « , ! !».



INFON ( Nokia Totally Board, 2002 ). Snowboard NOKIA 3410, . INFON Penalty Drive OFF. .



, ( ), Fowling Snowboard , « INFON ».


聚苯乙烯


, , , .


在2002年夏末的某个地方,为了使不同移动平台的组装自动化,制作了Java语言预处理器的一个版本。我认为,如果这不是第一个Java预处理程序(同年出现Antenna预处理程序),那么至少它是功能最强大的,因为它是两次通过的,甚至允许将数据存储在XML文件中。项目仍可作为OSS使用,例如在使用Postgres命令构建JDBC驱动程序时使用在不同的Linux存储库(称为libcomment-preprocessor-java软件包)中找到该预处理器,我什至感到有些惊讶

Source: https://habr.com/ru/post/zh-CN464387/


All Articles