Apa cara paling efektif untuk bekerja dengan teman di permainan yang sama?


29

Kami memerlukan sesuatu di mana kami dapat memeriksa file, mengeditnya, memeriksanya kembali dan kemudian membangunnya.

Sesuatu seperti Google Documents tempat kami dapat mengedit kode yang sama pada saat yang sama akan menjadi ideal.

Kami berdua menggunakan Visual Studio 2010.


2
Saya selalu bertanya-tanya mengapa tidak ada yang melakukan (atau setidaknya saya tidak menemukan) mengedit kode seperti-Documents. Saya kira ada beberapa kesulitan yang melekat seperti penyelesaian kode dan fakta bahwa kode harus dikompilasi, tetapi tampaknya tidak mustahil untuk diatasi dengan beberapa koordinasi (dan mungkin trik seperti strategi penggabungan kode tertunda.) Saya kira mereka adalah Masalah NYATA dalam proyek-proyek besar. Saya harus menggali untuk alat pengkodean kolaboratif anyways (atau membuat sendiri: P)
kaoD

1
@kaoD SubEthaEdit menawarkan fungsionalitas semacam itu berdasarkan per-file (tidak yakin seberapa baik ia menangani sejumlah besar file).
michael.bartnett

Jika seseorang dapat menemukan saya program seperti ini untuk windows dan c # Saya akan memberi Anda cookie.
steakbbq

