Saat membuat prototipe, bagaimana saya bisa lebih mudah mengeksplorasi perilaku game?


49

Saya membangun game indie sendiri, tetapi saya biasanya kehabisan energi begitu saya telah mengambil game yang baru dikembangkan ke tingkat di mana dimungkinkan untuk bermain dengan perilaku, jadi saya puas dengan perbaikan daripada eksplorasi. Dengan hasil yang mengerikan.

Penyempurnaan vs eksplorasi
(gambar dari blog Intercom )

Sebagai contoh, saya menemukan bahwa siklus iterasi untuk perilaku tweaker (yaitu menautkan dan memulai kembali aplikasi C ++) begitu lama sehingga mereka membunuh semua kreativitas. Saya sedang membangun alat untuk menangani ini.

Apa cara lain yang ada untuk mengeksplorasi perilaku game dengan cepat? Saya tertarik pada metodologi yang digunakan oleh pengembang indie serta perusahaan besar.


1
Itu gambar yang sangat bagus. Dari mana asalnya?
Superbest

Saya pikir apa yang Anda lakukan secara resmi disebut "unit testing", terutama jika Anda ingin mengubah sebagian kecil permainan sekaligus. Sayangnya, game sulit untuk benar-benar diuji unit, karena sulit untuk mengisolasi komponen dan sulit untuk mengotomatisasi tes itu sendiri (sehingga dapat memutuskan lulus / gagal). Namun, membaca tentang strategi unit testing mungkin memberi Anda ide yang berguna.
Superbest

5
@Superbest: Saya tahu pengujian unit luar, dan Anda tidak dapat membandingkan eksplorasi perilaku dengan pengujian unit. Saat menjelajahi perilaku, Anda membutuhkan sebagian besar mesin game dimuat, bersama dengan aset yang relevan. Pengujian unit hanya ketika Anda tahu ke mana Anda akan pergi; dalam hal ini tidak ada yang tahu. Itu sebabnya "eksplorasi", bukan "perbaikan". Foto dari blog Interkom .
Jonas Byström

Ketika Anda menguji dalam mode Debug, Anda dapat mengubah kode Anda, ketika Anda menjeda (setidaknya di visual studio). selama Anda tidak berubah banyak (header fungsi, dll.), Anda dapat memuatnya di gim yang dijeda hanya dengan waktu kompilasi pendek
Tobias B

@TobiasB: dalam praktiknya saya sayangnya menemukan itu tidak berguna. Terutama karena Anda biasanya memiliki mekanik permainan Anda tersebar di skrip, sudah objek game diterbitkan, aset dan sebagainya. Saya bahkan tidak yakin Visual Express gratis mendukungnya, belum pernah menggunakannya selama 14 tahun! :)
Jonas Byström

Jawaban:


30

Seperti yang telah Anda catat, saat Anda mengerjakan mekanika game, kecepatan iterasi sangat penting. Semakin lama waktu antara memikirkan modifikasi dan mampu menguji dengan modifikasi itu, semakin tidak produktif Anda, dan semakin Anda akan terganggu. Akibatnya, Anda pasti ingin mengatur waktu iterasi Anda.

Bagi saya, saya menemukan bahwa produktivitas saya benar-benar mulai menurun ketika waktu untuk menguji perubahan sederhana melebihi sekitar lima detik. Jadi, ketika Anda bereksperimen untuk menyempurnakan cara permainan terasa, salah satu tujuan Anda harus mencari tahu "bagaimana saya bisa membuat perubahan dan kemudian bermain menggunakan perubahan itu dalam waktu kurang dari lima detik". Tidak masalah bagaimana Anda melakukannya, selama Anda dapat menahan waktu iterasi hingga ke tingkat itu.

Banyak mesin modern besar (Unity, Unreal, dll) cenderung melakukan ini dengan menempatkan editor mereka di dalam mesin game, sehingga Anda dapat membuat sebagian besar modifikasi hidup, tanpa harus memulai kembali permainan. Mesin / game yang lebih kecil biasanya memfokuskan kerja ke arah lain; buat kompilasi game dan luncurkan begitu cepat sehingga tidak masalah jika Anda harus memulai ulang game untuk setiap perubahan; Anda akan tetap berada di dan menguji sebelum lima periode kedua habis.

