game.docx

17
1 Game Maker Tutorial Membuat Game Landasan Ditulis oleh Mark Overmars Copyright © 2007-2009 YoYo Game Ltd Terakhir diubah : 23 Desember 2009 Penggunaan : Game Maker 8.0 , Lite atau Pro Edition , Advanced Mode Level: Menengah Permainan platform yang sangat umum , terutama pada perangkat genggam . Dalam permainan platform Anda melihat adegan dari samping. Pemain biasanya mengontrol karakter yang berjalan di sekitar di dunia. Dunia ini terdiri dari platform . Pemain dapat berjalan pada platform ini , melompat atau jatuh dari satu platform ke yang lain , penggunaan tangga atau tali untuk sampai ke tempat yang berbeda , dll Di platform ada benda untuk mengumpulkan , musuh untuk menghindari atau membunuh ( sering baik dengan menembak mereka atau dengan melompat di atas mereka ) , switch yang dapat ditekan untuk membuka saluran , dll Juga pemain biasanya membutuhkan keterampilan untuk melompati daerah berbahaya . Dalam beberapa permainan platform yang Anda melihat seluruh tingkat sekaligus, tetapi dalam banyak anda hanya melihat bagian sekitar karakter . Dalam kasus seperti itu , menemukan jalan sekitar Anda menjadi tantangan tambahan . Menciptakan suatu permainan platform yang baik tidak sepele , juga tidak dengan Game Maker . Ada tiga aspek penting untuk memperhitungkan : Menciptakan gerakan alami untuk karakter . Membuat variasi yang cukup di monster , latar belakang, dll Hati-hati merancang tingkat sedemikian rupa sehingga mereka yang menyenangkan untuk bermain dan semakin sulit .

Upload: dedy-irawan

Post on 29-Nov-2015

25 views

Category:

Documents


0 download

DESCRIPTION

dede

TRANSCRIPT

Page 1: game.docx

1

Game Maker Tutorial

Membuat Game Landasan

Ditulis oleh Mark Overmars

Copyright © 2007-2009 YoYo Game Ltd

Terakhir diubah : 23 Desember 2009

Penggunaan : Game Maker 8.0 , Lite atau Pro Edition , Advanced Mode

Level: Menengah

Permainan platform yang sangat umum , terutama pada perangkat genggam . Dalam permainan platform Anda melihat adegan dari samping. Pemain biasanya mengontrol karakter yang berjalan di sekitar di dunia. Dunia ini terdiri dari platform . Pemain dapat berjalan pada platform ini , melompat atau jatuh dari satu platform ke yang lain , penggunaan tangga atau tali untuk sampai ke tempat yang berbeda , dll Di platform ada benda untuk mengumpulkan , musuh untuk menghindari atau membunuh ( sering baik dengan menembak mereka atau dengan melompat di atas mereka ) , switch yang dapat ditekan untuk membuka saluran , dll Juga pemain biasanya membutuhkan keterampilan untuk melompati daerah berbahaya . Dalam beberapa permainan platform yang Anda melihat seluruh tingkat sekaligus, tetapi dalam banyak anda hanya melihat bagian sekitar karakter . Dalam kasus seperti itu , menemukan jalan sekitar Anda menjadi tantangan tambahan .

Menciptakan suatu permainan platform yang baik tidak sepele , juga tidak dengan Game Maker . Ada tiga aspek penting untuk memperhitungkan :

Menciptakan gerakan alami untuk karakter .

Membuat variasi yang cukup di monster , latar belakang, dll

Hati-hati merancang tingkat sedemikian rupa sehingga mereka yang menyenangkan untuk bermain dan semakin sulit .

Dalam tutorial ini Anda akan belajar bagaimana untuk membuat permainan platform sederhana di Game Maker. Kami akan membangun permainan dalam sejumlah langkah . Berbagai langkah yang tersedia sebagai permainan diedit dalam folder Contoh . Mereka terdiri dari hanya satu tingkat untuk menunjukkan beberapa aspek tertentu . Anda dapat menggunakannya sebagai dasar untuk permainan platform Anda sendiri .

Dasar-dasar

Kita mulai dengan permainan platform yang paling sederhana. Anda dapat menemukannya dalam file platform_1.gm6 . Dalam setiap permainan platform ada dua objek dasar : karakter yang dikendalikan

Page 2: game.docx