1
Emacs dapat melakukan ini, tetapi kikuk: emacswiki.org/emacs/CollaborativeEditing ; atau MoonEdit: moonedit.com (walaupun saya tidak tahu apakah ia memiliki mode C #); atau Gobby: en.wikipedia.org/wiki/Gobby
amitp

Seberapa sulitkah untuk menulis compiler IE sublime baru? Mungkin akan lebih mudah untuk mengembangkan plugin untuk yang sublim bukan?
steakbbq

Jawaban:


19

Seperti yang saya nyatakan dalam komentar untuk pertanyaan Anda, saya sangat ingin tahu untuk mengedit kolaboratif yang sebenarnya . Saya melakukan riset beberapa waktu lalu, tetapi sebagian besar solusi tidak memenuhi standar: apakah mereka editor teks biasa dengan highlight sintaksis, memiliki biaya gila atau tidak tersedia lintas platform (seperti SubEthaEdit ...)

Sampai aku menemukan Saros ! Ini adalah plugin Eclipse yang rapi, sehingga mungkin mudah untuk diintegrasikan dengan alur kerja Anda saat ini. Anda dapat menonton video demo mereka , ini cukup mengesankan. Ini dipikirkan dengan sangat baik untuk lingkungan pengeditan kolaboratif sejati dan memiliki beberapa fitur kunci yang sangat baik. Ini mendukung sejumlah peserta yang sewenang-wenang, sinkronisasi proyek penuh, pengeditan waktu-nyata dengan spidol dan sorotan (ala Google Docs), mengikuti pandangan mitra Anda, beberapa metode kesadaran peserta dan banyak lagi (Anda bahkan dapat berbagi layar menggunakan plugin ini. ) Dan ternyata itu terintegrasi dengan banyak plugin Eclipse lainnya!

Saya belum mengujinya sendiri, tapi itu salah satu dari beberapa proyek yang masih dipertahankan dan terlihat sangat menjanjikan. Cobalah dan beri tahu saya (baca panduan ini sebelumnya.) Saya berjanji akan kembali ke sini dan memposting kesan saya sebagai komentar ketika saya mencobanya sendiri.

EDIT: Juga, seperti yang ditunjukkan Gustavo dalam komentar, Cacoo mungkin berguna juga. Ini adalah alat kolaborasi online untuk menggambar UML (sebenarnya, semua jenis diagram). Saros mendukung papan tulis, tetapi tidak ada yang seperti alat diagram jika Anda ingin menghindari kecanggungan.


3
Orang memberi banyak jawaban, semuanya pada sistem versi, tetapi saya pikir ini adalah jawaban aktual dari pertanyaan itu. +1 untuk pengeditan kolaboratif. BTW, coba Cacoo (google it) Ini adalah alat kolaborasi untuk membuat UML, membantu saya dalam banyak proyek, mungkin melengkapi jawaban Anda.
Gustavo Maciel

1
@ Gustavo-Gtoknu alat yang sangat bagus, apakah Anda keberatan jika saya memperbarui jawabannya?
kaoD

2
Lakukan sekarang! : D Jawabannya layak.
Gustavo Maciel

Ini bagus, tetapi Eclipse untuk java? Saya menjalankan c #
steakbbq

@steakbbq ada beberapa plugin yang menyediakan dukungan C # ( Emonic dan Meningkatkan ) tetapi sayangnya mereka tampaknya kurang mendukung debugging dan refactoring.
kaoD

36

"Kami hanya perlu sesuatu di mana kami dapat memeriksa file-file yang diedit dan kemudian memeriksanya kembali dan membangun dari kumpulan file yang sama"

Gunakan kontrol versi; sistem kontrol versi (VCS) persis seperti yang Anda gambarkan, dengan bonus tambahan yang menyimpan sejarah setiap perubahan yang dilakukan siapa pun. Ada banyak sistem kontrol versi populer di luar sana:

http://subversion.apache.org/

http://mercurial.selenic.com/

http://git-scm.com/

Saya tidak menggunakan Visual Studio secara pribadi, tetapi saya sepenuhnya yakin bahwa Visual Studio memiliki dukungan untuk semua sistem kontrol versi ini.


11
Baru saja membagikan host Git / HG pribadi gratis di chat: bitbucket.org (gratis hingga 5 kolaborator). Juga HG lebih cocok karena memiliki plugin yang berhubungan dengan konten biner besar (proyek konten).
Jonathan Dickinson

2
+1 VCS adalah caranya. Saya menggunakan AnkhSVN sebagai Plugin Visual Studio untuk Subversion.
Richard Marskell - Drackir

2
+1 di sini. dukungan pribadi saya adalah TortoiseSVN. Untuk hosting (dengan asumsi open source) rekomendasi saya adalah Google Code
PlayDeezGames


2
Tolong jangan subversi. Kontrol versi terdistribusi sangat sederhana bagi orang yang tidak terbiasa bekerja dengan sistem terpusat. Orang-orang yang terbiasa dengan subversi kehilangan kebingungan.
rjmunro

9

Untuk tim saya, kami menggunakan tiga program tergantung pada apa yang perlu kami kerjakan:

  • TortoiseSVN untuk kode (cobalah membuat pemrogram menggunakan IDE yang sama, membakukan konvensi dan mendorong komentar yang baik)
  • Dropbox untuk multimedia (untuk model / sprite / file audio, memungkinkan devs untuk bekerja secara lokal sampai artis / komposer / pemodel siap mengirim)
  • GoogleDocs untuk dokumentasi (untuk dokumen desain / maket / pitches biasanya untuk desainer, manajer, dan produsen)

Untuk mengoordinasikan upaya anggota yang berbeda (yang bekerja di waktu yang berbeda) kami menggunakan sistem tiket Assembla . Dengan cara ini setiap orang diperbarui pada status seluruh proyek atau jalan tertentu yang mereka pilih. Juga gunakan komunikasi Skype / Google Hangout / Tatap muka untuk memastikan semua orang di halaman yang sama setidaknya setiap minggu.

Metode ini biasanya bekerja ketika tim terdiri dari 3-5 orang yang telah menetapkan peran (programmer, artis, pemodel, perancang, dll.). Jika ini tidak berhasil, coba metode lain atau gabungkan aspek-aspek kerja untuk membuatnya menjadi milik Anda. Semoga berhasil!


Saya hanya berbicara tentang kontrol versi untuk kode karena itulah satu-satunya aspek pengembangan yang ia tanyakan, tetapi studio saya juga menggunakan Dropbox dan Google Documents untuk tujuan yang sama dengan jawaban ini.
jhocking

Kombinasi yang hebat.
Bill K

7

Kedengarannya seperti Anda ingin drop box, sistem kontrol versi, atau keduanya.

Dropbox adalah yang paling nyaman. Lakukan perubahan dan simpan saja dan Dropbox akan menyinkronkan perubahan di mesin teman Anda. Jangan berpikir 2 orang dapat mengerjakan file pada saat yang sama meskipun tanpa saling menimpa bekerja.

Namun, saya sarankan Anda menggunakan sistem kontrol versi , Subversion , GIT , dan Mercurial saat ini adalah yang terbesar 3. Ada banyak keuntungan menggunakan VCS: termasuk kemampuan untuk mengotomatiskan cadangan, perubahan rollback, dan checkout kode Anda di komputer mana pun yang memiliki akses ke server Anda.

Setelah menggunakan 3 yang saya sebutkan saya menemukan Subversion yang paling mudah untuk memulai dan Assembla memungkinkan repositori SVN atau GIT pribadi gratis .


9
Saya tidak terlalu suka dropbox untuk hal semacam ini. Jika Anda menggunakan salah satu produk Tortoise *, ia memiliki sejenis integrasi Windows Explorer, tetapi Anda bisa mengontrol komit / tekan / tarik / gabungkan sehingga Anda tidak memiliki masalah "2 orang saling menimpa".
Jimmy

2
Saya juga tidak tahu mengapa saya merekomendasikan VCS. Namun, hampir tidak ada kurva belajar dan Anda langsung memiliki cadangan jadi saya menganggapnya layak disebut.
ClassicThunder

9
Saya sarankan tidak menggunakan DropBox sebagai pengganti sistem kontrol versi. Jika dua orang memodifikasi file yang sama selama jangka waktu yang sama, DropBox akan menduplikasi file tersebut. Untuk kode sumber, ini biasanya tidak diinginkan dan lebih menyakitkan yang hanya menggunakan sistem kontrol sumber.
John McDonald

Subversi tidak mudah digunakan - orang yang hanya terbiasa dengan itu akan merasa sama membingungkannya dengan orang yang sebaliknya.
rjmunro

Saya tidak pernah mengatakan itu. Saya berkata bagi saya itu yang paling mudah untuk mengambil setelah belajar. Adalah bodoh untuk mengucapkan pernyataan subjektif seperti "Subversi tidak mudah digunakan" dalam istilah absolut.
ClassicThunder

5

Seperti disebutkan dalam jawaban lain, VCS adalah jalan yang harus ditempuh. Git adalah favorit saya, tetapi itu bisa saja karena itu yang pertama saya gunakan.

Saya menemukan buku online ini sangat membantu untuk mempelajari Git. http://progit.org/book/ Apa pun VCS yang Anda gunakan, ada baiknya Anda mendedikasikan beberapa jam untuk mencari tahu cara menggunakannya.

Hal lain yang layak disebut - VCS bagus untuk kode sumber (atau file teks apa pun), tetapi menyimpan gambar dan file suara dapat membuat repositori Anda tidak perlu. Beberapa orang merekomendasikan repositori terpisah untuk ini, tetapi saya menemukan Dropbox berfungsi dengan baik untuk sumber daya semacam ini.

Untuk proyek sekolah, kami menggunakan folder Dropbox publik, dan menggunakan skrip ini untuk menjaga sumber daya kami tetap terkini https://github.com/dc2011/td/blob/master/tools/extrafiles.sh

Ia memeriksa hash md5 file di Dropbox terhadap hash file yang sudah ada di disk (jika ada) sehingga hanya file baru atau yang diubah yang diunduh.


1
ya, saya dulu menggunakan svn. Sekarang saya selalu menggunakan Git. Meskipun banyak orang tidak menyukai baris perintah, saya merasa sangat nyaman. Pada windows saya menggunakan Console, yang membungkus lingkungan git-bash. Pada OSx, Terminal yang tepat dengan tema Solarized.
Prozaker

Saya setuju, saya tinggal di terminal jika saya bisa! Kadang-kadang ada kurva belajar yang sedikit lebih curam, tapi itu membuat otomasi jadi jauh lebih mudah. Jika Anda menggunakan OSX secara teratur, Anda harus memeriksa iTerm2. Ini memiliki dukungan untuk 256 warna, serta mode layar penuh dan memanfaatkan pemisahan dengan sangat baik.
Dean

4

Seperti yang telah disebutkan, Anda memerlukan kontrol versi. Ada penawaran gratis yang bagus dari perangkat lunak FogCreek (Anda harus mengucapkan terima kasih karena telah menyediakan stackexchange yang memungkinkan situs ini). Ini disebut Kiln (dibangun di atas Mercurial ) dan terintegrasi dengan produk perangkat lunak pelacakan bug / fitur / waktu yang bagus yang telah mereka bangun yang disebut FogBugz . Untuk tim yang terdiri dari 2 pengembang, mereka menyediakan versi gratis dari produk-produk ini (dan menampung mereka untuk Anda). Saya menggunakan pengaturan ini untuk proyek saya sendiri dan versi berbayar untuk semua produk perangkat lunak yang saya kerjakan untuk majikan saya (kami memiliki tim pengembang yang jauh lebih besar, jadi harus menggunakan versi berbayar). Layak untuk dicoba.

Jika Anda memutuskan untuk menggunakan ini, berikut adalah beberapa tutorial bagus atau tautan berguna untuk membantu Anda memulai:


1

Alat yang digunakan tim saya untuk kolaborasi yang lancar:

• GitHub, yang jika Anda memiliki sedikit uang adalah cara yang sangat murah dan mudah untuk meng-host semua sumber Anda. Ini adalah platform kontrol versi yang dibicarakan oleh kebanyakan orang di sini. Anggap saja sebagai akun Pastebin yang ada di hard drive lokal Anda dan diperbarui setiap kali ada anggota tim Anda membuat perubahan. Proyek yang dihosting disebut deposit. Ada banyak klien Git gratis, beberapa dari mereka berintegrasi langsung ke Windows untuk membuat penyimpanan Anda bersih dan mutakhir.

• Google docs untuk dokumen desain game, ide, konsep seni.

• Penggunaan DropBox sesekali jika salah satu dari kami membutuhkan aset atau skrip tertentu ... ini jarang terjadi dan kami lebih suka bekerja melalui GitHub.


1

Jika Anda menggunakan Visual Studio, opsi terbaik adalah Team Foundation, dari Microsoft dan Kontrol Versi terbaik yang saya tahu, hal negatifnya adalah Anda memerlukan server, server sql, dan server tim landasan untuk berjalan di server (klien sudah menggunakan studio visual), jika Anda memiliki kesempatan, cobalah.


Saat ini saya menggunakan Team Foundation. Saya memiliki pertanyaan tentang percabangan dan penggabungan cabang. Jika saya membuat dua cabang dan seseorang menambahkan beberapa kode ke kelas, dan saya menambahkan beberapa kode yang berbeda ke kelas ketika saya menggabungkan mereka akan menambahkan perubahan ke file atau kita akan mendapatkan kesalahan dan harus memilih salah satu perubahan ?
steakbbq

Saya tidak menggunakan cabang untuk itu, saya menggunakan cabang untuk versi yang berbeda, jika Anda melakukan itu, studio visual mungkin akan melakukan penggabungan yang buruk (seperti, ketika seseorang menggunakan kelas dan yang lain memeriksa kelas yang sama dan mereka berdua menambahkan kode, visual studio akan meminta Anda untuk membuat penggabungan manual), jika Anda ingin melakukan perubahan pada kelas pada saat yang sama, mengapa Anda tidak menggunakan kelas parsial? gunakan cabang untuk versi yang berbeda, dengan cara Anda memiliki kontrol lebih besar atas versi Anda
Rudy_TM

"Team Foundation, dari Microsoft dan apakah Kontrol Versi terbaik yang saya tahu" Oh sayang :) Apakah Anda pernah mencoba sesuatu yang lain?
Andy M

