Reply
 
Thread Tools Display Modes   
 
[Tanya] - Match3 multiple collapse....?
 
Old 05/11/2009, 16:42 Reply With Quote   #1
rookie_programmer
Senior Member
 
rookie_programmer's Avatar
 
Join Date: Jan 2007
Location: Palembang, Indonesia
Posts: 616
rookie_programmer is on a distinguished road
rookie_programmer is offline
Question [Tanya] - Match3 multiple collapse....?

Mohon maaf sebelumnya udah lama gak OL, sekalinya OL langsung nanya

bagi yg pernah bikin game match3 mohon bantuannya.....

gimana caranya utk bikin multiple collapse, sedangkan fungsi yg akan diakses sama... maksudnya gini.

Ini urutan proses normalnya:
1. marble/token kita swap.
2. jika match, marble hancur.
3. marble diatasnya turun.
4. jika semua sudah turun, utk yg kosong isi dgn marble baru.

nah, yg saya ingin tanyakan, gimana caranya kita bisa swap lagi marble lainnya, walaupun urutan proses di atas tadi blom selesai. tanpa saling ganggu?

gambaran code saya:
1. untuk posisi seluruh marble saya gunakan array multi yg global, misal arrMarble.

2. ada 4 fungsi utama cekMatch(), BuangMatch(), turunkanMarble(), buatMarbleBaru();

3. nah, ke 4 fungsi ini akan memeriksa dgn looping, dgn mengakses array arrMarble.

Yang terjadi, setelah saya mencoba membuatnya, susunan marble menjadi tidak menentu.

Mohon solusinya, gimana seharusnya membuat multiple collapse yg benar....

terima kasih sebelumnya...
__________________
Indonesian Games akan terus tumbuh
http://gamekokmacet.blogspot.com/
   
 
 
Old 05/11/2009, 17:02 Reply With Quote   #2
alijaya
GDI Power Users
 
alijaya's Avatar
 
Join Date: Dec 2007
Location: Pangkalpinang
Posts: 3,003
alijaya is on a distinguished road
Send a message via Yahoo to alijaya alijaya is online now
hmmm ini mungkin lho...
pas kita swap di cek apakah marblenya masih turun pas collapse atau dah sampe, kalo dah sampe baru ngeswap...
pas udah collapse... array na langsung di update... *gak usah nunggu marblena jatuh baru di update...

hmmm... membantu gak???
btw... aku masih lom ngerti dengan benar duduk permasalahan na
__________________
tobat ngejunk. tobat nyepam. tobat bikin yang gak bener. tobat kasih komen gak jelas. tobat buang-buang ikon. tobat jadi orang jelek. tobat maen komputer sambil belajar. tobat banget kalo ngomong gak bertanggung jawab. tobat banget untuk kesalahan laennya.
"siapa yang mau ikut2an tobat??"
blog : http://alijaya.wordpress.com/, http://bothaxe.wordpress.com/
   
 
 
Old 05/11/2009, 17:22 Reply With Quote   #3
L_O_J
Ulat tak berbulu
 
L_O_J's Avatar
 
Join Date: Dec 2003
Posts: 1,674
L_O_J is on a distinguished road
Send a message via Yahoo to L_O_J L_O_J is offline
Simple, jangan dibolehin .

Urutannya gini:
1. Swap marble
2. Disable input
3. Check collapse
4. Do collapse & generate new marble
5. Repeat (3.) sampe tidak ada collapse
6. Enable input
7. Go back to (1.)
__________________
"Experience is something that you got when you don't get something that you want" - Randy Pausch ( The Last Lecture )
"The brick wall is there for a reason, to separate those who really want it and the rest" - Randy Pausch ( The Last Lecture )
   
 
 
Old 05/11/2009, 17:27 Reply With Quote   #4
cruxblack
Kura2 Overquota
 
cruxblack's Avatar
 
Join Date: Oct 2007
Location: Cimahi, Bandung
Posts: 2,197
cruxblack is on a distinguished road
Send a message via Yahoo to cruxblack cruxblack is offline
Mm, aq kebeneran baru bikin sistem collapse yang rada mirip gitu juga, tapi kasusnya rada beda
Komentar pertamaku IMHO seh, bit tricky~