Dalam proyek saya saat ini, dibutuhkan sekitar sepuluh detik bagi saya untuk melakukan kompilasi ulang kecil, menautkan, meluncurkan game, dan kemudian mencapai gameplay (sebagian besar menghasilkan geometri dunia yang dapat diulang saat memuat game yang disimpan). Dan itu terlalu lama. Jadi saya telah membuat mode permainan "pengujian" terpisah yang memungkinkan saya menguji berbagai bagian permainan tanpa memuat semua aset gim nyata, sehingga saya bisa masuk dan keluar lebih cepat, lebih cepat; biasanya sekitar dua hingga tiga detik. Jika saya ingin menguji beberapa UI, saya bisa melakukannya tanpa memuat ke dalam game nyata. Jika saya ingin menguji rendering, saya memiliki mode lain di mana saya dapat mengujinya, lagi tanpa memuat seluruh sistem permainan.

Saya telah melihat orang lain yang telah mendekati masalah dengan menempatkan logika game ke dalam DLL, dan membiarkan game yang sudah ada di dalam memori dapat dieksekusi memuat ulang DLL saat game sedang berjalan, sehingga Anda dapat membangun kembali DLL dan hanya memuatnya kembali di dalam sebuah sudah dapat dieksekusi, jadi Anda tidak perlu memuat ulang / membangun kembali aset seni gim Anda. Ini sepertinya gila bagi saya, tetapi saya telah melihatnya selesai.

Jauh lebih sederhana daripada itu untuk menentukan perilaku permainan dan / atau konfigurasi dalam skrip atau file data, dan menyediakan cara untuk membuat sistem Anda memuat ulang file-file itu, baik sesuai permintaan, atau mungkin hanya menontonnya untuk modifikasi, tanpa harus menutup gim turun, tautkan kembali, lalu mulai lagi.

Ada banyak pendekatan. Pilih yang terbaik untuk Anda. Tetapi salah satu kunci keberhasilan penyempurnaan mekanik gim adalah pengulangan yang sangat cepat. Jika Anda tidak memilikinya, hampir tidak masalah apa pun yang Anda lakukan.


3
Bisakah Anda menguraikan mode game "pengujian" Anda? Apakah Anda membuat sepotong permainan di sana-sini untuk setiap bagian kapan pun Anda ingin mengulanginya? Berapa banyak waktu yang Anda perlukan untuk mengatur "slice" Anda? Apa yang tertinggal dan bagaimana? Apakah Anda memiliki semacam fungsi "save game" dan "load game" untuk jenis hal ini, atau apakah ini kurang generik?
Jonas Byström

2
@ JonasByström Saya tidak tahu tentang dia, tetapi ketika saya memiliki kontrol yang baik atas status permainan saya, saya sering dapat memiliki versi "Debug" alternatif (seringkali IF DEBUGarahan kompiler literal ) yang langsung menuju ke status "pengujian" saya (melewatkan menu permainan) dll.), yang hanya merupakan area bermain tanpa tulang dengan aset apa pun yang saya uji pada saat itu. Jadi pada dasarnya saya mengkompilasi executable alternatif yang secara otomatis memuat level yang sangat rendah (lebih sedikit aset untuk dimuat + tidak ada omong kosong dengan menu game setiap saat).
Hebat

@ JonasByström Saya membagi game saya menjadi "mode". Ini pada dasarnya hanya mesin negara besar. Jadi saya biasanya akan memiliki mode "Layar Judul", mode "Dalam Gim", mode "Gulir Kredit", dll. Mereka seperti gim tertanam di dalam executable. Mode "pengujian" saya adalah hal-hal seperti "UITest", yang hanya akan memuat dan menggambar antarmuka pengguna, tanpa memuat konten game lainnya. Atau "RenderTest", yang akan memuat dan menggambar beberapa objek tertentu, tanpa memuat apa pun.
Trevor Powell

@ JonasByström Ketika saya perlu membuat mode pengujian baru, biasanya diperlukan beberapa menit untuk menulis kode yang mengatur hal tertentu yang ingin saya uji, dan segala dependensi yang mungkin dimilikinya. Atau secara bergantian, saya sering dapat mengadaptasi mode uji yang ada dalam beberapa detik (Sebagai contoh. Saya biasanya akan memodifikasi mode UITest saya yang ada untuk memuat sepotong UI yang berbeda, daripada membuat yang baru). Namun, tidak terlalu penting berapa lama untuk menyiapkannya; intinya adalah bahwa begitu diatur, saya dapat beralih dengan kecepatan yang luar biasa cepat, yang membuat saya produktif selama waktu iterasi.
Trevor Powell