1

Untuk pemrograman pasangan virtual, saya menggunakan pengaturan ini (mengoordinasikan semuanya melalui Skype):

  1. Instal server SSH di salah satu mesin Anda.
  2. Instal tmux
  3. Orang lain ssh ke komputer Anda.
  4. Suruh tuan rumah memulai sesi tmux
  5. Minta pasangan Anda menjalankan 'tmux at' dalam koneksi SSH-nya

Sekarang Anda dan teman Anda akan melihat layar terminal yang sama persis. Tetapi Anda mungkin ingin kemampuan untuk bekerja bersama di luar komputer Anda, bukan?

  1. Buat akun Bitbucket.org, buat proyek (Saya lebih suka Git), dan ikuti instruksi mereka membuat repositori kosong.
  2. Salin file proyek Anda ke atas dengan "git add. && git commit -m 'Komit awal.'"
  3. Dorong ke Bitbucket dengan "git push origin master"

Sekarang Anda dan teman Anda dapat mengerjakan perubahan secara mandiri, dan mendorongnya ke Bitbucket saat Anda siap.

Ini tidak akan membiarkan Anda berdua mengedit bersama di Visual Studio dengan cara yang bagus, tetapi Anda akan dapat mengedit kode sumber itu sendiri jika Anda memasangkan pada beberapa fitur baru atau men-debug masalah. Selama Anda mendorong perubahan setelahnya, teman Anda dapat membukanya di VS.