oleh pemain , dan objek blok yang digunakan untuk lantai ( platform ) pemain bisa berjalan di . Blok yang sama sering digunakan untuk dinding bahwa pemain tidak bisa lewat . Kita perlu dua sprite : satu untuk karakter dan satu untuk blok . Untuk karakter kita menggunakan bola sederhana . Untuk blok kita menggunakan kotak hitam . Kami membuat dua benda . Obyek blok hanyalah sebuah benda padat yang tidak memiliki kegiatan atau tindakan . Ini hanya duduk di sana . Obyek karakter jauh lebih rumit .

2

gerakan

Aspek penting kita memperlakukan dalam bagian pertama ini adalah bagaimana untuk menentukan gerakan karakter . masalahnya

adalah bahwa karakter harus berjalan di atas lantai . Tidak harus berpotongan lantai . Jika karakter

melompat atau jatuh dari sebuah platform harus mendarat dengan benar pada platform berikutnya . Ada beberapa yang berbeda

cara di mana karakter dapat berjalan, melompat , dan jatuh. Permainan platform yang berbeda menggunakan modus yang berbeda .

Biasanya kita hanya menggunakan tiga tombol untuk mengontrol gerakan . Tombol panah kiri harus memindahkan karakter ke

kiri , tombol panah kanan harus bergerak ke kanan , dan tombol atas atau tombol spasi membuatnya melompat .

Mari kita mempertimbangkan gerakan kiri dan kanan . Pilihan pertama untuk membuatnya apakah pemain hanya dapat

mengubah arah gerak sementara pada platform atau juga di udara sambil melompat atau jatuh . meskipun

pilihan kedua adalah tidak wajar ( agak sulit untuk mulai bergerak ke kiri saat Anda jatuh ke bawah ) kita

memutuskan untuk pergi untuk opsi pertama, yaitu , kita membiarkan gerakan horizontal dimanapun karakter tersebut. ini

cenderung menyebabkan bermain game lebih baik dan sebenarnya juga lebih mudah untuk menerapkan .

Pilihan kedua adalah apakah gerak memiliki kecepatan konstan atau apakah itu mempercepat bila Anda tetap

tombol ditekan . Untuk alasan kesederhanaan kita memilih pilihan pertama . Memungkinkan untuk percepatan meskipun

Page 3: game.docx

biasanya memberikan bermain game lebih baik : pemain harus misalnya mulai menjalankan di kejauhan untuk melompati sebuah

lubang lebar.

Seperti yang Anda harus tahu ada berbagai cara untuk membiarkan langkah karakter. Kita dapat mengatur kecepatan gerak atau

kita hanya bisa menggerakan karakter secara langsung . Dalam permainan platform itu biasanya yang paling mudah untuk membiarkan vertikal

gerak dilakukan secara otomatis ( seperti yang akan kita lihat di bawah ) tetapi untuk melakukan gerakan horisontal diri kita sendiri . ini

agak mudah . Dalam acara keyboard tombol panah kiri kita cek apakah posisi pada relatif

Posisi ( -4,0 ) gratis . Jika demikian kita membiarkan melompat karakter ke posisi tersebut . Kami memperlakukan tombol panah kanan dalam

cara yang sama . Lihat contoh permainan tertutup .

Jumping

Selanjutnya kita perlu gerak vertikal . Ini lebih sulit . Untuk membiarkan jatuhnya karakter turun kita bisa menggunakan gravitasi .

Tapi harus berhenti bergerak ketika kita jatuh ke lantai . Juga , Anda biasanya ingin kecepatan jatuh maksimal ,

jika karakter akan bergerak terlalu cepat . ( Ini sekaligus tidak sangat menyenangkan tetapi juga dapat menyebabkan masalah

dalam pelaksanaannya . Misalnya karakter mungkin jatuh melalui lantai jika bergerak terlalu cepat . ) Untuk mengatasi ini

Masalahnya , dalam hal langkah karakter kita cek apakah posisi tepat di bawah karakter adalah

tabrakan gratis. Jika demikian , karakter adalah di udara dan kami mengatur gravitasi untuk nilai positif . Jika kita mengatur

untuk 0 . Kami juga memeriksa vspeed variabel yang menunjukkan kecepatan vertikal . Jika lebih besar sampai 12 kita tentukan

itu kembali ke 12 . Dengan cara ini kita membatasi kecepatan vertikal 12 . Jadi acara terlihat seperti ini :

3

Page 4: game.docx