Kayanya mending diliatin pseudocode buat masing2 fungsinya, biar bisa lebih jelas lagi
Dari yang kebayang ama aq so far, yang om rookie bikin dah bener2 aja ko flownya,
Pastiin aja penggantian isi array pas marble masuk ama marble keluar dilakuin sereal time mungkin

Kalo marble belum jatuh, jangan diganti arraynya, kalo marble dah berenti,
selsein dulu semua proses selse jatuhnya, baru update arraynya
Kalo marble keluar, selesein dulu semua proses pengeluarannya, terus update arraynya
*kayanya seh yang aq bilangin di atas itu pasti dah om rookie lakuin dengan bener*

Untuk yang diswap, dikarantina aja, kasi flag aja di value arraynya,
*ini juga kayanya dah dilakuin kan ya?*

Kalo buat masalah, marble yang diswap saat masi ada marble jatuh ternyata ngasilin match,
marble2 yang lagi jatuh, lagi match, n sejenisnya, ditaro sementara di container kan om?
Harusnya seh kalo iya gakan terlalu banyak maslaah
Tambahin aja marble hasil match ke containernya,
kalibrasi marble2 laen yang lagi jatuh di atasnya

Itu dulu paling ya, err, moga2 ngbantu~

EDIT:
Jyah, dah dijawab ama om ulil dengan jelas
*sembah om ulil*

EDIT LAGI, baru baca:
Eh, om ulil, itu input ga dienable kalo belum selese collapse?
Ntu mah ga bisa ngswap sebelum selse collapse dunks~
__________________
| My Portfolio | ~Lose all doubts, everything is possible!~

Last edited by cruxblack : 05/11/2009 at 17:52.
   
 
 
Old 05/11/2009, 17:44 Reply With Quote   #5
Kiki
Kiki++
 
Kiki's Avatar
 
Join Date: Sep 2005
Posts: 801
Kiki is on a distinguished road
Kiki is offline
beberapa waktu yang lalu gw juga mau bikin sistem seperti ini (match 3 dimana multiple collapse tidak membatasi swap), dan saya berkesimpulan bahwa pendekatan dengan membuat 4 fungsi (anda menyebutnya cekMatch(), BuangMatch(), turunkanMarble(), buatMarbleBaru() ) dan keempat fungsi tersebut memeriksa isi array global, tidak akan berjalan.

Saya mencoba pendekatan "independent parallel object" dimana setiap marble dianggap sebagai objek independen yang seolah - olah memiliki "thread of execution" sendiri. Tiap marble akan mencoba mengirimkan message ke sekitarnya, mengajak marble lain untuk membuat sebuah "region". jika member sebuah region berjumlah 3 atau lebih, semua member di dalam region tersebut akan dihancurkan.

Masalah dengan pendekatan ini adalah mengimplementasi mekanisme parallel execution tanpa menggunakan mekanisme yang berat, seperti thread. juga bagaimana mengimplementasikan mekanisme message passing yang efisien.

Saya belum mengeksplore ide ini lebih lanjut, jadi saya belum bisa banyak bicara tentang hal ini. development stuck karena kesibukan saya dan ada ide game lain yang ingin saya buat. But I'll share it here just in case you are interested.
__________________
Wir haben die Kunst, damit wir nicht an der Wahrheit zugrunde gehen.
   
 
 
Old 05/11/2009, 18:00 Reply With Quote   #6
L_O_J
Ulat tak berbulu
 
L_O_J's Avatar
 
Join Date: Dec 2003
Posts: 1,674
L_O_J is on a distinguished road
Send a message via Yahoo to L_O_J L_O_J is offline
Hooo iya ya, ya gue khan ngasih cara mudahnya aja, tinggal di tweak di bagian speed collapsenya aja. Jangan pake animasi yang terlalu panjang. Gak terlalu berasa IMHO, tapi kalo mau di enable terus ya, gapapa, tapi musti ati-ati aja codingnya
__________________
"Experience is something that you got when you don't get something that you want" - Randy Pausch ( The Last Lecture )
"The brick wall is there for a reason, to separate those who really want it and the rest" - Randy Pausch ( The Last Lecture )
   
 
 
Old 05/11/2009, 18:10 Reply With Quote   #7
cruxblack
Kura2 Overquota
 
cruxblack's Avatar
 
