Kamis, 04 Juli 2013

Artikel cloud computing dan analisis perusahaan yang menggunakannya

Cloud Computing, Efektivitas Bisnis Dan Reduksi Biaya


Migrasi IT dari tradisional ke sistem komputasi awan (cloud computing) merupakan hal yang dianggap perlu bila perusahaan ingin maju dan cepat berkembang.



Cloud Computing adalah suatu istilah yang banyak digunakan oleh Industi IT yang memiliki arti yang berbeda bagi setiap orang. Namun pada intinya Cloud Computing adalah suatu pergeseran dari perusahaan dalam membeli dan memelihara server dan aplikasi on-premise yang mahal, dan bergerak menuju metode penyewaan IT, sesuai dengan kebutuhan, dari satu penyedia layanan publik.

Cloud Computing adalah suatu istilah yang banyak digunakan oleh Industi IT yang memiliki arti yang berbeda bagi setiap orang. Namun pada intinya cloud computing adalah suatu pergeseran dari perusahaan dalam membeli dan memelihara server dan aplikasi on-premise yang mahal, dan bergerak menuju metode penyewaan IT, sesuai dengan kebutuhan, dari penyedia layanan public cloud.



Ada beberapa keuntungan dan kemudahan yang ditawarkan oleh teknologi cloud computing. Pemakaian teknologi cloud computing bisa dibayarkan secara bertahap. Hal ini berarti sebuah perusahaan dapat melakukan penghematan. Selain dapat mengurangi anggaran biaya, dengan penerapan cloud computing juga dapat meningkatkan efektivitas bisnis. Efektivitas itu bisa terjadi karena berbagai alasan (Jain & Bhardwaj), diantaranya adalah:
a. Meningkatan Kapasitas
Dengan cloud Computing sebuah perusahaan bisa menyimpan data lebih dari kapasitas penyimpanan yang dimiliki oleh komputer mereka di perusahaan namun bisa disimpan di server provider. Sehingga tidak dibutuhkan lagi upgrade memori dan tentu saja sangat membantu menekan biaya bagi perusahaan.
b. Sangat Otomatis
Staf TI tidak lagi perlu khawatir meng-update software dan perusahaan tidak perlu lagi mengeluarkan biaya untuk meng-upgrade satu server atau lebih. Server akan selalu di update oleh pihak vendor penyedia teknologi cloud computing sesuai permintaan. Sehingga setiap orang yang menggunakan layanan selalu mendapatkan update tanpa memperbarui apapun di komputer yang mereka pakai.
c. Fleksibel
Cloud computing menawarkan fleksibilitas yang lebih tinggi daripada metode komputasi yang ada di masa lalu dan menghemat waktu sekaligus uang untuk orang-orang yang sibuk dan tidak punya banyak waktu.
d. Mobilitas tinggi
Seorang staf dapat mengakses informasi di manapun mereka berada. Hal ini memungkinkan staf tersebut untuk terhubung bahkan tanpa komputer mereka sendiri, yang berarti pekerjaan bisa dilakukan di mana saja selama memiliki koneksi dan akses ke internet.
e. Memungkinkan IT untuk tetap fokus
Dengan cloud computing perusahaan tidak lagi harus khawatir tentang update server yang secara reguler dilakukan dan masalah komputasi lain, perusahaan akan bebas untuk berkonsentrasi pada inovasi dan pengembangan bisnis.
f. Berbagi Sumber Daya
Sebuah kunci dari cloud computing adalah adanya kemampuan untuk berbagi sumber daya di dalam perusahaan. Sehingga memungkinkan semua karyawan untuk mengakses sumber daya melalui cloud computing. Dengan ini kita dapat menghemat waktu dan uang dengan menempatkan sumber daya dalam satu lokasi yang mudah bagi para karyawan untuk mencari dan mengaksesnya.
g. Bisnis Agility
Salah satu keuntungan cloud computing adalah memungkinkan perusahaan untuk menjadi lebih lincah. Kecepatan pemesanan kapasitas dan layanan yang disediakan oleh pihak vendor adalah elemen penting
TEKNOLOGI, VOL. 1, NO. 2, JULI 2011
102
dari cloud computing. Penambahan kapasitas media penyimpanan, bandwidth jaringan, memori, dan sumber daya komputasi yang lain dapat dilakukan dengan cepat dan bahkan seketika. Kebanyakan vendor cloud computing menggunakan infrastruktur perangkat lunak yang dapat dengan mudah untuk ditambahkan, dipindahkan, atau diubah aplikasinya sesuai dengan kebutuhan. Sifat, dinamis dan elastis dari cloud computing itulah yang akan memberi keuntungan yang sangat besar bagi pengguna.
h. Back-up dan Pemulihan Bencana
Dengan cloud computing, beban untuk mengelola teknologi ditempatkan pada vendor termasuk semua hal yang menyangkut perlindungan data, toleransi kesalahan, recovery dan pemulihan bencana. Biaya pemulihan bencana secara normal diperkirakan dua kali lipat dari biaya infrastruktur. Dengan model berbasis cloud, biaya pemulihan bencana diperkirakan kurang dari satu kali biaya, sebuah penghematan yang sangat signifikan.




website gemscool.com (PT. Kreon)

kesimpulan :
setelah melihat isi dari website ini, saya merasa web ini sudah cukup bagus dan tidak ada kekurangan. penggunaan cloud computing pada website ini sangat efektif terutama untuk meminimalkan waktu yang digunakan dan memaksimalkan feedback dari pihak perusahaan kepada konsumen yang sedang bertransaksi. overall website gemscool dari perusahaan PT. Kreon ini sudah cukup baik dalam penerapan cloud computing.

Cloud Computing

Istilah cloud tentunya sudah tidak asing lagi bagi kita karena teknologi dari cloud ini sering kita gunakan. Misalnya saja, saat ini kita tidak perlu lagi membawa flashdisk kemana-mana, cukup terkoneksi dengan internet kita dapat menyimpan data di cloud. Data tersebut aman, dan tersedia dimanapun kita berada.
Tetapi apakah cloud computing hanya berfungsi seperti itu saja? Tentu saja tidak, teknologi cloud computing dapat lebih dari itu.

Pengertian Cloud Computing

Cloud computing adalah kumpulan dari beberapa resources yang terintegrasi menjadi satu dan digunakan melalui web.
Sebenarnya, cloud computing ini didasarkan pada teknologi grid computing yang membuat skalabilitas suatu sistem komputasi menjadi sangat besar dengan cara menggabungkan beberapa sumber daya komputer menjadi satu resource.
Sehingga tidak salah jika ada orang yang megnatakan cloud computing adalah grid computing yang digabungkan dengan virtualisasi.

Perkembangan Cloud Computing

Cloud computing telah berkembang sejak tahun enam puluhan berdampingan dengan perkembangan internet dan web. Internet lebih cepat berkembang karena perkembangan bandwidth yang semakin besar. Perkembangan internet inilah yang menjadi pendorong berkembangnya teknologi cloud computing
pengertian cloud computing
Pada tahun di tahun 1999, Salesforce.com menjadi pencetus pertama aplikasi perusahaan yang dijalankan melalui internet. Selanjutnya diikuti oleh Amazon Web Services di tahun 2006 yang menggunakan teknologi Elastic Compute Cloud (EC2). Teknologi EC2 menyebabkan adanya situs layanan web yang dikomersialkan, sehingga memungkinkan perusahaan kecil / individu untuk menyewa komputer atau server agar dapat menjalankan aplikasi komputer mereka.
Di tahun 2009, Google memulai menawarkan aplikasi berbasis browser melalui Google Appsnya, yang salah satunya adalah Google Docs yang sering kita gunakan. Sampai saat ini, cloud computing masih terus berkembang dengan pesat mengingat manfaatnya yang begitu besar jika teknologi ini digunakan.
Menurut Jamie Turner, perkembangan cloud computing ini dipengaruhi oleh matangnya teknologi visual, perkembangan bandwidth berkecepatan tinggi, dan software yang bersifat universal.


referensi : http://azuharu.net

core techniques and algorithms in game programming

 Dalam bab-bab sebelumnya, kita membahas bagaimana untuk mewakili berbagai lingkungan yang berbeda dalam permainan komputer.Dari penjara ke dataran yang luas bersama dengan karakter yang mengisi, kami telah menjelajahi bagaimana membusukgrafis ke dalam segitiga array, sehingga mereka dapat efisien diberikan oleh subsistem grafis. Semakin segitiga kita gunakan, semakin kaya dan lebih menarik representasi. Sebagai tanda yang jelas dari pengabdian kepada segitiga, ingat kutipan terkenal oleh salah satu anggota pendiri dari jalan Pixar kembali pada 1980-an, "Realitas Segitiga 80m per detik. " Namun, beberapa efek sulit untuk membayangkan dalam hal segitiga. Berapa banyak segitiga yang memiliki api unggun? Dan bagaimana dengan kabut yang menempel puncak gunung? Dan pohon? Ini adalah barang yang kami butuhkan untuk mewakili, tetapi trivial untuk mengungkapkan segi segitiga. Kita cenderung berpikir dalam hal struktur padat sederhana diwarisi dari platonis padatan (kubus, bola, dan sebagainya). Tapi kehidupan sehari-hari terus-menerus menantang ini kesederhanaan, membuat kita memikirkan cara kreatif menggambarkan kekayaannya. Bab ini (bersama dengan bab-bab berikutnya) mencoba mengeksplorasi teknik yang dirancang untuk membuat "maju" efek seperti yang baru saja disebutkan serta banyak lainnya. Dalam bab ini, kita akan mengeksplorasi partikel sistem, yang merupakan formalisme matematis yang dapat digunakan untuk mewakili dinamis, perilaku kompleks seperti asap dan gelombang. Bab selanjutnya secara khusus akan berurusan dengan teknik render organik, meliputi fenomena yang paling alami, baik statis atau dinamis pada dasarnya. Bab berikutnya akan membahas paradigma prosedural, yang merupakan alat yang ampuh digunakan untuk mewakili geometri yang kompleks dalam cara yang efisien.

