Akhir dari bagian pertama cerita , mengungkapkan sebuah episode singkat yang disebutkan dalam buku Finlandia "Video Game Finlandia: Sejarah dan Katalog" .

Pada bagian ini, saya menggambarkan masalah organisasi dan teknis dan menarik beberapa kesimpulan tentang organisasi proyek dan alasan mengapa itu berhasil.
Fase 0
Jadi, setelah menyelesaikan proyek singkat Swedia dan beristirahat selama beberapa waktu, saya mendapat pekerjaan di sebuah perusahaan yang memproduksi konten dengan merek dagang "INFON" (ya, ini adalah yang sama - "INFON di ponsel Anda"). INFON juga memiliki rencana untuk memproduksi game mobile pada tahun 2001, tetapi pasar ini masih agak berkabut dan tidak memiliki perangkat kuantitatif yang diperlukan, di kantor saya hanya melihat ponsel Nokia 9110 yang cocok untuk pengembangan game, tetapi setelah bermain dengannya kami memutuskan untuk menunda masalah ini (saya Saya mendengar bahwa kemudian "batu bata" ini disajikan kepada beberapa gubernur). Saya ditugaskan menangani applet untuk layanan online perusahaan, yang diterbitkan dengan nama merek Logoton, yang memungkinkan pengguna menyiapkan konten grafis dan audio, diikuti dengan mengirimkannya ke ponsel mereka melalui SMS. Secara umum, saya menghabiskan hampir setahun melakukan ini.

Fase 1
Di suatu tempat di bulan Maret 2002, cerita dimulai tentang yang Mikko Honkakorpi katakan secara singkat dalam wawancaranya. Sejauh yang saya ingat, Artyom Golubchin, seorang manajer dari perusahaan rekrutmen Finlandia-Rusia MPS-Rusia (yang bekerja untuk pasar Finlandia), awalnya datang kepada saya dan menawarkan diri untuk diwawancarai untuk masalah pekerjaan. Mereka memutuskan untuk mengembangkan bisnis dan pindah ke kategori pengembangan outsourcing, membuka apa yang disebut "pusat kompetensi" (sebagaimana mereka disebut model bisnis mereka). Keuntungan utama dari "pusat-pusat" adalah kesederhanaan manipulasi personel oleh perusahaan yang mempekerjakan, yaitu, kemudahan penutupan dan pemecatan, karena di Finlandia ada kesulitan yang sangat besar dan pemecatan yang tidak tepat dapat menyebabkan perusahaan bangkrut.
Salah satu perusahaan yang ingin menempatkan "pusat kompetensi" mereka adalah perusahaan Finlandia Akumiitti Oy. Pada waktu itu, penyedia solusi yang cukup terkenal untuk mengatur layanan seluler. Wawancara pertama adalah tanpa kehadiran perwakilan perusahaan Finlandia. Jika saya tidak salah, pertama kali saya diwawancarai oleh Artem Golubchin dan dua orang Finlandia. Salah satu orang Finlandia adalah Timo Multamaki yang mirip Viking (sekarang perancang permainan papan Finlandia yang terkenal) dan beberapa orang Finlandia lain yang namanya tidak saya ingat lagi. Saya hanya ingat bahwa mereka bertanya permainan seperti apa yang saya sukai, yang saya jawab "Operasi Flashpoint." Lalu ada wawancara dengan psikolog, dan hanya sekali dalam sepertiga ada wawancara dengan Mikko Honkakorpi. Secara paralel, Finlandia menghubungi Sergey Kuligin dan kami diundang untuk membahas proyek tersebut.
Ternyata salah satu perusahaan telekomunikasi besar berencana untuk mulai menjual telepon baru Siemens M50 di salah satu negara di Eropa Timur dan karena ponsel tersebut memiliki dukungan J2ME di papan, pelanggan ingin menerima paket 20 game dari Akumiitti beserta layanan seluler. Kesulitan utama adalah bahwa tenggat waktu dijadwalkan untuk 1 Juni, dan halaman sudah akhir Maret, dan segala sesuatu tentang semuanya kurang dari dua bulan lagi. Berdasarkan pengalaman bermainnya yang kaya, Sergey Kuligin menolak tawaran kerja sama, dengan alasan bahwa membuat begitu banyak game dalam periode seperti itu adalah pertaruhan, tetapi saya kurang berpengalaman dan terus bernegosiasi.

