Jumat, 25 Agustus 2017

So, you've "released" your indie game and have made a whopping total of $10 on Steam, GameJolt, or Itch.io.

So, you've "released" your indie game and have made a whopping total of $10 on Steam, GameJolt, or Itch.io.
You're probably not sure whether to be encouraged that you've actually made money off of game development, or...
Discouraged, because you've only barely made enough to buy a couple of lattes at Starbucks.
What's should you do next?
I can't tell you what you should do, but I can tell you what I did, and how it shaped the trajectory of my career.
Let's backtrack.
So, I was a college kid working on an small ASCII game called SanctuaryRPG, and I launched it on Reddit.
It started getting a bit of positive attention. So, I kept the course. I continued on posting about the game on various subreddits, all directing it to the subreddit that I made, /r/SanctuaryRPG.
When the community hit 400 subscribers on Reddit, I launched the game as "pay-what-you-want" on Itch.io.
Within the span of a week, I had gotten my first few donations. Two people had given me $5 each.
It was then that I had a realization... this could be more than just a hobby. I could actually turn this into a career.
I was almost sure of it.
How could I be so sure? Five reasons:
1. I had a lot of free time, and I knew it. I had a part time IT job with a lot of idle hours at my university working the night shift. If something broke, I'd have to go out and handle it. But, for the most part there was just a lot of waiting around. While my colleagues watched Netflix or played video games during their down time, I coded. When a lot of my peers went to frat parties, I worked on my game.
2. I've always dreamed about making games. But here's what set me apart from a lot of other people: In addition to just dreaming, I dabbled a lot in the modding and mapmaking communities of games such as Age of Empires and Starcraft. This wasn't going to be my first rodeo game-design wise. However, it was the first time that I had to work on a game from a ground up in C++. I had a lot of game design experience, and I was confident that I could make engaging and compelling core game loops. I was building on top of pre-existing skills, and I was passionate as hell about it.
3. I had a small following who genuinely enjoyed what I had already put out, and were willing to go out of their way to pay me for my work. The game was 100% free at the time, yet two people actually cared enough to donate. Dozens more interacted with me on the Reddit forums, telling me that I should keep going. I was motivated as hell, and I had proof that I was headed in the right direction.
4. I had friends, family, and peers who were willing to help me on my path. From my friend Charles who helped me with optimizing the very first few lines of code, to Irving who helped me realize how both simultaneously fun and boring the early builds were, to Trent who helped me with the early ASCII art, to my cousin Jimmy who spent an entire afternoon testing the game in my bedroom, to... you get the picture. And this is just me listing people who helped in the first few months of initial development--I could go on for a long time listing the names of people who made this all possible over the past few years. A small handful at first, then a dozen, then several dozens. A lot people made SanctuaryRPG alongside me, and for them I am eternally grateful.
5. I was not willing to give up. Many times during development I thought about throwing in the towel... but I didn't. I stayed the course. I'd disappoint too many people if I did. Including Markus "Notch" Persson who had donated $100 to help me out (super generous guy). Including my colleagues who worked hard alongside me on art, on writing, on music, on marketing. Including myself. I wasn't willing to just walk away from something that I worked so hard on. A lot of people have said that if the game was terrible, this tenacity might have been a bad thing. It's far too easy to become delusional about something that you created. But, I had one trick: continual feedback from others. From fans, from colleagues, and from peers.
So, there's my recipe: A healthy amount of time. A childhood dream. A lot of practice and unintentional preparation. A small but loyal following. A lot of help and support from my colleagues. And a ton of grit and player feedback.
What's your recipe?

Kamis, 24 Agustus 2017

Here’s how to get YouTubers and streamers to actually play your indie game...