Selanjutnya kita harus mendarat dengan benar di lantai . Ini lebih sulit daripada mungkin tampak . Ini akan terjadi ketika karakter bertabrakan dengan objek blok . Dalam acara tabrakan kita harus mengatur gerak vertikal ke 0. Tapi ini mungkin meninggalkan karakter menggantung sedikit di udara di atas tanah . ( Alasannya adalah bahwa karakter ditempatkan kembali ke posisi semula sebelum tabrakan . ) Untuk tujuan ini kami ingin memindahkan karakter ke titik tepat di mana tabrakan terjadi . Untungnya ada tindakan untuk ini di Game Maker: Pindah ke Kontak . Dengan tindakan ini Anda dapat memindahkan contoh dalam arah tertentu sampai posisi kontak dengan obyek tercapai . Jika sudah terdapat tabrakan pada posisi saat ini misalnya tidak dipindahkan . Jika tidak , misalnya ditempatkan sebelum tabrakan terjadi . Anda dapat menentukan arah tetapi juga jarak maksimal untuk bergerak . Anda juga dapat menunjukkan apakah untuk mempertimbangkan benda padat saja atau semua benda .

Kami menggunakan tindakan ini . Sebagai arah kita menunjukkan arah variabel yang merupakan arah arus gerak instance. Sebagai jarak maksimal kita tentukan 12 ( meskipun hal ini tidak benar-benar diperlukan di sini) :

4

Jadi acara Total tabrakan dengan blok terlihat sebagai berikut :

Anda bisa berpendapat bahwa kita hanya harus melakukan ini ketika kita memukul lantai di bawah kami . Tapi sebenarnya kami juga ingin pindah ke posisi kontak jika kita memukul lantai dari bawah atau jika kita memukul dinding dari samping . Ada satu hal penting di sini yang sering menjadi penyebab masalah : Kami berasumsi bahwa karakter pada posisi sebelumnya memang tabrakan gratis. Anda akan mengharapkan ini tapi ini tidak selalu terjadi . Sebuah kesalahan yang sering dibuat adalah bahwa ketika karakter memiliki gambar animasi , juga perubahan topeng tabrakan dalam setiap langkah . Ini bisa berarti bahwa gambar baru di lokasi sebelumnya masih menyebabkan tabrakan . Jadi Anda lebih baik memastikan bahwa karakter memiliki satu tabrakan topeng . Untungnya , dari versi 8.0 pada , Game Maker standar memberikan semua gambar dalam sebuah sprite animasi tabrakan mask yang sama . Namun, ketika berpindah gambar , masalah masih bisa terjadi , lihat juga bagian berikutnya .

5

Akhirnya kami harus membiarkan karakter melompat ketika tombol panah atas ditekan . Tapi ini hanya harus terjadi ketika karakter saat ini di lantai . Jadi kita tes pertama apakah posisi bawah karakter menciptakan tabrakan dan , jika demikian , mengatur kecepatan misalnya vertikal ke -10 . Anda mungkin harus bermain sedikit dengan nilai 10 untuk kecepatan vertikal dan nilai 0,5 untuk gravitasi untuk mendapatkan gerakan yang Anda inginkan .

Sekarang dasar untuk platform game siap . Desain tingkat dengan beberapa lantai dan dinding , dibangun dari contoh dari objek blok . Tempatkan sebuah instance dari karakter di dalam ruangan dan Anda selesai .

Grafis yang lebih baik

Page 5: game.docx

Dasar permainan platform kita buat dalam karya-karya bagian sebelumnya tapi kelihatannya agak buruk . Ada dua aspek yang ingin kita ubah : cara pemain terlihat , dan cara latar belakang terlihat . Permainan diadaptasi dapat ditemukan di platform_2.gmk berkas .

Gambar karakter

Mari kita mulai dengan grafis karakter. Kami akan menggunakan dua yang berbeda ( non - animasi ) sprite : satu untuk karakter menghadap ke kiri dan satu untuk karakter menghadap ke kanan . Yang paling mudah sekarang adalah untuk menempatkan di acara untuk tombol panah kiri tindakan untuk mengubah sprite ke satu menghadap kiri . Serupa, di tombol panah kanan Anda beralih ke satu dengan karakter menghadap ke kanan . Hal ini sangat penting bahwa Anda mematikan tabrakan tepat memeriksa dua sprite . Ada sejumlah alasan untuk ini . Pertama -tama, menghindari bahwa sprite terjebak setengah jalan di ujung peron . Kedua, ketika sprite berubah dari kiri menghadap ke kanan menghadap mereka harus menggunakan masker tabrakan sama jika karakter mungkin terjebak . Hal yang sama bahkan lebih penting ketika menggunakan animasi sprite . Untuk alasan yang sama Anda lebih baik memastikan bahwa kotak melompat-lompat dari sprite yang sama . Untuk tujuan ini, memodifikasi topeng dari sprite dan menggunakan kotak pembatas manual ini . Jadi saat menambahkan sprite sifat masker harus sesuatu seperti ini :