Saya diminta mengembangkan skenario untuk 20 game seluler dan menunjukkannya pada pertemuan berikutnya, yang akan berlangsung dalam beberapa hari. Di malam hari selama hari-hari ini saya "menyekop" sekelompok game lama dari arsip saya dari BK-0010, membuat kompilasi skrip yang cocok. Game termasuk arcade, perjudian, dan logika. Setelah bertemu dengan Mikko dan Timo beberapa hari kemudian, saya memberi mereka skrip. Mikko mengatakan bahwa skrip itu cocok untuk mereka dan bersamaku mereka dan Timo berjabat tangan, menandai akhir kesepakatan. Yah, saya mendaftar untuk membuat tim dan merilis 20 game seluler dalam skenario saya dengan “tenggat waktu” pada 1 Juni 2002.
Fase 2
Dalam fase membangun tim, proyek berhasil menarik minat tiga orang lagi:
- Alexander Vasiliev , pengembang Java berpengalaman dengan keterampilan untuk memecahkan masalah yang belum terpecahkan, saya bekerja dengannya di perusahaan Jerman Concept Software GmbH.
- Evgeny Mikhailov , yang baru saja berhenti dari dinas militernya. Dia ditugaskan sebagai insinyur QA, dia juga memiliki pengalaman dalam mengembangkan platform komputer konsumen.
- Sergey Oleinik , salah satu seniman Rusia terbaik di bidang seni pixel, yang dipekerjakan paruh waktu sebagai desainer outsourcing, karena ia memiliki pekerjaan utama dalam bentuk pekerjaan di INFON (beberapa tahun kemudian, Sergey akan mendapatkan posisi teratas direktur) dalam INFON).
Dari semua anggota tim, hanya saya dan Sergey Oleinik yang memiliki pengalaman langsung dengan perangkat seluler. Perusahaan memberi kami kamar di gedung kantor mereka di Jalan Bolshaya Morskaya, di sebelah House of Composers. Peralatan yang diperlukan dikirim dalam bentuk komputer dan perabot kantor. Semua ini bukan hal baru dan mengandung tanda "beushnost". Komputer "bermerek" dan jika saya tidak salah, produksi COMPAQ, dengan Windows XP yang sudah diinstal sebelumnya, yang baru pada saat itu, yang hanya sedikit dari kita pada waktu itu (kami lebih suka Windows 98). Semua "branding" ini dan kekhususan "perangkat keras" tidak memungkinkan kami untuk mengatur ulang OS, yang memberikan risiko tambahan dalam proyek yang sibuk, kami tidak dapat berbuat apa-apa.
Fase 3
Fase berikutnya adalah desain dan perencanaan kerja. Berdasarkan "tenggat waktu", saya menghitung bahwa waktu rata-rata untuk satu pertandingan adalah sekitar 2,5 hari (jelas bahwa tidak perlu membicarakan akhir pekan dan hari libur dengan jadwal yang sibuk). Untuk mengembangkan game dengan ini sesuai dengan metodologi standar yang berlaku umum - "aktif, Anda, programmer, tugas dan lakukan saya dengan baik" tidak realistis dan karena saya ingat ajaran Adam Smith tentang peningkatan produktivitas dengan semacam "conveyor", saya fokus pada "conveyor" dengan pengalihan tugas minimal. Jadwal jaringan yang jelas disusun dengan perhitungan waktu dan urutan kerja untuk memaksimalkan paralelisasi pekerjaan.
Peran didistribusikan dalam urutan ini:
- Alexander Vasiliev sibuk mengembangkan modul yang bergantung pada platform untuk menampilkan ruang gim, dan ia juga membuat beberapa model gim.
- Evgeny Mikhailov sibuk menguji produk jadi. Keahliannya dalam memecahkan teka-teki sementara menguji teka-teki sangat membantu. (Dalam implementasi paket game berikutnya, ia juga terlibat dalam penulisan model game)
- Sergey Oleinik hanya sibuk dalam produksi konten grafis.
- Saya terlibat dalam komunikasi dengan pelanggan, pengembangan model permainan dan pasca produksi dengan persiapan rilis. Saya juga berperan sebagai art director dan rendering dari beberapa elemen game (terima kasih kepada BK-0010 dan ZX-Spectrum yang memberi saya keterampilan ini).
Fase 4
Kami tidak memiliki perangkat fisik yang nyata pada awal proyek (sejauh yang saya ingat, itu dibawa oleh orang Finlandia di suatu tempat) dan kami menggunakan emulator Siemens (emulator untuk SL-45 dan M50). Sebagai sistem pembangunan akhir, kami menggunakan Sun Java Wireless Toolkit . Tidak ada obfuscator pada waktu itu, kami juga tidak memiliki sistem kontrol versi (kami bekerja pada sistem server file umum), otomasi sangat minim.
Karena perangkat target memiliki batasan yang sangat parah pada kinerja dan memori, diputuskan untuk meminimalkan beban pada "pengumpul sampah" dengan membuat objek game ketika game dimulai dan menggunakannya kembali selama aplikasi, mis. pada awalnya, kami segera menciptakan semua yang kami butuhkan dan itu hidup sampai akhir aplikasi. Grafik disimpan dalam bentuk file PNG, dan karena kurangnya waktu, kami membuat otomatisasi minimal dari kemasan mereka (dengan menghapus informasi yang berlebihan dan duplikat) dan merancang ini sebagai utilitas terpisah yang menempelkan sumber daya grafis secara bersamaan. Sumber daya teks juga dikemas dan disimpan secara terpisah, sebuah utilitas khusus bertanggung jawab untuk ini. Mereka memutuskan untuk mengecualikan desain suara karena miskinnya kemampuan perangkat, kurangnya waktu dan penghematan memori. Setiap game seharusnya diwakili oleh arsip JAR berukuran 30-40 kilobyte.
Karena beberapa game memerlukan perhitungan titik-mengambang, tetapi CLDC 1.0 (yang ada di perangkat target) tidak mendukung float atau double, kami, seperti pada komputer lama, keluar dengan mentransfer semua perhitungan seperti itu ke "titik tetap" (8 bit dialokasikan untuk int ke bagian fraksional), fungsi trigonometri diimplementasikan melalui tabel dan perpustakaan kecil diimplementasikan untuk jenis data ini. Agar tidak bingung dalam tipe data, karena semuanya int, kami membuat notasi khusus, di mana data tambahan masuk dalam nama variabel dengan awalan, misalnya, i8_width menunjukkan nilai dengan titik tetap 8 bit (kemudian saya tidak bisa melepaskan diri dari menggunakan notasi ini) )
Menggunakan perkembangan saya sebelumnya, kerangka permainan telah dibuat. Kerangka kerja ini terdiri dari beberapa antarmuka dan kelas bantu dan menggambarkan model abstrak standar dari sebuah game mobile, yang akan mencakup semua genre dari paket game yang direncanakan dengan kemampuan untuk memuat-menghemat proses game.
Setiap game dikembangkan sesuai dengan pola Model-View-Controller , ini memungkinkan untuk mengisolasi modul yang sedang dikembangkan dan tidak "menggantung" selama proses pengembangan pada tahap apa pun dengan menyiapkan modul dalam batch.