1
@ JonasByström Perlu juga dicatat bahwa "beli komputer yang lebih cepat" adalah solusi yang sepenuhnya legal untuk pertanyaan "bagaimana saya mendapatkan waktu iterasi saya turun" juga. Dan seringkali itu bisa menjadi solusi termurah, jika dibandingkan dengan menginvestasikan waktu Anda untuk mengimplementasikan rig pengujian khusus. Mendapatkan waktu iterasi Anda turun adalah investasi yang Anda berikan banyak waktu / uang / usaha di muka, tetapi yang membayar banyak dividen di jalan.
Trevor Powell

20

Untuk membuat prototipe dengan baik, kurangi biaya pengujian ide.

Alur kerja saya disetel untuk gim kecil, tetapi menurut saya hal ini bermanfaat:

  • Teknologi ramah-prototipe  Saya merasa terbantu untuk menggunakan bahasa dan kerangka kerja pemrograman yang dinamis, seperti Lua ( LÖVE bagus untuk 2D), JavaScript atau Lisp / Skema di mana mendapatkan program untuk melakukan sesuatu memerlukan penekanan tombol minimal, bahkan dengan biaya dari segalanya. Setelah Anda tahu apa yang Anda inginkan, dan ingin memperbaikinya, optimalkan atau port ke mesin lain.
  • Kontrol versi  Simpan prototipe dalam repositori yang dikendalikan revisi . Cabang awal, cabang sering. Ini membuat Anda nyaman mencoba berbagai hal tanpa khawatir Anda akan kehilangan atau melupakan sesuatu. ( Git memiliki model percabangan termurah.)
  • Build automation  Pastikan Anda perlu melakukan sesedikit mungkin untuk benar-benar menjalankannya. Menurut pendapat saya, bahkan harus menekan tombol terlalu banyak: Saya biasanya memiliki Makefiledengan make watchtarget yang berjalan inotifywaitdalam satu lingkaran, bereaksi terhadap perubahan file dengan secara otomatis mengkompilasi / menjalankan permainan. Dalam bahasa yang ditafsirkan atau dikompilasi JIT , ini instan.

1
Lua tampaknya tidak mendukung kode hotswapping. Apakah itu berarti Anda harus memulai kembali game / prototipe Anda untuk menguji perubahan Anda?
Jonas Byström

6
Kode Lua hotswapping sudah pasti dimungkinkan.
Josh

1
@ JonasByström Mungkin saja, tetapi hanya di bawah lingkungan yang tepat. Jika Anda tidak dapat menemukannya, tulis satu, kode sumber Lua ditulis dalam C sehingga mudah dibawa ke apa pun yang menerima panggilan fungsi C-style. Padukan dengan OpenGL, SDL 2 atau pustaka pembungkus grafis / harware lainnya dan buat sendiri IDE hotswapping.
Pharap