6

Dalam permainan lebih maju Anda mungkin akan ingin menggunakan animasi sprite . Dalam hal ini Anda juga perlu sprite untuk karakter jika tidak bergerak . Anda juga mungkin ingin menambahkan sprite untuk melompat karakter, jatuh , menembak , dll Dalam hal ini Anda harus mengubah sprite di berbagai tempat dalam peristiwa . Secara khusus , dalam hal tidak Keyboard kunci Anda mungkin ingin mengatur sprite dengan yang tidak bergerak . Atau , Anda dapat menggambar sprite yang benar dalam acara undian berdasarkan situasi . Misalnya, Anda dapat memeriksa apakah xprevious < x untuk mengetahui apakah karakter telah pindah ke kanan . Sebagaimana ditunjukkan sebelumnya, lebih baik memastikan bahwa semua sprite memiliki kotak loncat yang sama dan tidak ada pengecekan tabrakan tepat.

Platform dan dinding

Kedua kita ingin meningkatkan latar belakang dan platform . Di sini kita menggunakan teknik standar. Alih-alih menggunakan benda-benda untuk semua dinding yang berbeda dan elemen lantai , kami menggunakan disebut ubin . Ubin adalah potongan-potongan gambar latar belakang yang diambil di tempat-tempat tertentu di dalam ruangan . Mereka tidak memiliki acara terkait juga tidak menciptakan tabrakan . Bagian yang baik adalah bahwa mereka cepat dan menggunakan sedikit memori . Sehingga Anda dapat membuat kamar besar tanpa perlu untuk gambar besar .

Untuk menambahkan ubin untuk kamar Anda, Anda harus terlebih dahulu gambar latar belakang yang berisi ubin . Ubin di gambar latar belakang sebaiknya memiliki ukuran tetap dan memiliki sedikit ( 1 - pixel ) perbatasan antara mereka sehingga mereka dengan mudah dapat dipisahkan . Satu set ubin kecil disediakan dalam folder Resources . Kami menambahkannya sebagai sumber daya latar belakang transparan bernama back_tiles . Ketika menambahkannya ke permainan , pada properti background

Page 6: game.docx

menunjukkan bahwa itu harus digunakan sebagai satu set ubin dan mengisi ukuran genteng yang benar dan pemisahan , sebagai berikut :

Sekarang , saat membuat sebuah ruangan , Anda bisa klik pada halaman tab ubin . Anda dapat memilih set ubin ( yaitu, sumber daya latar belakang yang sesuai ) . Sekarang Anda dapat menarik ubin dengan mengklik pada ubin yang tepat dan selanjutnya menempatkan mereka di dalam ruangan, seperti yang akan Anda lakukan untuk objek . Tombol kanan mouse menghapus ubin . Gunakan imajinasi Anda untuk membuat kamar menantang . ( Perhatikan bahwa Anda dapat menempatkan ubin pada lapisan kedalaman yang berbeda dengan menambahkan lapisan . Sebagai contoh, Anda dapat membuat lapisan ubin yang terletak di depan karakter bergerak . Kami tidak akan menggunakan mereka di sini tapi mereka yang besar untuk memberikan efek 3D yang lebih baik . )

7

Ada masalah kiri sekalipun. Sebagaimana ditunjukkan di atas , ubin hanya grafis bagus . Mereka tidak menghasilkan peristiwa atau tabrakan . Jadi karakter akan jatuh langsung melalui mereka . Untuk menghindari hal ini kita masih memerlukan benda blok kita miliki sebelumnya . Kami menempatkan obyek blok di tempat yang tepat di atas dinding dan platform Anda lakukan buat dengan ubin di latar belakang . Sekarang dengan membuat objek terlihat blok Anda tidak akan melihat blok hitam tapi ubin indah. Tapi benda blok benar-benar ada , sehingga karakter tidak dapat melewati dinding dan akan mendarat di platform .

8

Mungkin ada satu masalah di sini . Obyek blok 16x16 akan terlalu besar untuk menutupi latar belakang baik . Jadi kami ingin membuat beberapa benda blok lain 16x8 ukuran dan 8x16 . Sekali lagi kami membuat mereka solid. Untuk menghindari harus menentukan peristiwa tabrakan dengan ini juga , kita menggunakan mekanisme induk. Ini adalah mekanisme yang sangat kuat bahwa Anda harus belajar untuk menggunakan . Jika sebuah benda A adalah induk dari objek B , B berperilaku sebagai kasus khusus dari A. mewarisi semua perilaku A ( kecuali jika Anda menimpa ini dengan perilaku lainnya ) . Juga , tabrakan dengan B diperlakukan sama seperti tabrakan dengan A. Jadi untuk blok yang lebih kecil kita mengatur orangtua ke blok yang lebih besar . Dengan cara ini mereka akan diperlakukan sama dengan blok besar .