1

Saya akan menyarankan kontrol versi Bazaar . Ini kecil, praktis, sangat bagus untuk proyek kecil / sedikit pria. Git dan SVN lebih sering digunakan untuk proyek / tim yang lebih besar. Bazaar memiliki pengembangan VS plugin, tetapi bagi Anda itu tidak membuat banyak perbedaan menggunakannya di luar VS. Sangat mudah untuk menggunakannya setelah Anda mengetahuinya dan pada awalnya mengaturnya. Ada beberapa plugin yang berguna.


-2

Sudah banyak saran bagus tetapi jika Anda ingin mencari solusi berteknologi rendah dan sederhana, ini berfungsi untuk saya ketika saya berkolaborasi:

  1. Gunakan komentar pada saat itu kepala setiap skrip untuk melacak kapan itu diedit, yang oleh dan kapan yaitu:

    Vers      Date      Author   Note
    
    1.0.1     12/10/11  Paul     Added a new boss to level 12
    1.0.2     22/11/11  Frank    Fixed the bug introduced by Paul
  2. Forum pribadi atau Wiki yang lebih baik adalah cara yang baik untuk mengomunikasikan ide dan membuat semua orang mendapatkan informasi terbaru.

Ide-ide yang diberikan sudah lebih baik daripada solusi ini tetapi ini sangat mudah diimplementasikan dengan investasi waktu minimal, untuk proyek kecil dengan hanya beberapa orang yang bekerja bersama mungkin cukup untuk kebutuhan Anda.

Setelah bekerja untuk organisasi global besar, saya bisa jujur ​​mengatakan jumlah waktu yang hilang karena pita merah di sekitar perangkat lunak kontrol versi (MKS) mereka benar-benar menyebalkan!


ugh Saya benci komentar seperti itu di kepala setiap naskah. Lagi pula itu tidak menjawab pertanyaan di sini; teknik untuk melacak perubahan tidak memberi tahu Anda apa pun tentang bagaimana anggota tim akan berbagi pekerjaan satu sama lain.
jhocking

Yah, komunikasi tidak masalah, sesama pengembang saya duduk di ventrilo sepanjang hari dengan saya dan kami berbicara cukup banyak lol.
steakbbq
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.