- StrategicBlock menggambarkan Model dan berisi segala sesuatu yang berkaitan dengan implementasi model game dan interaksi komponen yang terkandung di kelas ini.
- PlayerBlock bertanggung jawab atas Controller , itu adalah antarmuka universal yang mengembalikan catatan kemajuan pemain atau AI, ini memungkinkan game demo otomatis untuk ditampilkan kepada pengguna.
- GameStateRecord adalah yang paling penting dan menggambarkan keadaan internal dunia game. Objek ini juga ditransfer ke bagian tampilan platform-dependen , di mana bidang game digambar berdasarkan kondisinya.
Fase 5
Ketika fase persiapan selesai, mereka memulai pekerjaan produksi. Gim pertama yang dirilis, jika saya tidak salah, adalah gim "Carting" (balap mobil), maka model gimnya digunakan kembali dengan perubahan kecil untuk gim "Downhill race" (lereng ski). Dalam proses pengembangan, semua game yang diproduksi memiliki nama kode mereka, dan produk jadi sudah dinamai setelah nama yang dikirim oleh Mikko. Beberapa nama permainan agak aneh (misalnya, permainan karate disebut "Chop Chop"), tetapi jika Anda ingat bahwa Swedia harus menyingkirkan nama Battleship di beberapa titik, maka ada suara yang bagus.
Pekerjaan berjalan cukup lancar dan saya tidak ingat masalah organisasi dan teknis yang serius. Seperti biasa, perangkat nyata menunjukkan bahwa persaingan tidak selalu mencerminkan gambaran nyata dari berbagai hal, tetapi tidak ada momen kritis yang membutuhkan pengulangan total. Dengan Windows XP "asing" ada kasus "lucu" ketika kami tiba di tempat kerja di pagi hari dan tiba-tiba melihat sendiri bahwa semua komputer mengubah kata sandi mereka dan kami tidak harus memasuki sistem. Pada saat yang sama, komputer dikonfigurasi sehingga kami tidak memiliki kesempatan untuk mengatur kata sandi baru, tampaknya, kami lupa mengatur ulang beberapa pengaturan keamanan. Sekitar setengah hari kerja dihabiskan untuk urusan ini dan semuanya berakhir dengan peretasan total sistem dengan mengubah kata sandi sistem.