Ancaman dan Treats

Hanya melompat-lompat dari platform ke platform agak membosankan . Anda pasti perlu tantangan lagi dan gol. Pada bagian ini kita mengobati sejumlah tersebut . Check out platform_3.gmk game untuk hasilnya .

monster

Mari kita tambahkan beberapa monster . Kami akan membuat dua monster , yang bergerak kiri dan kanan pada platform dan yang lain yang memiliki kiri dan kanan di langit . Melompat di atasnya bisa labu yang pertama , yang kedua harus dihindari setiap saat .

Page 7: game.docx

Mari kita mulai dengan rakasa yang bergerak pada platform . Kita perlu dua sprite untuk itu , salah satu dengan rakasa menghadap kiri dan yang lainnya dengan rakasa menghadap ke kanan . Sekali lagi , lebih baik tidak menggunakan tabrakan tepat memeriksa untuk alasan yang sama seperti yang ditunjukkan di atas dan memilih beberapa kotak berlari relevan. Sekarang kita buat

9

obyek rakasa . Dalam hal penciptaan kami biarkan bergerak ke kanan dengan kecepatan tertentu. Setiap kali hits dinding membalikkan kecepatan horisontal . Untuk mengatur sprite benar untuk rakasa kita menggunakan Langkah acara End. Peristiwa ini terjadi tepat sebelum kasus diambil . Di dalamnya kita mengatur sprite yang benar berdasarkan nilai hspeed variabel yang menunjukkan kecepatan horisontal . Jika lebih kecil dari 0 kita membiarkan wajah rakasa kiri dan sebaliknya kita biarkan hadapi benar. ( Jika Anda memiliki Pro Edition Game Maker Anda juga dapat menggunakan tindakan untuk cermin gambar . Dalam hal ini Anda hanya perlu satu sprite . )

Untuk menghindari monster jatuh dari platform , kami memperkenalkan objek lain , yang kita sebut spidol . Penanda ini akan menjadi blok biru terlihat . Setiap kali sebuah rakasa menyentuhnya , ia berbalik arah gerak . Memiliki penanda terlihat adalah trik umum yang baik untuk membiarkan kasus melakukan tindakan tertentu di tempat-tempat tertentu di kamar Anda . Selain mengubah arah Anda bisa menggunakan spidol untuk menembak , untuk meletakkan bom , dll

Ketika karakter hits rakasa, karakter harus mati . Tapi sebenarnya , seperti dalam kebanyakan permainan platform yang kami ingin memungkinkan karakter untuk melompat di atas rakasa dan labu itu . Jadi dalam hal benturan antara karakter dengan rakasa kita harus memeriksa apakah kita memukul rakasa dari atas untuk memukul balik mereka . Untuk mengetahui kita melakukan pengujian berikut :

vspeed > 0 && y < other.y +8

Memang benar jika vspeed lebih besar dari 0 , sehingga karakter bergerak ke bawah , dan karakter yang dekat dengan puncak rakasa sehingga memang memukul dari atas Dalam hal ini rakasa tersebut harus dihancurkan . ( Dalam contoh kita beralih rakasa tersebut menjadi mati rakasa datar, yang menghancurkan dirinya sendiri setelah beberapa saat . Ini memberikan efek grafis lebih baik . ) Dalam permainan platform sederhana, sekarat untuk karakter sesuai dengan restart tingkat , yang dapat dicapai dengan beberapa tindakan sederhana .

10

The rakasa terbang bahkan lebih mudah . Kita lanjutkan dengan cara yang persis sama. Hanya , dalam hal tabrakan karakter dengan rakasa terbang, ada tes perlu dilakukan karena Anda tidak bisa squash benda terbang .

Anda mungkin ingin menambahkan beberapa monster , misalnya dengan kecepatan yang berbeda , untuk membuat hal-hal sulit . Anda juga dapat membuat rakasa atau batu yang jatuh atau bergerak naik dan turun . Cukup gunakan imajinasi Anda sendiri .

Page 8: game.docx

Pits