Join Date: Oct 2007
Location: Cimahi, Bandung
Posts: 2,197
cruxblack is on a distinguished road
Send a message via Yahoo to cruxblack cruxblack is offline
@om ulil
Yah, kalo gitu mah ga multiple collapse atuh om ulil
Aq seh kebayangnya maksudnya kaya multiple dropnya pizza
Sambil jatuh tetep bisa nglakuin input, n tetep bisa terjadi match n jatuh gara2 match

Bener gitu bukan om rookie?
__________________
| My Portfolio | ~Lose all doubts, everything is possible!~
   
 
 
Old 05/11/2009, 18:33 Reply With Quote   #8
Ultraman_Bastard
Ultraman Bekas
 
Ultraman_Bastard's Avatar
 
Join Date: Jul 2006
Location: ndenpasar..
Posts: 2,860
Ultraman_Bastard is on a distinguished road
Send a message via ICQ to Ultraman_Bastard Send a message via AIM to Ultraman_Bastard Send a message via MSN to Ultraman_Bastard Send a message via Yahoo to Ultraman_Bastard Send a message via Skype™ to Ultraman_Bastard Ultraman_Bastard is offline
hm.. klo gini bisa gak :

- cekMatch() dilakukan setiap ada marbel yg berhenti turun (gak musti nunggu ampe semua berhenti). klo pas itu ada yg lom nyampe dasar, satu kelompok yg ngambang itu jangan ikut di cekMatch().

- klo pas lagi mau swap (biasanya posisi mouse onPress), semua marbel yg berkaitan gerakannya dengan marbel yg lagi diklik jangan ikut di cekMatch()

gimana kira2?
__________________
1 - 2 - 3 - 4 - 5 - 6
   
 
 
Old 06/11/2009, 10:29 Reply With Quote   #9
rookie_programmer
Senior Member
 
rookie_programmer's Avatar
 
Join Date: Jan 2007
Location: Palembang, Indonesia
Posts: 616
rookie_programmer is on a distinguished road
rookie_programmer is offline
wah... para petinggi forum semua yg turun tangan, jadi terharu
all.... terima kasih sebelumnya atas masukannya......

kalo pake cara yg matiin input, aq udah bisa dan sukses , nah pas aq coba enable input-nya ketika proses, muncul lah permasalah seperti aq bilang sebelumnya....

@Ali:
Quote:
Originally Posted by alijaya View Post
pas udah collapse... array na langsung di update... *gak usah nunggu marblena jatuh baru di update...
berarti aq harus bikin 2 array gitu, soalnya 4 fungsi tsb mengakses array yg sama utk prosesnya.

@Crux:
Quote:
Originally Posted by cruxblack View Post
Untuk yang diswap, dikarantina aja, kasi flag aja di value arraynya, ......
Tambahin aja marble hasil match ke containernya,
kalibrasi marble2 laen yang lagi jatuh di atasnya
om, maksudnya dikarantina, containter, kalibarasi itu gimana?

@Kiki: idenya menarik juga (apa jgn2x emang seharusnya gitu, aq aja yg salah pake tekniknya ). jadi setiap marble kek punya sifat sendiri gitu kan om? tapi gamenya bakalan jadi berat gak om?

@L_O_J: sudah coba utk tweak speednya, tapi sampe batas yg masih bisa diterima mata, probremnya tetap muncul.

@UB: berarti algo ini diterapkannya di tekniknya om Kiki tadikan?


thanks sekali lagi for you all, aq coba dulu.....
__________________
Indonesian Games akan terus tumbuh
http://gamekokmacet.blogspot.com/
   
 
 
Old 06/11/2009, 10:51 Reply With Quote   #10
Ultraman_Bastard
Ultraman Bekas
 
Ultraman_Bastard's Avatar
 
Join Date: Jul 2006
Location: ndenpasar..
Posts: 2,860
Ultraman_Bastard is on a distinguished road
Send a message via ICQ to Ultraman_Bastard Send a message via AIM to Ultraman_Bastard Send a message via MSN to Ultraman_Bastard Send a message via Yahoo to Ultraman_Bastard Send a message via Skype™ to Ultraman_Bastard Ultraman_Bastard is offline
Quote:
@UB: berarti algo ini diterapkannya di tekniknya om Kiki tadikan?
waduh gw gak mudeng postnya om kiki istilahnya ndakik-ndakik gak nyampe gw wkwkwkwk
__________________
1 - 2 - 3 - 4 - 5 - 6
   
   Reply « Previous Thread| Next Thread »     


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT +7. The time now is 18:19.


skin developed by: uray
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.