Alhamdulillah, tidak ada seorang pun selama masa kerja yang sakit dan keadaan force majeure tidak terjadi, karena kami tidak punya waktu luang untuk mereka. Mikko secara pribadi jarang mengunjungi kami, kebanyakan dengan dia berkorespondensi melalui email. Kebetulan dia bisa datang dan saya baru tahu setelah itu. Sekitar satu setengah bulan setelah dimulainya pekerjaan, dia memotret kami bertiga di tempat kerja untuk buletin internal Akumiitti.

Bukan tanpa perubahan dalam rencana kerja yang mempengaruhi jadwal. Salah satu skenario permainan adalah pada 11 September dan pemain diminta untuk melindungi menara kembar dari pesawat kamikaze yang terbang di atasnya. Pada awalnya, skenario ini disetujui oleh Finlandia dan Sergey Oleinik membuat screen saver yang sangat baik (yang lain ia tidak tahu cara menggambar) bahkan berisi potret miniatur Osama bin Laden, tetapi di suatu tempat di paruh kedua pekerjaan produksi, saya menerima pesan dari Mikko bahwa saya harus menolak permainan ini , karena ini adalah "topik yang sangat berlumpur" dan tidak ada yang ingin menyapu masalah yang mungkin terjadi dengan dunia spiritual para teroris dan simpatisan mereka, yang mungkin salah mengevaluasi permainan. Jadi skrip ini ditolak dan permainan dengan cepat diganti dengan yang lain, yang membutuhkan beberapa hari tambahan.

Pada akhirnya, semua 20 game dibuat tepat waktu + 2 hari karena perubahan pada bagian dari pelanggan. Paket ini sepenuhnya diuji dan dikirim terlebih dahulu oleh Akumiitti, dan kemudian oleh mereka ke pelanggan mereka (perusahaan seluler besar). Paket terdiri dari game-game berikut:
- MAZE LUAR BIASA (puzzle, maze) terinspirasi oleh game terkenal Soko-Ban
- BALLOON PARK (arcade) yang menginspirasi game D-Day
- BLACK JACK (permainan) hanya permainan dalam 21
- CARTING (arcade) yang terinspirasi mesin slot Soviet
- CHOP CHOP (game pertempuran) yang terinspirasi oleh game KARATE-DO
- COSMIC STORM (arcade) yang terinspirasi game Asteroids
- Game yang terinspirasi DANGER ZONE (arcade) LONG RAID
- DOWNHILL RACE (arcade)
- LEAP OF FAITH (arcade) yang terinspirasi oleh game yang pernah terlihat di PC
- Game reli yang terinspirasi OFFROAD (arcade)
- PACK RACE (arcade) samar - samar mengingatkan Pac Man
- TENNIS yang terinspirasi oleh PING-PONG (olahraga)
- PITMAN (arcade) samar - samar mengingatkan pada game Boulder dash
- PUZZLE (puzzle) dibuat berdasarkan puzzle 15
- RACKET BALL (arcade) permainan terinspirasi Arkanoid
- Script SEA BATTLE (arcade) untuk pertempuran laut yang baik
- Terinspirasi SHIP DUEL (arcade) game Worms
- STAR GUN (arcade) yang terinspirasi oleh game Star base yang terlihat
- TREASURE HUNT (arcade, maze) terinspirasi game harta karun
- Perubahan VIPER (arcade, maze) dari game Snake
Di tengah prestasi seperti itu, manajemen TekLabs (yang disebut unit bisnis MPS-Rusia) dan Akumiitti memutuskan untuk menandai masalah ini melalui kunjungan satu hari oleh manajemen dan tim rumah liburan pinggiran kota Skandinavia dengan makan malam gala dan sauna. Jadi, setelah beberapa saat, "puncak" dari Akumiitti Jurki Matikainen mengunjungi kami dan mendiskusikan pengembangan arah seluler. Pada rapat umum tersebut, saya menggambarkan sumber daya apa yang diperlukan untuk mengatur produksi game seluler pada skala industri, tetapi tidak memenuhi banyak pemahaman (ini bukan prioritas bagi Finlandia).