Kebanyakan permainan platform membutuhkan waktu cermat melompat untuk menghindari jatuh ke lubang . Jatuh ke dalam lubang biasanya membunuh karakter . Untuk tujuan ini , kami menambahkan objek baru, yang disebut kematian. Objek ini adalah blok merah itu lagi tidak terlihat . Anda dapat menempatkannya di bawah lubang . ( Di ruang ubin Anda dapat menaruh beberapa paku di sana. ) Dalam hal tabrakan karakter dengan objek kematian itu harus memutar suara , tunggu beberapa saat , dan restart ruangan . Anda juga dapat membuat lubang yang turun jauh . Dalam hal ini Anda ingin menambahkan tindakan serupa dalam acara Room Outside ( di acara lainnya ) karakter , mungkin termasuk menguji apakah y > room_height untuk memastikan karakter jatuh , daripada melompat di luar lapangan .

mengumpulkan poin

Kebanyakan permainan platform memiliki beberapa mekanisme di mana pemain dapat mengumpulkan poin . Biasanya Anda harus mengambil benda-benda tertentu atau menangkap hal-hal tertentu . Dalam contoh kita pemain bisa mengumpulkan jamur . Jadi kita membuat objek jamur . Untuk memberikan sedikit variasi , sprite jamur mengandung 10 jamur yang berbeda sub - gambar . Obyek jamur mengambil satu secara acak saat pembuatan menggunakan tindakan Sprite Perubahan :

Kami mengatur sub - gambar untuk random ( 10 ) . random ( 10 ) adalah panggilan fungsi . Ini akan mengembalikan nomor acak bawah argumen yang diberikan ( jadi di bawah 10 dalam kasus kami ) . Kami mengatur kecepatan untuk 0 untuk berhenti bersepeda melalui subimage . Dalam hal benturan antara karakter dengan objek jamur kami memutar suara , menghancurkan benda lain ( yaitu, jamur ) dan tambahkan 10 sampai skor.

11

Dalam beberapa permainan platform yang , mengumpulkan barang-barang memiliki fungsi yang lebih penting dari sekedar meningkatkan skor Anda . Sebagai contoh, Anda mungkin mendapatkan kehidupan ekstra ketika Anda mengumpulkan benda-benda cukup. Juga mungkin ada benda yang memulihkan kesehatan Anda ( dengan asumsi monster tidak membunuh Anda, tetapi hanya melemahkan Anda ) , membuat Anda bergerak lebih cepat , melompat lebih tinggi , dan lain-lain dapat dengan mudah ditambahkan .

tingkat berikutnya

Tentu saja harus ada cara untuk menyelesaikan tingkat , sehingga pemain bisa melanjutkan ke tingkat berikutnya . Untuk tujuan ini , kita membuat sebuah object obj_levelexit . Ketika karakter sampai di sana Anda pindah ke tingkat berikutnya . Dalam contoh ini dilakukan agak sederhana . Kami menambahkan tindakan tes untuk melihat apakah kamar sebelah ada. Jika tes ini benar kita pindah ke kamar sebelah . Jika daftar highscore ditampilkan dan permainan di-restart .

Anda dapat memilih untuk membuat keluar tingkat hanya muncul ketika misalnya semua jamur telah dikumpulkan . Untuk tujuan ini, dalam hal penciptaan obyek obj_levelexit , pindahkan ke posisi -100 , -

Page 9: game.docx

100 (jadi dari layar ) . Sekarang dalam hal langkah dari objek kita cek apakah jumlah objek jamur sama dengan 0 (ada tindakan untuk ini ) dan , jika demikian , memindahkan objek kembali ke posisi awal ( lagi ada tindakan untuk ini ) . Semua sangat sederhana.

Gerakan Lainnya

Permainan platform kami saat ini hanya memiliki beberapa kemungkinan keterbatasan gerak . Karakter dapat bergerak ke kiri dan kanan , dan bisa melompat . Untuk membuat hal-hal lebih menarik , mari kita menambahkan beberapa kemungkinan . Hasilnya dapat ditemukan di platform_4.gmk permainan .

landai

Hal ini bagus jika pemain bisa berjalan landai miring (turun berjalan secara otomatis karena jatuh ) . Untuk tujuan ini , kita harus mengganti kode dalam acara panah tombol kiri . Kami menempatkan ada sebagai berikut :

Daripada hanya menguji apakah posisi ke kiri adalah tabrakan gratis kami juga menguji apakah posisi 8 piksel yang lebih tinggi adalah tabrakan gratis. Jika demikian kita memindahkan karakter sana dan menggunakan tindakan arahan untuk memindahkannya ke posisi kontak . Jadi acara ini akan terlihat sebagai berikut :

12

Tombol panah kanan ditangani dengan cara yang sama .

tangga