2
@ JonasByström: ... kecuali kembali ke bulan, rupanya. :(
Mason Wheeler

11

Sebagai pengembang yang sebagian besar berfokus pada pembuatan prototipe, inilah sedikit saran dari pengalaman saya.

  1. Gunakan mesin yang memungkinkan Anda untuk membuat perubahan CEPAT. Ini termasuk hal-hal seperti "Tidak menunggu kompilasi", tetapi juga "mengubah hal-hal saat runtime", "kemudahan debugging", "ketersediaan aset test" dll Saya pribadi suka Unity3D, tapi itu bukan yang alat terbaik di luar sana. Alat terbaik bergantung pada gimnya: misalnya, Unreal Engine mengkompilasi cara kode lebih lambat dari Unity3D, tetapi alat ini dapat dengan cepat meluncurkan beberapa klien yang terhubung. Untuk game berjaringan, ini sering mengimbangi biaya kompilasi. Pertimbangkan juga keakraban. Jika Anda jagoan dengan C ++, bahkan mesin Javascript terbaik tidak akan banyak membantu, dan sebaliknya. Jangan menghabiskan waktu berjuang dengan teknologi asing (maksud saya, memang belajar bahasa / kerangka kerja lain, tetapi tidak pada saat yang sama membuat prototipe penting).
  2. Belajarlah untuk menghapus fitur yang ada tanpa ampun. Berpegang teguh pada hal-hal yang sudah Anda terapkan adalah laknat bagi prototyping yang sukses, tetapi melepaskan pekerjaan Anda sulit.
  3. Jika Anda tidak bekerja dengan perancang permainan, buat garis yang jelas antara "mengenakan topi programmer" dan "mengenakan topi desainer". Menambahkan fitur gameplay keren baru tampaknya sangat menggoda, tetapi jangan lakukan itu saat Anda berada di posisi desainer. Alih-alih mencoba untuk membuat permainan yang menyenangkan (lebih disukai beberapa varian) dengan apa yang Anda miliki; buat daftar fitur yang akan membantu lalu mengimplementasikan (sebagian) fitur tersebut.
  4. Pembuatan prototipe cepat melibatkan penyeimbangan antara dua hal yang berlawanan. Anda ingin membuat barang secepat mungkin, sehingga Anda menulis kode yang buruk. Tetapi Anda ingin berubah barang sebanyak mungkin, jadi Anda harus menulis kode yang bagus! Belajarlah untuk menyeimbangkan keduanya. Maaf, saya tidak bisa memikirkan saran konkret tentang bagaimana sebenarnya melakukan ini, tetapi setidaknya sadar akan masalah ini (-8

Lihatlah berapa banyak waktu yang dibutuhkan prototipe Anda. Dalam pengalaman saya, Anda ingin memiliki versi apa pun yang dapat dimainkan dalam maksimal dua hari - mulai dari awal; dan Anda ingin menguji satu atau dua fitur baru setiap hari. Jika Anda tidak memenuhi target ini, cari cara untuk menjadi lebih cepat.


Saya berpikir bahwa fitur berbeda dari eksplorasi perilaku. Saya ingin menjelajahi "rasanya." Fitur lebih seperti rendering yang indah untuk saya: tidak penting dan tidak berkorelasi dengan betapa menyenangkannya game ini. Minecraft, Candy Crush, Tetris dan game serupa membuktikan bahwa IMHO.
Jonas Byström

@Jonas Byström Untuk memperjelas: di sini dengan "fitur" Maksudku perubahan penting untuk gameplay. Yaitu secara khusus BUKAN rendering yang indah, tetapi sesuatu seperti "tambahkan cara untuk membuat blok" atau "tambahkan monster yang menyerang dan membunuh pemain" saat membuat prototipe Minecraft.
Nevermind

1
Pentingnya poin kedua Anda, "melepaskan fitur", tidak bisa dilebih-lebihkan. Banyak fase eksplorasi gagal karena tidak mengatakan "tidak" pada fitur gagal yang membutuhkan waktu 2 minggu untuk diimplementasikan.
Kostas

Catatan pada poin 4. Saya pikir kunci untuk ini adalah memahami apa yang akan Anda perlu ubah dalam kode dengan cepat. Pastikan untuk mengekspos nilai-nilai yang Anda tahu Anda ingin atur. Biarkan bagian lain dari kode terkubur jika Anda tahu mereka tidak terlalu mempengaruhi gameplay dan memaparkannya nanti saat Anda perlu. Anda harus menyelesaikannya dengan cepat, tetapi jika Anda dapat mencoba mendesain arsitektur dari kata go sehingga hal-hal 'desain game' menghadap ke depan dan bersih jika memungkinkan, sisanya dapat dihapus.
sydan

1
@ Sydan, kebenaran yang patut disayangkan adalah bahwa ide Anda tentang kode apa yang "menghadap ke depan" itu salah. Maksud saya, SELALU ternyata sesuatu yang Anda seharusnya tidak pernah berubah sebenarnya adalah hal yang sangat dinamis. Saat membuat prototipe, Anda sebaiknya bersiap untuk mengubah setiap aspek, dan melakukannya dengan cepat.
Nevermind

5

Satu dapat membagi pengembangan game antara empat fase ini:

  • pembuatan prototipe
  • penyempurnaan gameplay
  • pengembangan
  • penyempurnaan kinerja

Eksplorasi gameplay yang saya percaya sebagian besar terjadi pada fase prototyping dan ini adalah beberapa saran yang saya coba ikuti:

  • Mulailah mendesain dengan prototipe kertas. Setelah Anda memiliki gagasan yang jelas tentang apa permainan itu, mulailah mengkodekannya sehingga Anda benar-benar dapat merasakan interaksinya. Mungkin ini tidak berguna untuk game 3D tetapi secara pribadi ini telah banyak membantu saya di masa lalu.

  • Kode mengetahui bahwa Anda akan membuang kode setelah selesai. Ini akan memungkinkan Anda untuk menjadi liberal ketika harus memilih mesin permainan apa.

  • Siklus iterasi yang cepat adalah penting (seperti yang telah disebutkan sebelumnya). Pilih mesin game berdasarkan kemampuannya untuk dengan cepat menunjukkan kepada Anda apa yang Anda kodekan. Anda juga tidak perlu peduli dengan kinerja atau kesetiaan grafis pada fase ini.

  • Batasi ruang lingkup Anda. Jika gameplay sebenarnya adalah 2D (game strategi biasa, JRPG), prototipe dalam 2D. Pada fase ini Anda hanya peduli tentang umpan balik pada gameplay .

  • Jangan buang waktu memoles atau mencari aset. Mencorat-coret sesuatu di atas kertas, mengambil foto itu, memotongnya di Photoshop, mungkin mewarnai dan menggunakannya sebagai sprite. Nyalakan mikrofon Anda dan ucapkan "pew pew". Letakkan dua kubus dan satu bulatan bersama dan Anda memiliki robot. Selalu ingat, menjelajahi kemungkinan gameplay adalah prioritas pertama dan satu-satunya Anda.

Setelah memutuskan prototipe yang menyenangkan, mulailah menyempurnakannya. Saya tidak berpikir ada alasan untuk beralih teknologi, kecuali jika ada elemen gameplay yang membutuhkannya.

Kemudian dalam fase pengembangan, Anda akan menjaga prototipe yang disempurnakan di tangan sambil mengembangkan baru, jauh lebih tampan, terdengar lebih baik, perasaan permainan jauh lebih baik. Di sini Anda harus memilih mesin gim yang sebenarnya untuk digunakan.

Pada akhirnya, ambil apa yang Anda miliki dan sesuaikan untuk menggunakan lebih sedikit sumber daya.

Sebagian besar dari apa yang saya jelaskan di atas adalah pengetahuan umum tetapi memasukkannya ke dalam daftar, mengelompokkan seluruh proses pengembangan, membantu saya menempatkan setiap langkah dalam perspektif. Saya harap ini membantu Anda juga.


1
Kertas foto dan "bangku" adalah saran yang bagus; dan ya - daftar juga membantu saya. "Identifikasi tiga prioritas utamamu. Membuang nomor dua dan tiga." :)
Jonas Byström

4

Saya setuju dengan jawaban Trevor Powell bahwa kecepatan iterasi sangat penting bagi Anda untuk tetap dalam suasana kreatif daripada hanya memoles. Sumber inspirasi besar bagi saya adalah ceramah Bret Victor, "Menciptakan Prinsip" . Sayangnya, sulit untuk menemukan alat nyata di tingkat itu. Saya mencoba membuat sendiri untuk pengembangan Python yang memungkinkan saya menjalankan kode Python saya saat saya mengetiknya. Ini disebut Pengodean Langsung dengan Python .


1
Saya pernah melihat videonya sebelumnya, tetapi lupa tentang itu. Hm Interaksi langsung adalah sesuatu yang harus diupayakan; Saya akan mencoba untuk bertindak atas saran Anda. Kerja bagus di plugin Live Coding yang menarik, btw!
Jonas Byström

2

Saya membangun alat prototyping yang disebut Trabant yang:

  • 3D dan mekanik permainan HANYA (tidak ada UI, tidak ada teks, tidak ada);
  • membutuhkan sangat sedikit kode dan tidak ada aset untuk membangun prototipe;
  • Model 3D dibuat dalam kode menggunakan seni ASCII ;
  • memungkinkan iterasi sub-detik;
  • memiliki dukungan simulasi benda tegar;
  • bekerja pada Windows, Mac, Linux dan iOS;
  • menggunakan bahasa tujuan umum yang terkenal, Python;
  • memiliki IDE untuk Windows dan iOS.

Saya membuat 30 prototipe uji untuk memverifikasi di atas.

Sebagaimana Trevor Powell menekankan iterasi harus <5 detik, dan saya menemukan iterasi hampir lima kali lebih baik.:)