Mikko berhenti setelah beberapa waktu dan Eero Pöyry (sekarang Direktur Pengembangan Rovio) menjadi kurator kami dari perusahaan induk. Dia memberi kami informasi tentang pengiriman paket game pertama yang diterbitkan. Dia menerima informasi bahwa lebih dari 1.200 aplikasi mobile dikirim ke 1000 ponsel Siemens M50 pertama yang dijual oleh pelanggan mereka, yang menunjukkan minat nyata pengguna dalam konten J2ME. Saya mendapat bagan pengiriman email untuk game dan memenuhi aturan heuristik yang diungkapkan oleh Sergei Kuligin kepada saya - “jika Anda ingin game dijamin akan dijual - lakukan balapan”, game “Carting” adalah pemimpin absolut dalam pengiriman dan mengambil lebih dari seperempat grafik.
Saya pikir Anda bisa berhenti di sini, karena menurut saya detail dan hasil proyek diungkapkan dengan cukup detail.
Kesimpulan kecil
Dengan latar belakang semua hal di atas, saya ingin merumuskan sejumlah alasan yang, menurut pendapat saya, mengarah pada keberhasilan proyek:
- Adalah mungkin untuk dengan cepat menemukan dan menarik perhatian personil yang masuk akal yang mampu melakukan pekerjaan itu.
- Tim itu dibuat dari awal, jika ada upaya untuk menghubungkan tim yang ada dan mencairkannya dengan anggota baru, menjilat dan membongkar dengan hierarki akan memakan waktu begitu banyak sehingga hampir pasti akan menempatkan proyek di ambang kematian.
- "Arahan" aktif ditemukan (walaupun praktis tanpa pengetahuan bahasa Inggris), yang memikul tanggung jawab dan tidak cukup berpengalaman untuk memahami bahwa "ini adalah pertaruhan."
- Proyek dipikirkan pada awalnya, perencanaan dan distribusi peran dilakukan. (perhatikan auth. - Sebenarnya, ini adalah langkah yang sangat langka dalam proyek, terlepas dari kenyataan bahwa semua orang menyatakannya, terutama dalam proyek di mana "tenggat waktu ada." Siklus pengembangan yang biasa terjadi melalui sistem - "berpikir terlambat, lakukanlah!" )
- Perwakilan Akumiitti dan eksekutif TekLabs tidak mencoba ikut campur dalam proses produksi, mematuhi batas-batas dan hanya berinteraksi dalam peran bisnis mereka, memberikan kepemimpinan tim dengan semua pengaruh yang diperlukan.
- Secara umum, proses tersebut tidak menggunakan sesuatu yang secara radikal tidak dikenal oleh para peserta.
Salah satu langkah yang salah yang ingin saya catat adalah:
- Peralatan produksi dengan perangkat lunak dasar yang tidak dikenal, dengan persyaratan waktu yang ketat, merupakan risiko yang tidak perlu.
- Analisis skenario game yang tidak memadai oleh pelanggan, yang menyebabkan penggantian salah satu game.
- Jadwal kerja yang terlalu menegangkan yang menyebabkan kelelahan.
Fase tambahan, Rusia
Terhadap latar belakang langkah-langkah di bidang permainan mobile oleh mitra Barat, orang tidak bisa tidak menceritakan tentang langkah-langkah yang saya tahu tentang pemain Rusia di daerah ini. Seperti ditunjukkan di atas, sebelum proyek saya bekerja di INFON dan dia juga tidak ingin tinggal jauh dari pengembangan game J2ME. Secara umum, INFON sangat mirip dengan Akumiitti dalam bisnis, dengan perbedaan kecil - apa yang dilakukan oleh Finlandia selama 10 tahun di INFON selama setengah tahun atau satu tahun.
Pada Juli 2002, pemilik INFON diminta untuk membuat game mobile dengan topik "berburu bebek", karena ia akan berburu dengan salah satu manajer top NOKIA. ( ) Nokia 3410. , . , « », . « » . — « , ! !».

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

, ( ), Fowling Snowboard , « INFON ».
PS
, , , .
- 2002 , , Java. Java- ( Antenna ), , XML . OSS JDBC Postgres . , Linux libcomment-preprocessor-java .