Orang-orang selalu ingin tangga di permainan platform sepanjang yang karakter dapat berpindah dari satu platform ke yang lain . Hal ini memerlukan sedikit kerja . Sebuah tangga akan diwakili oleh blok vertikal tipis yang tidak terlihat ( tangga nyata atau anggur atau apa pun yang digunakan untuk memanjat ditarik lagi menggunakan genteng ) dan tidak solid . Bila karakter tidak bersentuhan dengan tangga , gerak harus seperti sebelumnya . Tapi ketika berada dalam kontak dengan tangga -hal harus pergi berbeda. Pertama-tama , karakter ini tidak boleh jatuh. Jadi dalam hal langkah kita harus membuat perubahan untuk efek ini menambahkan beberapa tindakan yang mengatur kecepatan vertikal dan gravitasi 0 ketika kontak dengan tangga . Juga kita mengatur sprite ke sprite memanjat dalam kasus itu .

Hal kedua yang perlu perubahan adalah acara untuk tombol up . Ketika karakter ini di tangga , tombol panah atas harus bergerak ke atas , daripada melompat. Sekali lagi kita perlu tindakan beberapa tambahan untuk ini . Kami menguji apakah karakter dalam kontak dengan tangga dan , jika demikian , bergerak ke atas sedikit . Kami menggunakan tindakan yang sama untuk tombol bawah .

Menggunakan pandangan

Sampai sekarang kami selalu menunjukkan seluruh ruangan . Bagi banyak permainan platform ini bukan apa yang Anda inginkan . Sebaliknya Anda ingin melihat hanya bagian dari ruangan , sekitar karakter Anda mengendalikan . Hal ini membuat permainan lebih menantang karena pemain harus mencoba

Page 10: game.docx

untuk mendeteksi jalan melalui platform . Anda juga dapat menyembunyikan hadiah di sulit untuk mencapai tempat-tempat di dalam ruangan .

Untungnya ini sangat sederhana untuk mencapai di Game Maker. Ketika merancang ruangan , klik pada tab pandangan . Klik pada kotak centang Aktifkan penggunaan Views untuk mulai menggunakan pandangan . Pilih pandangan pertama dan centang kotak Terlihat ketika ruang mulai memastikan pandangan ini dapat dilihat . Berikan lebar 300 dan tinggi 200 ( atau sesuatu yang lain yang Anda suka) . ( Seperti kita akan membiarkan pandangan mengikuti karakter tidak perlu untuk menentukan posisi kiri dan atas pandangan di dalam ruangan . Juga , karena kita hanya menggunakan

13

satu tampilan , kita tidak harus menentukan posisi x dan y dari pelabuhan di layar . ) Di bagian bawah kita dapat menunjukkan mana objek untuk mengikuti . Di sini kita memilih karakter . Pandangan sekarang akan secara otomatis berpindah untuk menjaga karakter dalam fokus . Kami tidak ingin karakter untuk terlalu dekat dengan perbatasan . Untuk tujuan ini kita menetapkan nilai Hbor dan Vbor sampai 64 . Ada sekarang akan selalu menjadi wilayah pixel 64 terlihat di sekeliling karakter . Akhirnya , untuk mendapatkan tampilan gerakan halus kita mengatur kecepatan tampilan maksimal untuk 4 . ( Ini juga memberikan efek yang sangat bagus di awal pertandingan karena karakter datang perlahan ke tampilan. ) Jadi pengaturan akan terlihat sebagai berikut :

Memiliki tampilan bagus tapi itu membuat jendela di mana terjadi hal-hal agak kecil . Untuk menghindari hal ini , di Game Pengaturan global kami menunjukkan skala tetap 200 persen . Jelas Anda dapat bermain dengan nilai-nilai untuk mendapatkan efek yang Anda inginkan .

Beberapa Sentuhan Selanjutnya

monster menembak

Langkah berikutnya adalah untuk memungkinkan pemain untuk menembak monster . Untuk membuat hal-hal sedikit lebih menarik , pemain yang pertama perlu menemukan beberapa amunisi untuk bisa menembak . Untuk tujuan ini kami memperkenalkan sebuah variabel kita sebut amunisi yang menunjukkan berapa banyak amunisi pemain memiliki . Dalam hal Buat karakter kita set ini untuk 0 menggunakan tindakan untuk mengatur variabel . Obyek amunisi memiliki sprite sederhana dan tidak apa-apa . Itu hanya menunggu untuk dijemput oleh pemain . Ketika bertabrakan karakter dengan objek amunisi kita menambahkan 10 ke variabel amunisi ( set relatif terhadap 10 ) dan menghancurkan contoh amunisi .

14