Anko menyebutkan bahwa menggunakan bahasa dinamis adalah ide yang bagus, saya memilih Python karena itu adalah salah satu yang paling banyak digunakan . Mengenai otomatisasi pembuatan, pengujian di Trabant sama cepatnya dengan menekan F5 di IDE (atau F6 untuk mengujinya di iPad Anda), dan karena tidak ada langkah pembangunan yang terlibat, tidak jadi lebih instan dari ini.

Kode Throwaway adalah salah satu takeaways Nevermind . Saya sepenuhnya setuju, dan Trabant menegakkannya.


1

Selain kecepatan iterasi Trevor Powell yang sangat penting, berikut adalah beberapa pertimbangan berguna lainnya:

Seperti kode yang bagus ...

Banyak IF di sana.

Semakin solid konsep semakin sedikit Anda perlu bermain-main. Jika Anda tahu apa yang ingin Anda lakukan, membuat prototipe menjadi - apa yang akan diletakkan dan bagaimana mengatur hal-hal yang terkait dengan pilar utama (hal utama Anda).

Jika Anda memulai seperti banyak orang lain - tidak yakin apa yang ingin Anda lakukan, Anda menuju ke suatu arah dan mengeksplorasi banyak cara gambar yang Anda tunjukkan.

Apa pun komitmen terhadap suatu teknologi tidak relevan jika apa yang Anda cari dapat disimulasikan tanpa banyak kedalaman - prototipe pada apa pun yang Anda inginkan / dapat.