Here’s how to get YouTubers and streamers to actually play your indie game...
0. Do some research on your competition, and grab email addresses of YouTubers who have covered games of a similar scope and in a similar genre. Aim for 10 emails so that you can get a good sample size. Bonus points if you're able to track open rates via a tool such as Sidekick or Yesware.
1. Craft a compelling, emotional, and engaging subject line that highlights your game's unique angle. This is easier said than done, and you MUST draft at least 10 potential headlines and choose the best one. If you really want to get in-depth with this, google "headline analyzer" and use CoSchedule's free tool.
2. Grab them with a hook in the first sentence. Think of something out of the box, emotional, personal, and compelling.
3. Next, don't bore them with explanations about your background or motivations... tell them what's in it for them. I've had a lot of luck with telling them about my modest social media network and stating that I'll help promote their video once it goes live.
4. After this, throw in in one or two sentences that tell them why they should cover your game. They have a lot of other games that they could be covering, and a lot of other emails that they could be reading. Why should they play yours specifically?
5. Toss in a few bullet points describing the value and emotion of playing your game. Many developers make the silly mistake of just listing things like... "Over 20 Levels!" or "Challenging puzzles!" -- Don't make this mistake. Make sure that you're describing the emotional value of playing your game. If you're looking for inspiration, google "Half Life 2" and go to their Steam store page. Copy that style.
6. Embed a screenshot of the game within the email. Make it good. A lot of developers get tripped up here because they're too close to their own project so they think all of their screenshots are good. Don't get caught in that trap--make a post in game development feedback groups or share the screenshots with friends who aren't so close to your game as you are.
7. Drop a link to a gameplay video. Bonus points if the video is of a popular YouTuber or Streamer playing the game.
8. Finally, throw in a link to download the game, and/or the proper Steam key.
9. Send the email!
10. Ping them on Twitter. Let them know that you've sent them an email about your game in a polite way.
11. Cross your fingers. Both hands.
12. Track your reply and open rates, then experiment with another batch of 10 emails.
Note: Your email should not take more than about 30 seconds to skim through. YouTubers are swamped with emails, so keep your email as brief as possible.
P.S. Please let me know if I'm missing anything in the comments below!

---------------------------------------------

Inilah cara membuat YouTuber dan streamer untuk benar-benar memainkan permainan indie Anda ...
0. Lakukan penelitian tentang pesaing Anda, dan ambil alamat email dari YouTuber yang telah meliput permainan dalam lingkup yang sama dan dalam genre serupa. Bertujuan untuk 10 email sehingga Anda bisa mendapatkan ukuran sampel yang bagus. Poin bonus jika Anda dapat melacak tarif terbuka melalui alat seperti Sidekick atau Yesware.
1. Buat garis subjek yang menarik, emosional, dan menarik yang menonjolkan sudut unik permainan Anda. Ini lebih mudah diucapkan daripada dilakukan, dan Anda HARUS membuat draf minimal 10 judul utama dan memilih yang terbaik. Jika Anda benar-benar ingin mengetahui secara mendalam tentang hal ini, google "headline analyzer" dan gunakan tool gratis CoSchedule.
2. Ambil mereka dengan hook di kalimat pertama. Pikirkan sesuatu di luar kotak, emosional, pribadi, dan menarik.
3. Selanjutnya, jangan membuat mereka bosan dengan penjelasan tentang latar belakang atau motivasi Anda ... katakan pada mereka apa untungnya bagi mereka. Saya memiliki banyak keberuntungan dengan memberi tahu mereka tentang jaringan media sosial sederhana saya dan menyatakan bahwa saya akan membantu mempromosikan video mereka begitu ia ditayangkan.
4. Setelah ini, buang satu atau dua kalimat yang memberitahu mereka mengapa mereka harus menutupi permainan Anda. Mereka memiliki banyak permainan lain yang bisa mereka liput, dan banyak email lain yang bisa mereka baca. Mengapa mereka harus memainkannya secara khusus?
5. Toss di beberapa titik peluru yang menggambarkan nilai dan emosi permainan Anda. Banyak pengembang membuat kesalahan konyol hanya mencantumkan hal-hal seperti ... "Lebih dari 20 Tingkat!" Atau "Menantang teka-teki!" - Jangan membuat kesalahan ini Pastikan bahwa Anda menggambarkan nilai emosional dari permainan Anda. Jika Anda mencari inspirasi, google "Half Life 2" dan pergi ke halaman toko Steam mereka. Salin gaya itu.
6. Sematkan tangkapan layar game di dalam email. Buat itu bagus Banyak pengembang tersandung di sini karena mereka terlalu dekat dengan proyek mereka sendiri sehingga mereka menganggap semua screenshot mereka bagus. Jangan terjebak dalam perangkap itu - buatlah pos dalam kelompok umpan balik pengembangan permainan atau bagikan tangkapan layar dengan teman yang tidak begitu dekat dengan permainan Anda seperti Anda.
7. Letakkan link ke video gameplay. Poin bonus jika video YouTuber atau Streamer populer sedang bermain game.
8. Akhirnya, lempar link untuk mendownload game, dan / atau tombol Uap yang tepat.
9. Kirimkan emailnya!
10. Ping mereka di Twitter. Biarkan mereka tahu bahwa Anda telah mengirimi mereka email tentang permainan Anda dengan cara yang sopan.
11. Salibkan jari Anda. Kedua tangan.
12. Lacak balasan dan harga terbuka Anda, lalu bereksperimen dengan 10 email lainnya.
Catatan: Email Anda tidak boleh memakan waktu lebih dari 30 detik untuk dilewati. YouTuber dibanjiri email, jadi pertahankan email Anda sesingkat mungkin.
P.S. Tolong beritahu saya jika saya melewatkan sesuatu di komentar di bawah ini!