Anatomi Sistem Partikel
Sebuah sistem partikel pada dasarnya adalah sebuah formalisme matematis yang digunakan untuk menggambarkan fenomena yang  Dinamis dan tergantung waktu Sangat paralel dengan komponen individu kecil
l. Complex
Contoh perilaku tersebut termasuk asap dari cerobong, kebakaran, burung terbang dalam kawanan, kepingan salju, dan ratusan fenomena lain. Sistem partikel adalah konteks sensitif, yang berarti mereka dapat digunakan untuk Model situasi yang sangat berbeda. Sistem partikel adalah alat, tetapi tidak berarti penggunaan-kasus tertentu di sendiri. Dengan mengubah beberapa komponen dalamnya, dapat cocok untuk setiap masalah, asalkan mengikuti filsafat global yang diuraikan sebelumnya.Sistem partikel diperkenalkan pada awal tahun 1980 oleh Pixar (kemudian bagian dari Lucasfilm efek khusus kelompok) untuk film Star Trek II: The Wrath of Kahn. Secara khusus, sistem partikel yang digunakan untuk mewakili ledakan reaksi berantai pada permukaan planet, sehingga planet berubah dari mati, terlihat tandus ke ekosistem hidup penuh.Sebuah sistem partikel fundamental terdiri dari berbagai partikel, masing-masing berubah dinamis sesuai beberapa didirikan rutinitas. Anda dapat model hujan individu bereaksi terhadap gravitasi dan angin, burung melaksanakan rutinitas AI sederhana, dan sebagainya. Semua partikel memiliki parameter yang sama mengendalikan penampilan mereka dan perilaku. Tapi saat mereka berkembang dalam ekosistemnya, masing-masing mengikuti evolusi yang sedikit berbeda, dan diinginkan kompleksitas muncul secara alami.
Sistem Partikel Lokal Versus global
Sistem partikel secara umum dapat dibagi menjadi dua kelompok besar, yang akan saya sebut sebagai lokal dan global. Sebuah sistem lokal terdiri dari sekelompok partikel yang berperilaku seolah-olah masing-masing sendirian. Dengan demikian, interaksi antara partikel tidak dipertimbangkan, dan semua perhitungan lokal untuk partikel saat ini. Di ujung lain spektrum, sistem partikel global yang melibatkan partikel yang berinteraksi dan bereaksi terhadap setiap lainnya. Dalam sistem partikel, perilaku setiap partikel individu sebagian bergantung pada sendiri karakteristik, tetapi juga pada interaksi dengan anggota kelompok lainnya. Banyak kali sistem lokal hanyalah penyederhanaan sistem global. Sebagai contoh, perhatikan kelompok daun jatuh dari pohon, tertiup oleh angin. Jika Anda ingin model dengan akurat, Anda perlu mempertimbangkan perubahan dalam lintasan jika dua atau lebih daun bertabrakan, membuat perilaku daun tunggal tergantung pada sisanya. Jelas, ini akan menghasilkan sistem partikel global. Tapi banyak game lebih memilih untuk mengabaikan tabrakan daun dan, dengan menyederhanakan simulasi, menerapkannya sebagai sistem partikel lokal. Ketika Anda akan segera menemukan, kedua kelompok memiliki kelebihan dan masalah yang berbeda, dan memerlukan spesifik teknik pemrograman. Jelas, sistem partikel global yang menghasilkan jauh lebih kompleks dan menarik perilaku. Tapi kekayaan tidak datang secara gratis. Menghitung pengaruh partikel lainnya biasanya akan meningkatkan biaya komputasi kami secara signifikan. Jadi, sistem partikel global harus ditangani dengan hati-hati.
Partikel Struktur Data
Mendefinisikan struktur data partikel berarti menjawab "apa" pertanyaan: Apa yang kita pemodelan? Apakah akan menjadi api, asap, atau air? Jelas, fenomena yang berbeda akan membutuhkan parameter partikel yang berbeda. Ketika memilih struktur data partikel, adalah penting untuk membuat satu set parameter yang bersifat cukup tapi tidak kembung. Mengingat sifat paralel sistem partikel, memiliki parameter berlebihan akan meningkatkan jejak memori, sedangkan memiliki parameter kontrol terlalu sedikit akan menurunkan kualitas visual sistem. Sistem partikel secara tradisional ditangani dengan barang bergerak cepat dengan tidak ada interaksi antara mereka. Jadilah itu percikan ledakan, hujan, atau air, struktur yang mendasari hampir identik. Berikut adalah partikel asli Struktur diambil dari mani Reeves SIGGRAPH Kertas (lihat referensi di Lampiran E, "lanjut Membaca "):
l Posisi
l Velocity (vectorial)
l Ukuran
l Warna
l Transparansi
l Bentuk
l Lifetime
Struktur ini digunakan untuk membuat beberapa efek yang agak maju di Star Trek II: The Wrath of Kahn. Kita bias luas membagi parameter menjadi dua kelompok yang berbeda:
l Parameter yang berhubungan dengan perilaku partikel
l Parameter yang berhubungan dengan tampilan partikel
Perilaku parameter harus cukup untuk mengimplementasikan simulator partikel menarik. Dengan demikian, adalah penting untuk menganalisis jenis perilaku kita mencoba untuk mensimulasikan, untuk memahami parameter yang diperlukan. Itu Tempat terbaik untuk mengumpulkan informasi ini dari fisika buku panduan, terutama yang berkaitan dengan dinamika untuk partikel atau badan kaku. Mempelajari kekuatan Anda akan berlaku untuk partikel. Apakah Anda perlu gesekan? Kecepatan? Percepatan? Cobalah untuk memahami peran konstanta global lingkup. Misalnya, tidak masuk akal untuk memiliki setiap partikel menyimpan gravitasi konstan. Nilai itu akan sama dalam semua mereka. Di sisi lain, bobot setiap partikel mungkin berguna dalam beberapa keadaan. Begitu Anda telah menentukan mana perilaku parameter membutuhkan simulator, Anda akan perlu untuk menentukan orang-orang parameter yang berhubungan dengan tampilan partikel. Berikut kemungkinan hampir tak terbatas. Anda pasti akan membutuhkan warna partikel, blending mode, ukuran, dan tekstur identifier, namun kebanyakan sistem partikel perlu banyak lebih banyak parameter. Untuk partikel padat, Anda mungkin perlu untuk menentukan jala akan Anda gunakan untuk melukis partikel counter animasi, lingkaran cahaya, dan puluhan fitur lainnya. Berikut saran terbaik adalah untuk memisahkan partikel render dari lingkaran simulasi, sehingga Anda dapat menguji lukisan partikel tunggal dalam program yang terpisah. Ini cara Anda dapat memperbaiki hasil visual dan menentukan parameter membutuhkan partikel Anda penyaji untuk menyampaikan tampilan yang tepat.
Sistem Partikel Generik
Sekarang bahwa kita memiliki pemahaman global apa sistem partikel, mari kita melihat lebih dekat bagaimana kitadapat menerapkannya. Pertimbangkan definisi kelas berikut untuk sistem partikel dasar:
kelas particlesystem
{
partikel * data;
int numparticles;
publik:
membatalkan menciptakan (int); / / menciptakan sistem n partikel
batal recalc ();
membatalkan render ();
private:
kekosongan bibit (int); / / memunculkan partikel n
membatalkan mempengaruhi (int) / / n partikel mempengaruhi oleh kekuatan luar
};
Perhatikan bagaimana kita perlu bertelur dan mempengaruhi rutinitas secara partikel. Kedua rutinitas menerapkan inti sistem: bagaimana partikel dilahirkan dan apa simulasi proses mereka menjalani. Kedua rutinitas bias benar-benar menjadi bagian dari kelas partikel, jika diperlukan, untuk lebih memperjelas kode.
Partikel pemijahan
Partikel dibuat pada beberapa jenis emitor, yang menginisialisasi parameter mereka. Jika kita ingin sistem kami untuk berperilaku dalam cara yang menarik, kuncinya adalah untuk menghasilkan setiap partikel dengan nilai awal yang sedikit berbeda, sehingga aturan perilaku (yang dimiliki oleh semua partikel) membuat masing-masing terlihat seperti elemen yang unik. Berbagai emitter telah sering digunakan. Yang paling terkenal adalah emitor titik, yang menghasilkan semua partikel pada suatu titik dalam ruang, seperti dalam ledakan. Tapi ledakan tidak lahir di satu titik dalam ruang. Di Bahkan, hanya Big Bang terjadi seperti ini, dan kami bahkan tidak yakin tentang hal itu. Ledakan di dunia nyata memiliki volume dan bentuk, sebagai partikel api muncul dari obyek meledak. Jadi, kadang-kadang kita akan mengacaukan titik, sehingga partikel yang lahir di daerah sekitarnya, tetapi tidak cukup pada titik. Ini adalah sangat pendekatan umum dalam penciptaan sistem partikel: menambahkan jumlah keacakan sehingga hasilnya tidak terlihat terlalu teratur dan algoritmik. Sebagai contoh, untuk emitor titik kami, kami akan menggunakan sesuatu seperti ini:
titik pos (3,5,4); / / partikel lahir di 3,5,4
pos.x + = ((float) rand ()% 2000-1000) / 1000;
pos.y + = ((float) rand ()% 2000-1000) / 1000;
pos.z + = ((float) rand ()% 2000-1000) / 1000;
Tiga baris terakhir menerapkan distorsi satu di setiap arah, positif atau negatif. Jadi sebenarnya Volume partikel muncul dari sebuah kubus sepihak berpusat di 3,5,4. Filosofi ini berakar kuat dalam disiplin ini yang bahkan memiliki nama: jittering, yang menggambarkan penambahan jumlah terkontrol kebisingan untuk mengurangi tampilan algoritmik simulasi. Ada juga bentuk lain dari emitter. Untuk mensimulasikan salju atau hujan, misalnya, Anda mungkin akan menggunakan 2D poligon sejajar pada bidang XZ. Berikut adalah source code untuk menghitung poligon seperti:
titik pos (3,5,4); / / partikel lahir di 3,5,4
pos.x + = ((float) rand ()% 2000-1000) / 1000;
pos.z + = ((float) rand ()% 2000-1000) / 1000;
Dalam hal ini saya telah membuat sebuah persegi, yang sangat umum. Bentuk 2D lainnya dapat diterapkan juga. Jenis ketiga emitor dirujuk berkaitan dengan posisi pemain. Bayangkan bahwa Anda perlu untuk mensimulasikan hujan. Sangat mungkin, Anda tidak akan mengisi tingkat seluruh permainan dengan ratusan ribu hujan individu. Ini hanya tidak masuk akal karena hujan yang jauh tidak akan terlihat. Dalam skenario ini, itu akan menjadi besar untuk menghasilkan hujan tepat di mana pengguna dapat melihat itu sebagian besar, yang langsung di depannya. Dengan demikian, kita menghasilkan hujan dalam koordinat reguler kami, dan kemudian menerjemahkan dan memutar ke posisi akhir sistem partikel dan  rotasi. Berikut adalah contoh bagaimana untuk menghasilkan partikel-partikel ini. Saya berasumsi fov adalah aperture horizontal kamera, dan distnear dan distfar adalah rentang jarak kita inginkan untuk mengisi dengan partikel:
mengapung dist = distnear + (distfar-distnear) * ((float) rand ()% 1000) / 1000;
mengapung angle = fov * (((float) rand ()% 2000) -1000) / 1000;
titik p (dist * cos (sudut), 0, dist * sin (sudut));
p.rotatey (camera_yaw);
p.translate (camera_position);
Kode ini menghasilkan partikel tepat di depan kamera, sehingga mereka mengisi layar tapi angan pergi ke mana pun lain. Hanya partikel kita benar-benar perlu dipertimbangkan. Tipe lain dari emitor adalah emitor berbasis layar, yang digunakan untuk efek partikel yang dihitung dalam ruang layar, seperti jejak air ditinggalkan oleh tetes hujan di permukaan kamera. Partikel ini lahir di mana saja, tapi selalu dirujuk ke viewport kamera. Jadi, menghasilkan mereka sedikit berbeda. Sebuah 2D sistem partikel diberikan dengan pipa 3D dimatikan, seperti mesin sprite dari masa lalu. Generasi partikel tidak terlalu kompleks, melainkan hanya partikel pada persegi panjang 2D. Berikut adalah kode:
pos.x + = SCREENX * ((float) rand ()% 2000-1000) / 1000;
pos.y + = SCREENY * ((float) rand ()% 2000-1000) / 1000;
Kode ini mengasumsikan bahwa SCREENX, SCREENY memegang resolusi dalam piksel pada layar. Jelas, sebagian besar kompleksitas dari sistem ini adalah tidak dalam pemijahan partikel, tetapi dalam render yang sebenarnya. Anda dapat melihat berbagai jenis emitter. Emitter untuk efek yang berbeda. Setelah kita memiliki emitor, sekarang saatnya untuk beralih ke parameter berikutnya. Kecepatan awal harus ditentukan. Beberapa pilihan populer di sini adalah kecepatan arah (semua partikel bergerak ke arah yang sama), kecepatan radial (partikel menjauh dari pusat), rotasi (seperti dalam tornado), atau acak. Masing-masing harus dilaksanakan dengan tingkat tertentu jitter, partikel begitu berbeda memiliki sedikit berbeda parameter dan karenanya evolusi.Parameter lainnya dapat disetel serta: Warna, alpha (sangat penting jika partikel memudar karena mereka mati), texturing koordinat, dan sebagainya semua harus diatur. Selain itu, kita perlu menetapkan usia partikel dan parameter siklus hidup. Ini dapat diimplementasikan dengan dua cara: Anda dapat mengatur usia partikel ke nol dan memiliki parameter kedua itu adalah waktu untuk hidup partikel. Pada setiap tick simulasi, Anda meningkatkan usia sampai waktu untuk hidup (yang tidak lain adalah sebuah counter) tercapai, dan partikel dibunuh dan respawned tempat lain. Karena simulasi kutu biasanya tetap panjang, kita mendapatkan perangkat-independen kecepatan. Sebuah alternatif adalah untuk menetapkan bukan usia, tapi instan di mana partikel itu melahirkan. Anda akan mendapatkan bahwa dari sistem dengan panggilan untuk timeGetTime (), menyimpannya, dan kemudian menggunakannya untuk perhitungan usia. Pada dasarnya, pada setiap loop Anda akan recompute waktu saat ini dengan timeGetTime (), kurangi waktu lahir dari nilai kedua ini (sehingga menghitung usia dalam milidetik partikel), dan membandingkannya dengan waktu untuk hidup, yang juga merupakan jangka waktu tidak hanya loop counter seperti dalam kasus sebelumnya. Seperti biasa, programmer yang berbeda lebih memilih satu pendekatan atau yang lain karena alasan pribadi.
Perilaku partikel
Jika struktur partikel mencoba untuk menentukan apa yang akan kita mensimulasikan, mesin perilaku harus berusaha untuk meniru bagaimana fenomena tertentu berkembang dari waktu ke waktu. Apakah ini akan menjadi simulasi berbasis fisik, atau akan itu stokastik? Pilihan yang paling umum adalah untuk menerapkan semacam dinamika pada partikel sehingga mereka meniru fenomena dunia nyata. Mari kita lihat beberapa contoh meningkatnya kompleksitas. Untuk mulai dengan, bayangkan bahwa kita harus membuat sistem partikel hujan, mencoba untuk mendapatkan efek hujan deras meyakinkan. Air hujan bergerak dengan kecepatan yang sangat tinggi karena mereka jatuh ke tanah, sehingga kita dapat membuat asumsi bahwa mereka tidak terpengaruh oleh angin atau kekuatan eksternal lainnya. Membuat obyek cepat mengubah arah sulit, karena kekuatan kita perlu untuk memasok ke meningkat dengan kecepatan. Dengan demikian, hujan kita melahirkan dengan algoritma yang sama dengan yang dijelaskan pada bagian sebelumnya, dan kita hanya perlu recompute posisi mereka. Sekarang, dari fisika yang sangat dasar Anda tahu bahwa Posisi = posisi awal + kecepatan * waktu Mengambil ini sebagai persamaan diferensial untuk jangka waktu singkat, kita dapat menulis ulang untuk membentuk dPosition = Velocity * dt mana dPosition adalah perubahan posisi, Velocity adalah kecepatan sesaat pada suatu titik waktu tertentu, dan dt adalah diferensial waktu kita ingin mengevaluasi perbedaan posisi masuk Berikut kita mengasumsikan bahwa
Velocity berlaku sepanjang dt detik, yang umumnya palsu. Kami mengambil satu sampel dan generalisasi ke interval sepanjang waktu. Hal ini membuat jenis simulator, disebut Euler Integrator, sangat stabil dalam sistem yang lebih kompleks. Tapi untuk sistem partikel, ini adalah cara untuk pergi karena kesederhanaan dan keanggunan mereka. Jadi bagaimana kita mengubahnya menjadi kode yang berjalan? Kami mengganti dt untuk diferensial antara
berturut-turut simulasi kutu dan menggunakan kecepatan arus sebagai parameter kecepatan. Sekarang, kita dapat menggabungkan fisika Newton dasar ke dalam persamaan. Mari kita meninjau bagaimana ini bisa bekerja, dimulai dengan persamaan F = m * a yang berubah menjadi = F / m
Tapi tetap percepatan adalah turunan kedua dari posisi, seperti dalam = d2x/dt2
Jadi sekarang kita memiliki hubungan mendasar antara cinematics (akselerasi) dan dinamika (kekuatan). Hukum dasar cinematics kemudian dapat ditulis kembali sebagai
v = dx / dt
a = dv / dt
Dan dengan demikian yang harus kita lakukan adalah mewakili kekuatan dan menghitung percepatan berdasarkan pada mereka. Ambil, misalnya, gravitasi, sebagaimana diatur dalam ekspresi f = m * g mana g = (0, -9.8,0). Lainnya, pasukan lebih menarik dapat direpresentasikan juga. Berikut adalah ekspresi untuk tarik kental, yang disebabkan oleh proyektil mencoba untuk menyeberang media yang menawarkan beberapa perlawanan. Tarik kental sebanding dengan kecepatan, sehingga objek lebih cepat memiliki kekuatan yang lebih besar menentang mereka. Dalam persamaan ini, kd adalah konstanta menengah-dependen yang disebut koefisien hambatan: F =-kd * (dx / dt) =-kd * v, Sepertiga, menarik hukum mengatur perilaku partikel dihubungkan dengan pegas elastis. Setiap musim semi memiliki
panjang yang ideal, jadi jika kita kompres dengan menggerakkan dua partikel lebih dekat untuk beristirahat panjang ini, kekuatan akan mencoba untuk memisahkan mereka. Jika kita mencoba untuk memisahkan mereka melebihi panjang istirahat, kekuatan akan menentang itu juga. Hukum ini disebut Hukum Hooks Musim Semi dan sangat menarik karena merupakan titik awal dari banyak menarik teknik simulasi fisika. Berikut adalah persamaan lengkap: Ini sepotong mengesankan matematika, tapi jangan menunda oleh itu. Prosedur kami akan selalu menjadi jenis same.Several kekuatan digambarkan pada Gambar 19.2. Berikut adalah algoritma untuk menghitung keseluruhan sistem partikel fisika berbasis:
1. Hitung jumlah pasukan berinteraksi dengan partikel pada suatu titik waktu tertentu.
2. Turunkan percepatan dari pasukan.
3. Gunakan perbedaan waktu untuk menghitung perubahan posisi dan kecepatan menggunakan integrasi Euler. Gambar 19.2. Beberapa pasukan mungkin bisa bertindak atas partikel.
Berikut ini adalah, misalnya, kode yang dibutuhkan untuk mengimplementasikan mesin perilaku yang mengambil gravitasi dan gaya lateral konstan (seperti vektor angin) menjadi pertimbangan. Hal ini dapat digunakan untuk membuat semacam efek geyser:
untuk (i = 0; i {
elapsed_time = (timeGetTime ()-time_last_call) / 1000.0; / / dalam hitungan detik
/ / Pertama, pasukan menghitung
Titik gravity_force = partikel [i] berat * gravitasi.;
Titik WIND_FORCE = (...) / / menghitung angin
Titik total_force = gravity_force + WIND_FORCE; / / menghasilkan gaya pada partikel
/ / Detik, berasal percepatan
Titik accel = total_force / partikel [i] berat badan.;
/ / Ketiga, mengintegrasikan
partikel [i] + = kecepatan accel * elapsed_time.;
partikel [i] + = posisi partikel [i] kecepatan * elapsed_time..;
}
Jadi itu sebenarnya cukup mudah untuk membuat simulasi fisik berbasis partikel. Namun, banyak perilaku didefinisikan estetis, tidak secara fisik. Perlu diingat bahwa ketika Anda membuat sistem partikel Anda. Ambil, misalnya, kolom asap. Lintasan asap benar-benar sulit untuk mensimulasikan fisik. Arah Asap tergantung pada suhu, angin, bahan kimia yang terkandung dalam asap, dan sejumlah faktor kita tidak bisa mempertimbangkan dalam permainan real-time. Jadi, asap biasanya simulasi estetis, tidak secara fisik. Jika Anda berpikir tentang hal itu, segumpal asap pada dasarnya adalah serangkaian partikel asap (masing-masing diberikan baik dengan asap tekstur quad). Partikel-partikel ini memancarkan dari satu titik dengan kecepatan dalam arah vertikal positif. Saat mereka naik, mereka dipengaruhi oleh kekuatan yang kompleks, yang membuat bentuk kolom entah bagaimana menarik tetapi juga sulit untuk mensimulasikan. Berikut adalah simulator asap cukup populer:
untuk (i = 0; i {
elapsed_time = (timeGetTime ()-time_last_call) / 1000.0; / / dalam hitungan detik
/ / Pertama, pasukan menghitung
Titik WIND_FORCE = noise (partikel [i] posisi.);
Titik raise_force (0,1,0); / / karena asap suhu selalu naik
Titik total_force = WIND_FORCE, kekuatan / / dihasilkan pada partikel
/ / Detik, berasal percepatan
Titik accel = total_force / partikel [i] berat badan.;
/ / Ketiga, mengintegrasikan
partikel [i] + = kecepatan accel * elapsed_time.;
partikel [i] + = posisi partikel [i] kecepatan * elapsed_time..;
}
Dalam simulator ini, kebisingan () adalah panggilan yang populer rutin kebisingan Perlin, yang menghasilkan kebisingan terus-menerus dalam ruang 3D. Kebisingan memungkinkan kita untuk membuat pola gerakan, yang entah bagaimana terlihat seperti asap, berputar-putar dan naik dari tanah. Jelas, pendekatan ini adalah murni estetika didorong, tapi setelah semua, game merupakan industri estetika berbasis pada inti.
 Partikel Kepunahan
 Partikel dalam sistem yang tidak dimaksudkan untuk hidup lama. Setelah siklus hidup mereka habis, mereka akan dihapus dan respawned di emitor. Ini biasanya berarti partikel telah melintasi layar atau melakukan siklus penuh dan dengan demikian dapat masuk kembali dalam satu lingkaran. Beberapa sistem partikel, dengan ledakan menjadi contoh nyata, akan nonlooping. Partikel diciptakan, hidup, mati, dan kemudian sistem partikel secara keseluruhan dimatikan.
Meskipun demikian, kita sekarang akan fokus pada sistem-sistem di mana partikel-partikel harus diregenerasi untuk memahami kode yang diperlukan untuk melakukan itu. Umumnya, partikel meninggal setelah umurnya melampaui waktu untuk hidup. Ketika saat ini tiba, yang harus kita lakukan adalah memanggil rutin bertelur lagi, melewati ini identifier partikel sebagai parameter. Dengan demikian, kita mendapatkan sebuah partikel baru dengan parameter segar di mana kita memiliki yang lama. Dengan demikian, tidak ada penghapusan memori atau realokasi yang sebenarnya dibutuhkan. Semua yang kita lakukan adalah mendaur ulang posisi dalam array untuk elemen baru. Dari sudut pandang estetika pandang, sangat penting untuk memudar partikel entah bagaimana ketika mereka mendekati kematian mereka. Kegagalan untuk melakukannya akan membuat hilangnya partikel terlihat menjengkelkan karena partikel cerah tiba-tiba menghilang. Sejumlah teknik dapat digunakan untuk menangani situasi ini dengan benar. Dalam sistem partikel hujan, misalnya, hujan tidak dibunuh oleh usia, tetapi tewas ketika mereka menyeberangi tanah pesawat. Dengan demikian, tidak ada kemungkinan partikel "muncul keluar" dari tempat kejadian, karena mereka akan menyeberangi lantai dasar dalam bingkai tepat sebelum kehancuran mereka. Mengambil kolom asap, misalnya. Di sini, kita perlu cerdik menggunakan nilai alpha memudar partikel masuk dan keluar. Partikel akan buram di masa kejayaan mereka dan kemudian akan lahir dan mati hampir transparan. Perhatikan bahwa
perawatan yang sama kita ambil dengan kematian partikel harus diambil dengan kelahiran mereka juga. Kami tidak ingin partikel untuk pop tiba-tiba entah dari mana. Sebuah trik yang bagus untuk memastikan bahwa partikel alpha blend dengan baik ketika mereka memasuki dan meninggalkan panggung adalah untuk memodulasi alpha mereka sebagai fungsi dosa, seperti
alpha = sin (PI * Usia / maxage);
Argumen ke panggilan dosa mengembalikan nilai floating-point dalam kisaran dari 0 sampai Pi. Kemudian, fungsi dosa mengevaluasi ke nol (dengan demikian, benar-benar transparan) pada kedua nilai, dan naik lancar ke 1 di antara untuk mewakili opacity di tengah partikel dari life.Rendering Partikel The kepercayaan dari sistem partikel tergantung pada render sebanyak karena tergantung pada simulasi yang sebenarnya dari perilaku. Kita dapat mengubah massal penduduk ke air yang mengalir dengan hanya menyesuaikan render partikel kami
engine.Given dengan sejumlah besar fenomena yang dapat dimodelkan menggunakan partikel, seharusnya tidak mengejutkan bahwa banyak pendekatan rendering yang berbeda ada. Tapi ada beberapa tips umum untuk mengikuti, yang tercakup dalam bagian berikut.
Hitung Partikel Cheaply Rendering partikel dapat menjadi bermasalah, terutama ketika berhadapan dengan sejumlah besar elemen. Jangan lupa kita harus memutar dan menerjemahkan setiap partikel individu sehingga wajah penonton dan memberikan ilusi yang tepat. Rotating memiliki biaya, terutama ketika Anda melakukannya berkali-kali. Kita bisa memilih untuk membuat
partikel satu per satu, berputar masing-masing dengan tumpukan matriks yang terdiri dari rotasi dan terjemahan. Tetapi karena transformasi hanya bisa dilakukan di luar bagian rendering, kita perlu untuk membuat partikel secara terpisah, dan dengan demikian menghilangkan pilihan untuk mengirim mereka dalam batch, yang selalu lebih efisien. Dengan demikian, metode yang berbeda akan digunakan. Pendekatan pertama adalah untuk menyelaraskan mereka ke kamera sendiri dengan merancang hak
dan sampai vektor, dan kemudian mendefinisikan partikel berdasarkan pada mereka. Di dunia dengan hanya yaw, vektor kanan (berkaitan dengan kamera dan layar) dapat didefinisikan sebagai titik yang tepat (cos (yaw + pi / 2), 0, sin (yaw + pi / 2));
Dan vektor up hanya
Titik up (0,1,0);
Kemudian, layar-blok billboard ukuran S pada posisi pos dapat didefinisikan sebagai
P1 = pos kanan * S * S-up;
P2 = pos + kanan * S * S-up;
P3 = pos + kanan * S + up * S;
P4 = pos kanan * S + up * S;.
 Komputasi vektor dan tepat untuk partikel. Metode ini dapat dengan mudah diperluas untuk kamera penuh dengan roll, pitch, dan yaw. Dalam hal ini, menghitung vektor diri sendiri adalah bukan ide yang baik, karena Anda bisa mendapatkannya dari modelview matriks, seperti yang ditunjukkan dalam kode berikut:
glGetFloatv (GL_MODELVIEW_MATRIX, tikar)
right.create (mat [0], tikar [4], tikar [8]);
up.create (tikar [1], tikar [5], tikar [9]);
Sebuah alternatif yang lebih baik adalah untuk membiarkan API menyelaraskan billboard menggunakan fungsi hardware. Kartu video yang paling modern dapat menangani billboard internal, sehingga semua kita melewati bus adalah koordinat partikel dan tidak banyak lagi. Kartu ini juga mengurus membangun paha depan dan membuat mereka ke layar. Ini memberikan hasil yang lebih baik karena kita menghemat sumber daya bus dan menghindari transformasi. Fungsi ini adalah
hadir di kedua OpenGL dan DirectX bawah bentuk Sprite Point. Dalam OpenGL itu adalah bagian dari sebuah ekstensi, dan DirectX itu dibangun ke API inti. Gunakan Blending Mode kekuatan ekspresif Tepat besar tersedia jika Anda belajar bagaimana untuk melepaskan itu. Banyak mode blending yang tersedia bagi Anda untuk bereksperimen dengan dan menciptakan sistem tampak unik. Dua mode dasar yang disaring dan campuran aditif. Campuran disaring didefinisikan oleh nilai-nilai alpha:
SRC_ALPHA, ONE_MINUS_SRC_ALPHA
Ini memberikan tampilan partikel semitransparan, seperti hujan. Partikel ini tidak menerangi diri, sehingga menambahkan lebih banyak lapisan tidak akan membuat adegan tampak lebih cerah. Itu dapat dicapai dengan aditif pencampuran, seperti
SRC_ALPHA, SATU
Jadi kita tidak menyaring latar belakang, tetapi menambahkan komponen kita untuk itu. Mode ini digunakan untuk apa pun yang melibatkan cahaya, api, ledakan, dan sebagainya. Hati-hati: nilai Alpha harus tetap rendah, sehingga tidak menjenuhkan gambar akhir terlalu cepat dan mempertahankan beberapa warna.
Tekstur animasi
Banyak sistem partikel perlu Anda pergi satu langkah lebih hanya menghidupkan partikel menggunakan simulator berkualitas tinggi. Bayangkan bola api, misalnya. Dinamikanya terlalu cepat dan kompleks untuk membuat setiap partikel sebagai quad statis. Dengan demikian, kita perlu menggabungkan simulator yang baik dengan partikel-tingkat animasi, sehingga setiap partikel memiliki beberapa frame animasi, biasanya disimpan dalam tekstur yang sama seperti ubin. Kemudian, partikel akan siklus
melalui frame animasi selama siklus hidupnya, membuat tampilan keseluruhan jauh lebih dinamis. Jika Anda memilih untuk mengikuti jalan ini, hanya membuat partikel yakin tidak sinkron dalam loop animasi mereka, atau efek akan benar-benar hancur. Partikel yang berbeda harus berada di frame yang berbeda dalam animasi pada suatu titik waktu tertentu.
Sistem dirantai / hirarkis
Dinamika dunia nyata sering menggabungkan beberapa tahapan untuk menciptakan ilusi komposit kompleks. Ambil ledakan diciptakan oleh penembakan roket, misalnya. Api muncul dari knalpot, dan kemudian awan besar asap dan uap air yang dihasilkan. Selain itu, partikel kecil es terpisah dari struktur utama,
mengikuti lintasan yang berbeda. Bagaimana kita bisa mencirikan itu? Apakah sistem partikel? Cukup jelas tidak, karena ada beberapa jenis partikel, masing-masing diatur oleh simulator yang berbeda dengan mesin rendering yang berbeda. Namun sistem dapat dilihat secara keseluruhan: sistem sistem partikel. Dengan demikian, kita harus merancang sistem partikel kami sehingga kami dapat agregat dan rantai mereka ke dalam kelompok. Kita perlu array sistem dan
Kebijakan pesan-passing yang memungkinkan chaining berlangsung. Sebagai contoh, itu adalah ide yang baik untuk menambahkan "memadamkan perilaku" pada partikel, yang mendefinisikan tindakan apa yang dilakukan setiap kali kita perlu respawn partikel. Perilaku ini akan kosong secara default, tapi kita bisa memutuskan untuk membuat sebuah partikel dari jenis yang berbeda dari satu ini memadamkan. Pikirkan elemen api yang, setelah kehancuran, memicu asap
sistem. Ini jenis arsitektur keseluruhan diperlukan untuk menciptakan efek lebih kaya.
Parameter visual Fungsi Waktu Semua parameter visual fungsi waktu. Lihatlah api, misalnya. Api inti biasanya biru, dan ketika bergerak menjauh, ternyata kuning, kemudian putih, dan perlahan-lahan lenyap. Sistem partikel realistis perlu parameter timevarying. Warna dan alpha yang jelas, tetapi ada orang lain. Spin (kecepatan rotasi), bingkai dalam tekstur animasi, dan sebagainya menciptakan efek yang jauh lebih meyakinkan jika waktu yang dimasukkan ke dalam persamaan. Jika setiap partikel memiliki kurva waktu-respon yang sedikit berbeda, efek yang benar-benar akan meningkatkan.
Beberapa Catatan tentang Arsitektur
Beberapa cara akal sehat coding sistem partikel telah berevolusi selama bertahun-tahun. Pada dasarnya, dua "pola" yang ada, yang cocok dalam skenario yang berbeda. Pada salah satu ujung spektrum, beberapa tim kode sistem partikel sebagai hirarki kelas, jadi kami memiliki kelas "particlesystem" abstrak, dari mana kelas sistem partikel tertentu akan diturunkan melalui warisan. Particlesystem akan mendeklarasikan anggota virtual seperti recalc dan render, yang akan disediakan oleh setiap sistem individu atau bahkan oleh partikel
kelas itu sendiri. Berikut adalah contoh dibangun menggunakan teknik ini:
kelas particlesystem
{
publik:
titik posisi;
partikel * data;
int numparticles;
/ / Metode dieksekusi dari particlesystem kelas dasar
membatalkan menciptakan (int, point); / / menciptakan sistem N partikel
batal recalc (); / / recalcs semua partikel
/ / Metode yang akan didefinisikan oleh kelas tertentu
cat virtual void (); / / cat partikel N.
virtual void respawn (int); / / re-menghasilkan partikel i
kekosongan maya mempengaruhi (int); / / menghitung interaksi partikel i dengan
lingkungan
};
Curah hujan kelas: particlesystem publik
{
publik:
/ / Params tertentu
Titik throwv;
titik pos;
mengapung initvel;
int texid;
maxttl ganda;
minttl ganda;
maxvel ganda;
minvel ganda;
xrand ganda;
yrand ganda;
zrand ganda;
ganda movx;
ganda movz;
warna Ocol;
warna fcol;
angin titik;
ganda kepadatan;
curah hujan (): particlesystem () {}
/ / Ditulis ulang metode
loadparams kekosongan maya (char *, point);
virtual void respawn (int);
virtual void mempengaruhi (int);
void paint virtual ();
}; Menggunakan pendekatan ini memungkinkan kita untuk mengatur semua sistem di dunia game dalam array dan mengaksesnya linear menggunakan antarmuka umum. Setiap sistem masih bisa berbeda, dari parameter ke simulator fisika. Tapi semua detail yang tersembunyi dari programmer, yang bisa mengaksesnya menggunakan antarmuka homogen. Sistem partikel hirarkis, menunjukkan abstrak dan filosofi classes.Another diturunkan adalah untuk menciptakan mendalam, kompleks partikel kelas sistem, di mana sistem individu hanyalah obyek data-driven yang parameterisasi kelas dalam banyak cara. Dalam kasus ini, kita akan memiliki parameter yang akan menentukan hampir segala sesuatu, karena semua sistem partikel dalam permainan kami akan dilaksanakan di kelas yang sama. Kita akan membutuhkan nilai Boolean untuk menghidupkan atau mematikan pasukan khusus, koordinat tekstur, dan sebagainya.
Keuntungan dari metode kedua ini adalah kesederhanaan. Setelah semua, banyak sistem partikel dapat diimplementasikan dari bagian utama kode, mungkin menggunakan beberapa saklar konstruksi sepanjang jalan untuk memilih parameter seperti jenis emitor atau kecepatan, dan seterusnya. Keuntungan lain adalah bahwa Anda dapat membuat alat editing grafis yang memungkinkan Anda untuk parameterisasi objek sistem partikel, dan dengan demikian mudah menguji ide-ide baru sistem partikel dari perspektif pengembang artis / konten. Pada akhirnya, perbedaan terletak tidak begitu banyak dalam kecepatan mentah, karena kedua metode memiliki kelebihan dan kekurangan dalam hal ini. Ini lebih merupakan masalah apa yang Anda inginkan. Artinya, apakah Anda ingin banyak sistem
yang sangat berbeda satu sama lain dan berbagi hampir tidak ada kode sama sekali, atau sistem di mana kita dapat mendaur ulang sebagian besar sumber, dan dengan demikian dapat diimplementasikan dalam satu file yang dapat sangat parameterized?
Teknik Speed-Up
Setiap hardware dikutuk menjadi kinerja terbatas, sehingga tujuan sistem kami 'harus cukup terbatas. Tapi kadang-kadang kita bisa mencapai yang lebih tinggi dan lebih cepat dengan perencanaan yang cermat dan analisis dari sistem kita ke model. Banyak teknik dapat digunakan untuk mempercepat perhitungan kami, dan dengan demikian memungkinkan kita untuk dapat membuat unik, sistem partikel yang kompleks. Pada bagian ini, saya akan detail berbagai tips dan trik yang dapat
kalikan kekayaan dan kualitas hasil Anda. Catatan, bagaimanapun, bahwa tidak ada peluru perak dalam nasihat ini. Hanya pengetahuan yang mendalam tentang apa yang Anda pemodelan dapat membantu Anda menentukan mana dari teknik ini mungkin bekerja terbaik bagi Anda. Hindari Malloc dan Gratis
Optimasi pertama untuk sistem partikel didasarkan pada pengamatan bahwa mengalokasikan dan membebaskan memori adalah proses yang lambat. Dengan demikian, panggilan ke rutinitas manajemen memori di dalam loop sistem harus dihindari sebisa mungkin. Meskipun manajer memori yang sangat efisien memiliki overhead yang signifikan untuk setiap alokasi
atau dealokasi memori. Mereka harus memindai blok bebas dari memori, pilih yang paling cocok (sesuai dengan kebijakan yang berbeda), dan sebagainya. Jadi, mengambil beberapa waktu untuk merencanakan kode Anda adalah cara terbaik untuk mencapai kinerja puncak. Misalnya, membebaskan memori setiap kali sebuah partikel mati (atau mengalokasikan lebih banyak memori untuk partikel baru lahir) dapat memiliki hit kinerja yang signifikan, terutama dalam sistem-sistem dengan nomor partikel besar atau masa hidup yang pendek. Sebuah alternatif untuk malloc dan bebas (atau baru dan menghapus, jika Anda berbaring di C + + tanah) harus ditemukan untuk menghindari biaya mereka. Pendekatan termudah adalah untuk memetakan sistem kami untuk array statis partikel. Kemudian, setiap kali partikel terbunuh, kita akan menandainya (menggunakan satu bendera Boolean). Dengan cara ini rutin penghapusan dapat dilewati.
Kita tidak perlu mengalokasikan memori untuk partikel baru setiap saat. Mereka ditempatkan di posisi array yang sama sebagai partikel mati sebagai gantinya. Dengan menggunakan teknik ini, sistem partikel dapat berisi sejumlah konstan partikel, menghindari panggilan ke malloc dan bebas. Dari pembahasan sebelumnya, Anda mungkin berpikir kita perlu loop array untuk menentukan di mana untuk menempatkan sebuah partikel baru lahir. Tapi itu tidak perlu terjadi. Satu loop dapat menghitung ulang, membunuh, dan respawn secara efisien. Berikut adalah ide kode:
untuk setiap partikel dalam sistem
jika partikel sudah mati
respawn partikel [i]
lain
recalc partikel [i]
end if
end untuk
Indexing spasial
Pengindeksan spasial (dijelaskan secara rinci dalam Bab 4, "Design Patterns") memungkinkan kita untuk dengan cepat melakukan query yang harus dilakukan dengan lokasi spasial. Tes seperti menghitung jarak dari satu titik ke titik satu set objek, memilih pasangan terdekat dalam satu set spasial, dan sebagainya dapat dipercepat jauh dengan menggunakan mereka. Jadi, dengan menggunakan indeks spasial harus memungkinkan kita untuk mempercepat sistem partikel global yang signifikan. Ingat bahwa, pada dasarnya, sistem partikel dengan efek global memiliki biaya terburuk O (# partikel ^ 2) ini berasal dari fakta bahwa setiap partikel harus diuji terhadap orang lain untuk memperhitungkan saling ketergantungan. Jadi, indeks spasial memungkinkan kita untuk melacak hubungan tetangga, mengurangi biaya untuk O (# partikel * k) di mana k adalah konstanta yang tergantung pada kualitas indeks spasial.
Misalnya, untuk grid, 2D
sistem dengan distribusi homogen dari partikel, kita memiliki K = # partikel / (Xs * Zs) di mana Xs dan Zs adalah jumlah sel dalam grid di X dan Z masing-masing. Jelas, kotak halus dapat membantu banyak dalam mengurangi biaya perhitungan kembali sistem partikel.
LOD Sistem Partikel
Sistem partikel sering terdiri dari beberapa ratusan atau ribuan elemen, masing-masing membutuhkan update dinamis. Selain itu, metode yang digunakan untuk membuat mereka sering mahal (alpha blending, multipass teknik). Tapi kita bisa mencapai perbaikan yang signifikan dalam kinerja dengan menggunakan tingkat-of-detail (LOD) paradigma.
Bayangkan segumpal asap dari api unggun dimodelkan menggunakan teknik partikel. Dilihat dari kejauhan, kita mungkin dapat melewatkan beberapa perhitungan dan masih mendapatkan hasil yang realistik. Kemudian, seperti yang kita bergerak lebih dekat, dan lebih partikel lebih dapat melahirkan, dan model interaksi yang lebih baik dapat diterapkan untuk realisme ekstra. Jelas, sistem harus hati-hati diuji untuk memastikan konsistensi visual yang sepanjang pendekatan. Tapi
kinerja ditambahkan kemungkinan akan mengkompensasi artefak kecil yang mungkin muncul.
Sekarang, mari kita lihat sistem partikel LOD secara umum. Jelas, ada dua daerah kita dapat bekerja pada segi LODs. Pertama, kita bisa mencoba untuk mengoptimalkan kode rendering. Kedua, kita bisa mencoba untuk mengoptimalkan recalc / respawn lingkaran.
Mengoptimalkan kode render untuk sistem partikel bisa rumit. Selain itu, mengingat kecepatan akselerator saat ini di pasar, render biasanya tidak kemacetan. Memperbarui partikel dan membuat yang baru dengan yang lama mati secara signifikan lebih mahal. Jadi, saya akan berkonsentrasi pada teknik kedua.
Mengoptimalkan recalc () dengan cara LODs relatif sederhana. Kita hanya perlu mendefinisikan apa yang akan bervariasi tergantung pada jarak / resolusi dan bagaimana hal itu akan bervariasi. Teknik termudah adalah dengan memvariasikan jumlah partikel, interpolasi dari sistem partikel dasar dengan hanya beberapa partikel ketika kita berada jauh, ke sistem fullblown ketika kita dekat. Urutan kita akan mengikuti akan
1. Hitung jumlah ideal partikel tergantung jarak.
2. Hitung Ulang partikel yang ada.
3. Jika partikel mati, respawn hanya jika kita berada di bawah jumlah partikel yang ideal kita.
4. Jika kita masih di bawah jumlah partikel yang ideal kita, memindai partikel kosong di array untuk respawn sesuai.
Jadi, kita memiliki ukuran sistem ideal yang kita berkumpul di dengan cara tidak partikel respawning (untuk mengurangi ukuran) atau dengan membuat yang baru (untuk meningkatkan detail). Sebuah peringatan pada teknik ini adalah bahwa ia memerlukan kecepatan pemirsa menjadi lambat dibandingkan dengan frekuensi respawn partikel. Sebagai counterexample, bayangkan simulator jet tempur di mana kita menggunakan teknik ini untuk mensimulasikan asap berasal dari ledakan tanah. Pesawat "melihat" sistem partikel lima mil di depan, di mana terdiri dari
hanya sekitar 10 partikel. Karena jet tempur sangat cepat, dan bulu-bulu asap relatif kecil, pesawat bisa mendekati terlalu cepat untuk sistem untuk membuat partikel baru, menghasilkan sistem yang buruk yang tampak. Cara lain untuk mengoptimalkan recalculations melibatkan menyederhanakan perhitungan dalam dilakukan untuk setiap partikel. Beberapa sistem menghitung persamaan yang kompleks untuk memastikan tampilan fisik dan visual yang benar. Tapi untuk
sistem yang jauh, beberapa perhitungan dapat dimatikan, sehingga menghemat siklus clock berharga. Saya akan memberikan dua contoh di sini.
Bayangkan sebuah sistem partikel berbasis fisik, seperti bulu asap berinteraksi dengan angin. Pada dasarnya, bulu-bulu naik menggunakan gelombang sinus untuk menggantikan di X dan Z, dan beberapa kebisingan Perlin ditambahkan ke dalam campuran untuk memberikan bagus, berputar-putar kaya. Pengaruh Kebisingan meningkat dengan tinggi, sehingga bagian atas bulu-bulu lebih kacau. Tapi ingat bahwa kebisingan Perlin adalah fungsi mahal: Setiap penilaian membutuhkan matematika trivial seperti
interpolasi trilinear dan interpolators Linear Bulat (SLERPs). Jelas, bukan jenis matematika yang ingin Anda lakukan berdiri lima mil jauhnya dari sistem. Jadi, keputusan kami bisa untuk mematikan suara Perlin dengan jarak. Sebuah contoh yang berbeda akan menjadi sistem partikel global atau interaktif, di mana setiap partikel berinteraksi dengan
orang lain atau dengan lingkungan untuk menciptakan perilaku yang kompleks. Sering kali, interaksi interparticle memberikan detail halus, seperti tabrakan partikel, atraksi, dan tolakan: daun jatuh dan bertabrakan dengan satu sama lain, hujan bertabrakan dengan skenario, dan sebagainya. Di sisi lain, mereka sangat mahal. Ingat bahwa partikel klasik recalc lingkaran memiliki biaya O (jumlah partikel) Tapi sistem interaktif menimbulkan bahwa untuk O (# partikel * # dari interactors) Kita telah melihat bagaimana teknik pengindeksan spasial dapat digunakan untuk mengurangi anggota kedua biaya
persamaan. Tapi banyak perhitungan global atau interaktif dapat diperkecil (atau bahkan dihilangkan) dengan jarak. Hal ini tidak mungkin bahwa penonton akan melihat jika daun tidak bertabrakan ketika berdiri cukup jauh dari sistem.

Shader Berbasis Sistem Partikel sistem partikel adalah untuk mengimplementasikan simulator fisika mahal di shader (shader yang dibahas dalam Bab 21, "Teknik Prosedural"), sehingga dapat dijalankan secara paralel ke CPU. Hal ini menyebabkan beberapa pembatasan pada apa yang sebenarnya dapat dihitung, tetapi kebanyakan efek dapat dicapai dengan cara ini. Shader adalah subjek maju, dan meliputi mereka di sini akan mengganggu struktur buku. Tapi bagian yang lengkap pada sistem partikel dan shader dapat ditemukan di Bab 21. Saya sarankan Anda menelusuri bagian tersebut untuk belajar bagaimana untuk mempercepat perhitungan sistem partikel menggunakan shader.





referensi : http://hafizh130493.blogspot.com

Minggu, 05 Mei 2013

VIRUS PADA KOMPUTER

Pengertian virus komputer

Virus komputer adalah sebuah program berukuran kecil yang dibuat dengan tujuan disebarkan untuk mengganggu proses-proses yang dikerjakan komputer.

Ada berbagai cara penyebaran virus komputer. Cara yang paling umum adalah melalui peralatan yang pernah berhubungan dengan komputer yang terkena virus. Misalnya: Flashdisk.

Ada juga virus yang menyebar melalui email. Penyebaran dengan cara ini biasanya akan menyamarkan virus sebagai dokumen lampiran email.

Ada lagi virus komputer yang menyebar lewat chatting. Biasanya orang yang hendak menyebarkan virus, akan mengirim pesan chatting berupa link.

Cara lainnya, virus komputer bisa juga menyebar melalui website-website bervirus. Ketika Anda membuka website tersebut, komputer Anda akan langsung terinfeksi virus.
Dampaknya bagi komputer Anda

Dampak virus komputer bermacam-macam. Ada yang ringan ada juga yang berat.

Dampak ringan, misalnya saja, ruang harddisk komputer Anda akan berkurang secara cepat. Padahal Anda tidak pernah menyimpan atau mendownload apa pun. Hal ini disebabkan oleh virus komputer yang terus menerus menggandakan diri sehingga ruang hard disk cepat habis. Selain itu virus juga dapat menyebabkan komputer lambat.

Dampak berat, misalnya, komputer Anda tidak bisa masuk ke sistem operasinya. Hanya DOS. Ini akan sangat mengganggu untuk seorang pengguna komputer awam.

Ada juga dampak yang sangat parah, yaitu data-data penting Anda terhapus. Apa lagi yang lebih parah daripada hal tersebut? Semua jerih payah Anda, pekerjaan Anda, rusak atau bahkan lenyap karena virus.

WORM

Suatu program yang didesain menyerupai virus dan mampu menduplikasi diri sendiri dari satu PC ke PC yang lain, dimana worm tersebut sedemikian automatisnya sehingga mampu mengambil alih kontrol pada feature2 yang ada didalam PC dengan cara bergerak dalam file atau informasi. Sekali terdapat worm di didalam sistem kita, dia akan menjelajah sendiri. Bahaya terbesarnya adalah kemampuannya untuk menduplikasikan diri dalam volume yang besar. Sebagai contoh worm dapat mengirimkan copy dari diri sendiri kepada masing-masing orang yang terdapat dalam email address book kita, dan PC mereka akan melakukan hal yang sama. Penyebab dari itu semua berujung pada traffic network yang berat yang mengakibatkan network bisnis dan internet menurun secara keseluruhan

TROJAN

Suatu PC program yang kelihatannya seperti software biasa namun disatu sisi program tersebut dapat melumpuhkan security dalam suatu program yang lain sehingga menyebabkan kerugian bahkan kerusakan yang besar. Biasanya trojan disebut pula Spy Ware. Trojan biasanya terdapat didalam email dalam bentuk attachment yang mengklaim diri sebagai security update tapi berubah menjadi virus yang dapat merusak program. Trojan menyebar pada saat kita membuka suatu program karena biasanya program tersebut berasal dari sumber terpercaya. Trojan juga terdapat didalam software yang biasa kita download secara free.

Jenis-Jenis Virus Secara Umum

Saat ini banyak jenis variasi virus yang beredar, kebanyakan diantaranya dapat dikelompokkan menjadi enam kategori umum, dimana tiap jenis sedikit berbeda cara kerjanya:

Virus boot-sector:

Memasukkan dirinya ke dalam boot-sector--sebuah area pada hard drive (atau jenis disk lainnya) yang akan diakses pertama kali saat PC dinyalakan. Virus jenis ini dapat menghalangi PC Kita untuk melakukan booting dari hard disk.

Virus file:

Menginfeksi aplikasi. Virus ini melakukan eksekusi untuk menyebarkan dirinya pada aplikasi dan dokumen yang terkait dengannya saat file yang terinfeksi dibuka atau dijalankan.

Virus makro:

Ditulis dengan menggunakan bahasa pemrograman makro yang disederhanakan, dan menginfeksi aplikasi Microsoft Office, seperti Word dan Excel, dan saat ini diperkirakan 75 persen dari jenis virus ini telah tersebar di dunia. Sebuah dokumen yang terinfeksi oleh virus makro secara umum akan memodifikasi perintah yang telah ada dan banyak digunakan (seperti perintah "Save") untuk memicu penyebaran dirinya saat perintah tersebut dijalankan.

Virus multipartite:

Menginfeksi baik file dan boot-sector--sebuah penjahat berkedok yang dapat menginfeksikan sistem kita terus menerus sebelum ditangkap oleh scanner antivirus.

Virus polymorphic:

Akan mengubah kode dirinya saat dilewatkan pada mesin yang berbeda; secara teoritis virus jenis ini lebih susah untuk dapat dideteksi oleh scanner antivirus, tetapi dalam kenyataannya virus jenis ini tidak ditulis dengan baik, sehingga mudah untuk diketahui keberadaannya.

Virus stealth:

Menyembunyikan dirinya dengan membuat file yang terinfeksi tampak tidak terinfeksi, tetapi virus jenis ini jarang mampu menghadapi scanner antivirus terbaru.

Blaster
Sebuah kode/program kecil yang membuat windows tersebut menjadi musuh dari windows yang lain. Blaster biasanya menyerang port 135 RPC (remote procedure call) salah satu komponen pada windows selain menyerang port 135 RPC, Blaster merupakan worm virus yang menyerang langsung pengguna PC (user). Penyebaran Blaster melalui pencarian port 135 RPC.

Cara mengatasinya :

Memfungsikan Firewall

Menginstal ”required update” dari security updates microsoft yang direlease dengan kode update 823980

Mengecek dan membuang nachi.


Sasser

Secara definisi sama dengan blaster dan nachi hanya beda cara menyerangnya dimana sasser menyerang LSASS (Local Security Authority Subsystem Service) yaitu lisensi windows atau protokol lisensi window. Penyebarannya melalui TCP Port 445 (netbios) yang ada di PC, dimana bila ada kelemahan pada TCP port 445 tersebut akan diserang, sama halnya dengan Blaster dan Nachi, Sasser juga merupakan worm virus yang menyerang langsung pengguna PC (user).

Cara mengatasinya :

Memfungsikan Firewall

Menginstal ”required update” dari Microsoft Security Bulletin MS04 – 011

Secara otomatis mengecek dan membuang sasser


Mydoom

Virus yang menyerang ke luar PC user/ke arah jaringan dapat juga menyerang ke site2 internet sebagai contoh IBM SCO Unix, dengan cara mengirimi paket WWW, Penyebarannya melalui Email dan yang diserang adalah mail server.


Cara mengatasinya :

Menginstall dan memfungsikan Firewall

Mengecek dan membuang mydoom


Bagaimana PC Kita Dapat Terkena Virus?

PC Kita dapat terinfeksi virus pada saat :

Kita menyalin ataupun mendownload sebuah file yang terinfeksi virus ke dalam PC kita maupun melalui floppy disk yang sering dipinjam-pinjamkankan.

Kita menerima email dari internet yang terdapat attachment didalamnya yang terinfeksi virus, karena dengan meningkatnya pemakai internet, maka trend penyebaran virus adalah melalui attachment email.

Kita membuka file/aplikasi, file/aplikasi tersebut error, dimana selain error file/aplikasi tersebut tidak jalan dan tidak dapat dibuka.

PC kita pada saat hendak dihidupkan dengan tiba-tiba men”shut down” dengan sendirinya

Kita banyak mendapat file-file yang tidak kita kenal

Jaringan LAN ataupun jaringan WAN di kantor kita tiba-tiba menjadi lambat sehingga memakan waktu yang cukup lama.

Ada beberapa file di dalam PC kita yang hilang dan hard disk mendadak menjadi penuh serta performansinya menjadi lambat (memorinya)

referensi:
http://www.kompinia.com
http://www.wejangan.com

Sabtu, 04 Mei 2013

CYBERCRIME

Tahukah anda tentang cybercrime? disini saya akan sedikit membahas tentang cybercrime.

Kejahatan dunia maya (Inggris: cybercrime) adalah istilah yang mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer menjadi alat, sasaran atau tempat terjadinya kejahatan. Termasuk ke dalam kejahatan dunia maya antara lain adalah penipuan lelang secara online, pemalsuan cek, penipuan kartu kredit/carding, confidence fraud, penipuan identitas, pornografi anak, dll.

Walaupun kejahatan dunia maya atau cybercrime umumnya mengacu kepada aktivitas kejahatan dengan komputer atau jaringan komputer sebagai unsur utamanya, istilah ini juga digunakan untuk kegiatan kejahatan tradisional di mana komputer atau jaringan komputer digunakan untuk mempermudah atau memungkinkan kejahatan itu terjadi.

Contoh kejahatan dunia maya di mana komputer sebagai alat adalah spamming dan kejahatan terhadap hak cipta dan kekayaan intelektual. Contoh kejahatan dunia maya di mana komputer sebagai sasarannya adalah akses ilegal (mengelabui kontrol akses), malware dan serangan DoS. Contoh kejahatan dunia maya di mana komputer sebagai tempatnya adalah penipuan identitas. Sedangkan contoh kejahatan tradisional dengan komputer sebagai alatnya adalah pornografi anak dan judi online. Beberapa situs-situs penipuan berkedok judi online termasuk dalam sebuah situs yang merupakan situs kejahatan di dunia maya yang sedang dipantau oleh pihak kepolisian dengan pelanggaran pasal 303 KUHP tentang perjudian dan pasal 378 KUHP tentang penipuan berkedok permainan online dengan cara memaksa pemilik website tersebut untuk menutup website melalui metode DDOS website yang bersangkutan, begitupun penipuan identitas di game online hanya mengisi alamat identitas palsu game online tersebut bingung dengan alamat identitas palsu karena mereka sadar akan berjalannya cybercrime jika hal tersebut terus terus terjadi maka game online tersebut akan rugi/bangkrut.

dalam aspek cybercrime sendiri terbagi lima aspek, yaitu:
a. Ruang lingkup kejahatan.
b. Sifat kejahatan.
c. Pelaku kejahatan.
d. Jenis kejahatan
e. Dapak kerugian yang ditimbulkan.

Dari lima aspek tersebut, cyber crime dapat juga dikelompokkan menjadi:
a. Cyberpiracy: penggunaan teknologi computer untuk mencetak ulang software atau informasi, lalu mendistribusikan informasi dan software tersebut lewat teknologi computer. Contoh: pembajakan software legal.
b. Cybertrespass: penggunaan teknologi computer untuk meningkatkan akses pada system computer suatu organisasi atau individu. Contoh: hacking.
c. Cybervandalism: penggunaan teknologi computer untuk membuat program yang mengganggu proses transmisi elektronik, dan menghancurkan data di system computer. Contoh: virus, Trojan, worm, metode DoS, Http Attack, BruteForce Attack, dll.

Dari pengelompokkan kejahatan dunia maya di atas kita dapat mengetahui jenis-jenis cybercrime berdasarkan jenis aktivitas, yaitu:
a. Berdasarkan jenis aktivitas yang dilakukan, cybercrime dapat digolongkan menjadi beberapa jenis sebagai berikut.
    • Unauthorized Access: merupakan kejahatan yang terjadi ketika seseorang memasuki atau menyusup ke dalam suatu system jaringan computer secara tidak sah, tanpa izin, atau tanpa sepengetahuan dari pemilik system ajringan computer yang dimasukinya. Contoh: Probing dan port.
    • Illegal Contents: merupakan kejahatan yang dilakukan dengan memasukkan data atau informasi ke internet tentang suatu hal yang tidak benar, tidak etis, dan dapat dianggap melanggar hokum atau mengganggu ketertiban umum. Contoh: penyebaran pornografi.
    • Penyebaran virus secara sengaja: dilakukan dengan menggunakan email.
    • Data Forgery: dilakukan dengan tujuan memalsukan data pada dokumen-dokumen penting yang ada di internet.
    • Cyber Espionage, Sabotage, and Extortion
      Cyber Espionage merupakan kejahatan yang memanfaatkan jaringan internet untuk melakukan kegaitan mata-mata tehadap pihak lain dengan memasuki system jaringan computer pihak sasaran. Sabotage and Extortion merupakan jenis kejahatan yang dilakukan dengan membuat gangguan, perusakan atau penghancuran terhadap suatu data, program computer atau system jaringan computer yang terhubung dengan internet.
    • Cyberstalking: jenis ini dilakukan untuk mengganggu atau melecehkan seseorang dengan memanfaatkan computer. Misalnya menggunakan email dan dilakukan berulang-ulang.
    • Carding: merupakan kejahatan yang dilakukan untuk mencuri nomor kartu kredit milik orang lain dan digunakan dalam transaksi perdagangan internet.
    • Hijacking: merupakan kejahatan melakukan pembajakan hasil karya orang lain. Contoh: Software Piracy (pembajakan perangkat lunak).
    • Cyber Terorism: jika mengancam pemerintah atau warga Negara.
b. Berdasarkan motif kegiatan yang dilakukannya, yaitu:
    • Cybercrime sebagai tindakan murni criminal: merupakan tindak criminal yang dilakukan karena motif kriminalitas. Jenis ini biasanya menggunakan internet hanya sebagai sarana kejahatan. Contoh: Carding, yaitu pencurian nomor kartu kredit milik orang lain untuk digunakan dalam transaksi perdagangan di internet.
    • Cybercrime sebagai kejahatan “abu-abu”. Contoh: probingatau portscanning, yaitu suatu tindakan pengintaian terhadap system milik orang lain dengan mengumpilkan informasi sebanyak-banyaknya dari system yang diintai, termasuk system operasi yang digunakan, port-port yang ada baik yang terbuka maupun tertutup.
c. Berdasarkan sasaran kejahatan, yaitu:
    • Cybercrime yang menyerang individu (Against Person), Jenis kejahatan ini, sasaran serangannya ditujukan kepada perorangan atau individu yang memiliki sifat atau kriteria tertentu sesuai tujuan penyerangan tersebut. Contoh: pornografi, Cyberstalking, Cyber-Tresspass.
    • Cybercrime menyerang hak milik (Againts Property), Cybercrime yang dilakukan untuk mengganggu atau menyerang hak milik orang lain. Contoh: pengaksesan computer secara tidak sah melalui dunia cyber, pemilikan informasi elektronik secara tidak sah, dll.
    • Cybercrime menyerang pemerintah (Againts Government), Kejahatan ini dilakukan dengan tujuan khusus penyerangan terhadap pemerintah. Contoh: cyber terrorism sebagai tindakan yang mengancam pemerintah termasuk juga cracking ke situs resmi pemerintah atau situs militer.
d. Berdasarkan computer sebagai alat,yaitu spamming dan kejahatan terhadap hak cipta dan kekayaan intelektual.
e. Berdasarkan computer sebagai sasarannya adalah akses illegal (mengelabui control akses), malware dan serangan DoS.
f. Berdasarkan computer sebagai tempatnya, yaitu penipuan identitas.
g. Berdasarkan kejahatan tradisional dengan computer sebagai alatnya, yaitu pornografi anak dan judi online.


Berikut merupakan cara menangani cybercrime :

1.     Mengamankan e-mail
    E-mail adalah salah satu alat penyerangan yang paling sering digunakan. Banyak sekali, modus penipuan yang dilakuakn melalui e-mail palsu. Untuk itu ada baiknya para pengguna komputer agar lebih jeli ketika menerima email.
2.     Membuat salinan/backup
          Ada baiknya para pengguna komputer membuat salinan dari dokumen pribadinya, entah itu foto, musik, atau yang lainnya. Hal tersebut sangat berguna jika terjadi pencurian data atau kesalahan sistem.
    Mencari informasi Memantau perkembangan informasi pada salah satu penyedia jasa layanan kemanan internet juga diperlukan, salah satunya adalah pada National Cyber Alert System yang berasal dari Amerika. Dengan informasi yang didapat, pengguna diharapkan dapat mengetahui jenis pennyerangan yang sedang marak terjadi.
3.      Melindungi komputer
          Hal paling mendasar yang dapat dilakukan pengguna komputer untuk menjaga keamanan adalah dengan menggunakan tiga teknologi murah: aplikasi anti virus, aplikasi anti-spyware dan firewall. Bahkan, beberapa perusahaan penyedia jasa keamanan internet, ada yang telah menyediakan ketiga aplikasi tersebut dalam satu paket murah yang mudah digunakan.
4.      Melindungi anak-anak
          Anak-anak adalah sasaran yang paling rentan di dunia maya. Memantau kegiatan mereka ketika sedang online mutlak dibutuhkan, untuk memudahkannya telah tersedia aplikasi yang akan membantu anada utuk melindungi sang buah hati.
5.      Selalu up-to-date
           Penyerangan melalui internet banyak sekali yang memanfaatkan 'celah' pada sistim komputer Anda. Untuk itu, update harus sering dilakukan. Dan untuk memudahkan penggunanya, beberapa aplikasi telah menyediakan fitur update berkala secara otomatis.
6.      Melindungi akun pribadi
          Lindungilah akun pribadi Anda dengan menggunakan password yang sulit. Hal tersebut merupakan tindakan cerdas guna menghindari pencurian data.
7.      Tentukan pilihan
          Jika sesutu terjadi dan Anda membutuhkan pertolongan, pastikan Anda memilih layanan yang tepat yang dapat membantu Anda.
8.      Ikut melibatkan instansi pendidikan
    Ikut berpartisipasi melalui instansi pendidikkan seperti sekolah, guna memperkenalkan kepada siswa perihal mengenai keamanan internet. Materi yang ingin disampaikan pun dapat diunduh melalui beberapa situs penyedia jasa keamanan internet.
9.      Menjaga kerahasiaan identitas
          Jangan pernah untuk mengumbar data pribadi anda di Internet. Baik itu, nomor kartu tanda penduduk, tanggal lahir, dan lain-lain. Karena hal tersebut sangat berharga dan dapat disalahgunakan.



referensi : 
http://id.wikipedia.org
http://arhamulwildan.blogspot.com
http://blogsprs.blogspot.com

Senin, 22 April 2013

Pengenalan Game Engine

Pengertian Game Engine 
Game engine (bahasa Indonesia: mesin permainan) adalah sebuah sistem software yang dirancang untuk pembuatan dan pengembangan suatu video game. Ada banyak sekali game engine yang dirancang untuk bekerja pada beberapa konsol video game dan sistem operasi desktop seperti Microsoft Windows, Linux dan Mac OS X. Fungsi utama yang secara khusus disediakan oleh game engine meliputi mesin render (renderer) untuk grafik 2D atau 3D, mesin fisika, deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen momori, threading, dukungan lokalisasi dan layar grafik. Proses pembuatan game seringkali dihemat oleh sebagian besar developer dengan menggunakan kembali game engine yang sama untuk membuat game yang berbeda.

Tipe-Tipe Game Engine
Tipe dari game engine adalah :
  1. Roll-your-own game engine
  2. Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari  sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.
  3. Mostly-ready game engines
  4. Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.
  5. Point-and-click engines
  6. Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget.  Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.
Contoh Game Engine
Berbayar :
  • Alamo
  • A.L.I.V.E
  • BigWorld
  • DXStudio
  • Dunia Engine
  • Euphoria
  • GameStudio
  • Jade Engine
  • Jedi
  • Medusa
  • RPG Maker VX
  • RPG Maker XP
  • RPG Maker 2003
  • RPG Maker 95
  • Vision Engine
  • Visual3d
Freeware :
  • Blender
  • Golden T Game Engine (GTGE)
  • DXFramework
  • Ogre
  • Aleph One
  • Axiom Engine
  • Allegro Library
  • Box2D
  • Build Engine
  • Cube
  • Cube 2
  • DarkPlaces
  • jMonkeyEngine (jME)
  • Panda3D
  • Pipmak Game
  • Unity
referensi : en.wikipedia.org

Peran Game Designer dalam Pengembangan Game

Banyak orang mengira kalau proses pembuatan game hanya melibatkan programmer dan artist saja. Artist bertugas menggambar dan membuat musik yang nantinya akan menjadi bahan dasar programmer dalam membuat game.Penggambaran seperti itu pada dasarnya merupakan generalisasi peran dalam proses pengembangan game. Banyak sekali peran dalam pengembangan game dari proses perencanaan, sampai proses peluncuran game dan maintenance. Dan peran-peran itu tidak selalu berkaitan dengan bidang ilmu desain dan pemrograman saja.
Dalam artikel ini akan disebutkan beberapa peran dalam proses pengembangan game menurut artikel pada Gamecareerguide. Yang perlu diperhatikan, peran-peran yang disebutkan belum mencakup semua peran dalam pengembanan game karena jumlah peran itu banyak sekali.
1. Animator
Jika sesuatu bergerak dalam game, maka “sesuatu” itu harus dianimasikan. Animator bertugas “menggerakkan” benda-benda yang perlu bergerak dalam game. Mereka juga bertanggungjawab pada cut-scene, lip-sync, sprite karakter dan efek-efek visual dalam game.
2. Visual Artist
Jika animator berperan dalam membuat sesuatu yang bergerak, maka visual artist berperan dalam membuat benda-benda yang diam. Dari konsep karakter, tampilan “dunia” dalam game, sampai tampilan antar muka dalam game. Biasanya mereka juga membuat konsep gambar pada pre-produksi ketika membuat proposal untuk dikirim ke penerbit game (atau disebut dengan proses “Pitch”).
3. Audio Composer
Seperti namanya, composer bertugas memberi suara pada game. Suara ini dibagi menjadi dua, yaitu BGM (background music) dan SFX (sound efek). BGM merupakan musik latar pada game dan SFX merupakan suara-suara seperti suara menekan tombol, suara ketika melakukan aksi, dll.
4. Game Designer
Game designer terlibat dalam berbagai macam aspek dalam pengembangan game. Tugasnya antara lain mendesain cerita dalam game, bagaimana pemain mengkontrol karakter dalam game, nama level, judul game, aturan main dalam game, mendesain level, dan lain-lain.
5. Staf Produksi
Staf produksi merupakan pemimpin proyek dalam pengembangan game. Mereka memastikan bahwa game tidak overbudget dan selesai tepat waktu. Mereka aktif berkomunikasi dengan tiap peran yang lain untuk memastikan bahwa pekerjaan mereka tidak ada masalah.
6. Programming
Semua yang ada pada game membutuhkan program agar berfungsi sebagaimana mestinya. Inilah makanan programer sehari-hari. Selain membuat program untuk game, pada proyek game dengan skala menengah ke atas kadang programmer membuat tool untuk membantu artist membuat efek-efek pada game.
7. Quality Assurance
QA betanggung jawab terhadap kualitas produk. Selain menguji game, mereka juga membantu menyeimbangkan tingkat kesulitan pada game, memeriksa tutorial dan antarmuka, juga misalnya jika game tersedia dalam bahasa lain.

Selain peran-peran diatas, banyak peran lain yang belum disebut seperti manajer komunitas, PR, marketing, dan lain-lain. Pada rumah produksi game skala kecil, banyak yang merangkap peran-peran diatas, seperti programmer, desain, dan produksi dijadikan satu, atau artist dan animator dijadikan satu. Cara seperti ini memiliki keuntungan dan kerugian sendiri-sendiri. Keuntunganya adalah tidak ribet, dan membutuhkan lebih sedikit sdm. Kerugianya adalah jumlah pekerjaan yang banyak untuk setiap yang merangkap sering menjadikan hasil produksi game kurang maksimal.
Dalam sebuah proses produksi game, ada yang disebut “crunch”. Crunch ini dilakukan ketika misalnya game mendekati deadline tanggal perilisan dan sentuhan akhir dibutuhkan agar game rilis dengan kualitas terbaik. Saat crunch, staf pengembangan game bekerja lembur, bahkan sampai tidak pulang, untuk mempolish dan memperbaiki bug pada game. Dalam crunch, seringkali pegawai tidak atau diberi sedikit kompensasi atas hasil lemburnya itu. Hal ini banyak yang berpendapat sebagai alasan orang keluar dari industri game. Tapi banyak juga pengembang game yang menikmati proses crunch ini sebagai proses penyempurnaan game buatan mereka.


referensi : http://www.elventales.com