Jangan buang satu detik pun pada sumber daya. Unduh semuanya dari internet. Milik eksklusif atau tidak. Anda ingin merasakan konsep Anda di tempat kerja - kecuali grafis adalah fitur utama Anda, tidak ada yang akan menuntut Anda karena bereksperimen dengan suara, tekstur, dan segalanya milik orang lain, Anda belum meletakkannya di rak di toko dulu. Kecuali jika Anda sudah didanai - meyakinkan orang bahwa konsep itu bermanfaat adalah hal yang akan memberi Anda uang untuk mendapatkan sumber daya yang Anda inginkan. Saya telah melihat orang-orang di studio game menyajikan konsep game dengan versi mod dari game eksklusif yang tidak mereka miliki haknya.

Seperti Anda sedang membangun model skala. Sementara itu luar biasa untuk memiliki replika kehidupan mini dari apa yang Anda inginkan. Terkadang cukup untuk memotongnya dari majalah, kerajinan tangan dan rekatkan potongan-potongan itu. Semua orang dengan noda imajinasi tidak akan menganggap Anda benar-benar akan membangun gedung pencakar langit dari kardus yang sama dengan yang Anda tunjukkan dengan model skala. Dan di industri kreatif - jenisnya lebih disukai untuk bekerja dengan orang-orang dengan imajinasi. Jika mereka tidak dapat melihat melewati beberapa masalah rancangan untuk melihat potensi di balik keseluruhan konsep, mereka jarang akan menghargai suatu produk. Tidak ada penghargaan berarti mereka kurang mau berkomitmen dan itu spiral ke bawah. Ini perbedaan antara mengatur sikap anak Anda untuk menaklukkan dunia dan bukannya mengatakan "Anda bahkan tidak bisa mengikat sepatu Anda dengan benar, Anda bajingan kecil,

Apa pun yang Anda lakukan, selalu ingat bahwa sikap saja sudah lebih dari cukup untuk menghancurkan apa pun tanpa mempedulikan potensi teknologis atau ekonomisnya.

Saya pernah membuat prototipe permainan menggunakan gambar gif eksklusif dan memberi mereka sedikit hubungannya dengan javascript. Itu tidak menyilaukan tetapi melayani tujuan menunjukkan apa yang ingin saya tunjukkan. Tidak masalah jika nanti Anda mengembangkannya untuk Xbox secara eksklusif.

Jika ide Anda lebih kompleks daripada prototipe sederhana, maka Anda harus melakukan penelitian ke dalam teknologi yang akan Anda gunakan - karena prototipe akan menjadi perancah untuk hal terakhir (hanya karena banyak yang diinvestasikan dalam dan itu tidak bisa dibuang dengan mudah) - jika Anda mendapatkannya jelas disetujui.


Prototyping hanya diperlukan jika Anda sedang membangun sesuatu yang baru, itu sudah pasti. Kurangnya perkakas seperti kurangnya pena dan irl kertas - dan tentu saja Anda bisa menggambar di pasir, tetapi itu tidak efisien. Saya membuat Trabant untuk menghindari GIF + JS atau Scratch .
Jonas Byström
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.