Selasa, 22 Agustus 2017

Mengenal Konsep Event dan Delegate untuk Berkomunikasi Antar Object di Unity

Pada tutorial kali ini, kita akan mengenal salah satu konsep untuk berkomunikasi antar objek dengan menggunakan Delegates dan Event. Cara yang paling umum untuk digunakan jika ingin berkomunikasi dengan objek lain adalah dengan memberikan reference terhadap sebuah object. Kita bisa melakukan ini dengan cara membuat public variable untuk suatu game object lalu memberikan reference melalui inspector. Kita juga bisa melakukan komunikasi dengan cara menggunakan fungsi find game object. Atau yang paling mudah, kita bisa menggunakan fungsi sendMessage yang memiliki limitasi hanya bisa memanggil fungsi di script lain yang berada dalam satu komponen game object.
Pendekatan delegates dan event merupakan salah satu pendekatan yang cukup populer dalam bahasa pemrograman C# dan bisa membuat kode kita bisa lebih bersih. Jika komunikasi yang kita lakukan sudah semakin banyak percabangan dan referencenya, pendekatan delegates dan event akan membantu kita untuk bisa mendesain arsitektur kode kita lebih baik lagi. Mari kita akan coba bahas teori dari delegate dan event secara general terlebih dahulu.

Delegate

Secara konsep, delegate merupakan pointer reference dari suatu method. Delegate dapat membuat kita menjadikan sebuah method menjadi variabel dan melempar sebuah method sebagai sebuah variable ketika melakukan callback. Ketika method ini dipanggil, maka sistem akan menotifikasi seluruh metode yang merefer ke delegate. Analoginya mirip dengan subscription. Semua method yang melakukan subscription akan diupdate secara otomatis. Delegate sangat bermanfaat untuk invoke method dalam jumlah banyak dalam satu event runtime dan digunakan untuk trigger callback method.
Mungkin secara konsep terasa sangat membingungkan, namun jangan khawatir, seiring nanti kita belajar mempraktekan delegate dan event, akan semakin terbayang betapa simpel dan efisiennya penggunakan metode ini untuk komunikasi antar objek.
shoot
Sebagai contoh, kita bisa ambil kasus sebuah kode dimana jika kita menekan tombol, akan memberikan efek di dua gameobject yang berbeda. Semisal jika kita menekan button shoot, maka akan ada dua gameobject yang menjalankan methodnya. Yang pertama akan ada object pistol yang menginisiasi peluru dan yang kedua akan ada object UI yang mengurangi jumlah peluru yang player miliki. Contoh sintaksnya adalah sebagai berikut:

Event

Event merupakan tipe spesial dari delegates yang dapat digunakan untuk menotifikasi kelas lainnya ketika sesuatu terjadi. Contohnya ketika button shoot dipencet, event akan memberikan notifikasi kepada kelas peluru dan kelas jumlah peluru untuk melakukan aksinya masing-masing. Event bisa di deklarasi menggunakan delegates. Ini adalah contoh sintaksnya.

Contoh Penggunaannya

Pertama kita akan memberikan deklarasi delegate dan event pada kelas yang memproses tombol shoot yang diklik, kita beri nama kelas ButtonShoot.cs.
Selanjutnya kita akan membuat kode dari kelas yang subscribe tersebut sehingga ketika terjadi perubahaan, method pada kelas ini akan dijalankan. Kita akan membuat dua kelas yang subscribe terhadap event Clickyakni kelas Pistol.cs dan kelas TextPeluru.cs.
Dengan memasang kode di atas, maka ketika tombol button shoot ditekan, secara otomatis kelas Pistol.csakan menjalankan method BulletShoot() dan kelas Peluru.cs akan menjalankan method ReduceBullet().
Semoga tutorial ini bisa membantu teman-teman untuk membuat kode program yang lebih clean dan efektif. Untuk mengunduh contoh programnya, silakan klik link berikut.kan tutorial pembuatan game menggunakan Unity selanjutnya.