Selanjutnya kita perlu objek peluru . Ketika pemain menekan tombol <spasi> sebuah instance dari objek ini harus dibuat , dengan asumsi ada amunisi , dan nilai amunisi variabel mengalami penurunan sebesar 1 . Tapi ada satu masalah penting . Kami ingin peluru untuk menembak ke arah karakter yang dihadapi. Untuk itulah kami memeriksa nilai variabel sprite_index . Variabel ini berisi indeks dari sprite untuk objek karakter. Berdasarkan itu kita membuat peluru dengan arah yang benar gerak . Ketika kita

Page 11: game.docx

mendaki ada peluru dibuat . ( . Shooting sementara pendakian tidak mungkin) Jadi ruang acara terlihat sebagai berikut :

Masih untuk menghancurkan peluru ketika hits dinding atau ketika pergi di luar ruangan dan membunuh rakasa ketika peluru hits itu . Ini semua mudah. Lihat platform_5.gmk file untuk rincian .

Sebuah panel skor

Seorang pemain sekarang memiliki skor dan amunisi . Kami juga akan memberikan beberapa nyawa . Menekan rakasa atau terperosok ke dalam lubang akan biaya hidup . Ada mekanisme yang mudah bagi kehidupan di Game Maker. Kita akan membuat objek obj_controller khusus. Ini tidak perlu sprite . Dalam acara itu Buat menetapkan jumlah nyawa sampai 3 . Setiap kali pemain mati kita mengurangi jumlah nyawa . Dalam No More Lives event untuk controller kita menunjukkan tabel highscore dan restart permainan.

Tapi juga akan lebih baik jika kita bisa melihat jumlah nyawa , skor, amunisi , dll Untuk tujuan ini kita akan membuat panel kecil dengan informasi ini . Kita akan menggambar ini dalam acara undian dari obyek controller . Ada meskipun masalah di sini . Dimana kita harus menggambar itu? Kita tidak bisa menggambar di tempat yang tetap di ruang karena perubahan pandangan dan kami ingin panel selalu pandangan . Untungnya kita dapat meminta posisi pandangan . Hal ini ditunjukkan dengan dua variabel view_xview dan view_yview yang menunjukkan posisi kiri dan posisi teratas dari pandangan masing-masing. Jadi kita bisa menarik panel dengan informasi yang berhubungan dengan posisi ini . Berikut adalah apa acara menarik dari objek controller terlihat seperti :

15

Perhatikan bahwa kita juga menggambar gambar ketika pemain bisa menembak . Dalam permainan , yang dapat ditemukan dalam file platform_5.gmk , hasil ini pada gambar berikut :

Apa selanjutnya?

Bagian di atas telah menjelaskan beberapa dasar-dasar membuat permainan platform . Sekarang giliran Anda . Anda akan harus menggunakan teknik-teknik dan ide-ide lebih banyak dari diri Anda untuk membuat platform game real nice . Ingat bahwa bagian yang paling penting dari permainan platform dibentuk oleh tingkat . Mulai membuat

16

tingkat satu per satu . Bermain mereka sampai Anda puas dengan mereka . Setiap begitu sering , memperkenalkan beberapa aspek bermain game baru. Berikut adalah beberapa ide tambahan yang dapat Anda gunakan :

monster yang berbeda , misalnya memantul bola dan monster yang menembak

kunci yang Anda butuhkan untuk menemukan dalam rangka untuk membuka pintu

Page 12: game.docx

tambang yang Anda dapat menempatkan di suatu tempat dan pergi ketika sebuah rakasa ( atau diri Anda sendiri ) langkah-langkah pada mereka

air untuk berenang di ( ini benar-benar akan mengubah gerakan , tidak ada gravitasi lagi , atau ke atas gravitasi ringan sampai Anda mencapai permukaan , waktu yang terbatas sebelum Anda kehabisan udara , gelembung udara untuk mengambil , dll )

dinding dan lantai Anda dapat menghancurkan , misalnya dengan menembak mereka atau melompat pada mereka dengan kekuatan

trampolin yang membuat Anda melompat lebih tinggi

platform yang muncul dan menghilang

jalan satu arah

platform bergerak ( ini tidak mudah ! )

...

Nikmati .

Bacaan lebih lanjut

Untuk membaca lebih lanjut tentang cara membuat game menggunakan Game Maker Anda dianjurkan untuk membeli buku kami :

Jacob Habgood dan Mark Overmars , The Game Maker Apprentice : Game Development untuk Pemula , Apress , 2006 , ISBN 1-59059-615-3 .

Buku ini memberikan langkah - demi-langkah pengenalan ke banyak aspek Game Maker dan dalam proses Anda membuat sembilan pertandingan yang indah yang juga menyenangkan untuk bermain .