Paralel antara Factorio dan desain perangkat lunak



Saya telah bekerja sebagai perancang perangkat lunak untuk waktu yang lama dan saya dapat mengatakan dengan yakin bahwa ini menarik. Ini pekerjaan yang bagus, dan saya tidak akan menukarnya dengan hal lain. Sangat mengasyikkan sehingga beberapa orang ingin menyampaikan aspek paling menarik dari pekerjaan kami dan mengekspresikannya dalam permainan.



Saya memainkan dua dari permainan ini. Yang pertama adalah Shenzhen.io . Ini mirip dengan apa yang akan dilakukan oleh insinyur tertanam. Seorang insinyur memecahkan teka-teki dengan menulis kode perakitan untuk perangkat berdaya rendah. Yang hebat dari game ini adalah para pengembang telah menghapus aspek pengkodean dan commissioning yang mengganggu darinya.



  • Persyaratannya jelas dan sangat cocok untuk tugas tersebut.
  • , . , .
  • , ( ) . , .


Haruskah perancang perangkat lunak memainkan Shenzhen.io? Gameplay game ini tidak untuk semua orang. Bagi beberapa orang, ini "terlihat seperti pekerjaan." Lagipula, ketika Anda bermain, Anda ingin bersantai dan tidak mengerjakan tugas yang sudah Anda lakukan delapan jam sehari. Terlepas dari itu, saya pikir ada baiknya bermain-main hanya untuk melihat betapa menariknya tugas tersebut ketika persyaratannya jelas dan alat pengembangannya cepat. Semua orang tahu bahwa berinvestasi dalam pengembangan dan alat akan membuahkan hasil, tetapi kesenangan dalam permainan memperkuat perasaan itu.



Game kedua adalah Factorioyang dirilis Jumat lalu, meskipun telah dimainkan di Early Access selama hampir empat tahun. Mereka yang telah memainkannya mungkin sekarang bingung - lagipula, game ini tentang membangun pabrik, bukan tentang pengkodean. Pemain bekerja dengan konveyor, logam, produk minyak dan menciptakan sumber daya yang diperlukan untuk pembuatan pesawat ruang angkasa.





Namun, game ini lebih mengingatkan saya pada desain perangkat lunak daripada game lainnya. Izinkan saya menjelaskan alasannya.



  • . Β« Β» ? β€” . , . ( !) , , . , / .
  • Β« Β» (Don’t Repeat Yourself, DRY). β€” . , , , ? β€” Β« Β». , , . β€” , - , , . Factorio β€” ( ) 4-5 . .
  • . , , , 3-5 . , . , . β€” , - . , .
  • . . , , , , . , , . !
  • . , - . β€” , . β€” , , . , .
  • . . , . , . , , (), , . , , , - . β€” . API , .
  • . , . - . , - . , . , 100 . β€” , , , . β€” , , . , , . β€” .
  • . , . - , . , . , , . , , . AWS CloudFormation β€” , . , , β€” , . , , , .
  • . , β€” . , . .


Tapi yang pertama dan terpenting, ini adalah permainan tentang bagaimana menghadapi kompleksitas. Bagaimana merancang spesifikasi dan mengimplementasikan sistem yang sesuai dengan spesifikasi itu. Tentang dukungan dan perluasan bertahap dari sistem ini.



Bagi saya, bermain Factorio tidak akan membuat Anda menjadi perancang perangkat lunak yang lebih terampil. Tetapi jika Anda mendesain perangkat lunak, game tersebut mungkin tampak menyenangkan bagi Anda. Sebaliknya, jika Anda pandai dalam permainan, maka Anda pasti harus mencoba desain perangkat lunak.



Anda dapat membeli Factorio di situs web resmi atau di Steam . Jika Anda ingin mencoba permainan sebelum membeli, maka ada demo gratis . (Hanya satu tip - jangan berharap penjualan. Game ini tidak pernah mendapatkan penjualan, dan mungkin juga tidak.)






Terima kasih kepada MineΕ‘ Patel untuk mengoreksi draf dan saran untuk menyempurnakan artikel.



Komentar dapat dibaca di Hacker News dan di reddit .



All Articles