Cevapla  Konu Gönder 
Half Life Nedir [ ? ]
Yazar Mesaj
#1
Mahmut Birgul
Administrator
*******





Giriş Tarihi : Mar 2008
Mesaj Sayısı : 151
Üye no : 1
Rep gücü : 9
Rep Grafiği: 1

Nerden : Şanlıurfa
Cinsiyet : Erkek
OYUNUM: TOMB RAİDER
03-06-2008 05:07 AM


Half Life Nedir [ ? ]
Half Life Nedir [ ? ]

Half-Life enginesi nedir ?
HL quake tabanlı bir enginedir. Quake 2'nin geliştrilerek sekeleton bazlı modelleme, geliştirilmiş sanal zeka ve geliştirilmiş grafikler eklenmiş halidir. Quake ile HL'ninengine çekirdeği aynıdır; aynı şekilde harita veya model işleyim, aynı şekilde programlanırlar.

Half-Life iyi bir enginemidir ?
HL enginesi hatasız bir engine değildir. HL'deki bu mod yapımlarının çoğalması ve amatör yapımların çoğunun kodunun denetim fonksiyonlarını içermeden kodlanması sonucu HL hem hileye açık, hemde hatalara açık bir engine durumana düşürmüştür. HL ile eskimiş quake 2 teknolojisini biraz daha geliştirilmek istenmesine karşın artık enginenein quake 2 çekirdeğinin geleceği en son noktaya gelinmiştir. Bununda sinyallerini nerede ise her bir ayda çıkan; kullanıcıya yeni harita, yeni model yada yeni mod eklentisi gibi gösterilmeye çalışan yamalar vermektedir.

Half-Life MOD yapımı için uygunmudur ?
Sierra ve valve'nin HL'yi biraz daha gündemde tutmak için geliştirdikler satış stratejisi HL'yi modlar için uygun hale getimiştir. HL amatör olarak mod yapımi için en uygun enginedir ama eger gelişmiş bir mod yapılacaksa kesinlikle HL seçilmemelidir. Peki niçin uygun değildir diye soracak olursanız; oyun teknolojileri şuanda çok gelişmiş bir düzeye gelmiştir ve bu gelişme sonucu ortaya kolay programlanan ve gerekli olan kodları zaten bünyesinde bulunduran engineler mod yazarları için piyasa sürülmey başlanmıştır. Valvenin tüm çabalarına rağmen HL bunların biraz daha geriden izlemektedir. Bir diğer hususda HL diğer enginelere göre MOD tasarımcıları için biraz daha fazla yardım içermesidir. Unutmayınızki yeni başlayan biri için yardım kelimesi çok önemli bir kelimedir.

Half-Life'da programlama mantığı
Evet geldik asıl konuya bu bölümü biraz daha samimi olarak anlatacağım. Şimdi HL'de programlama mantığının temeli "event"dır yani olay. (Burada bir husus var bazı kişiler HL progrmalma mantığının obje programlama olduğunu savuna bilirler. Bu çok yanlış ve anlaşılmaz bir açıklamadır. Obje programlama mantığı C++'nın mantığıdır.)Event programlama mantığı bir olay gerçekleştiğinde ne yapılacağını önceden belirlenmesidir. Örneğin : Eğer sana ateş edilirse en yakındaki adama hedef al ve ona saldır. Veya VB'nin mantığı şu buttona tıklanınca şu kodu çalıştır gibi.

HL'de programlama mantığının haricinde birde enginenin çalışma prensibi vardır. Şimdi HL enginesi iki bölümden oluşur; Server ve Client. (Sunucu ve istemci) Server'da oyunla ilgili tüm mantıksal işlemler bulundurulur. Örneğin oyunun yapısı, oyuncular, canavarlar, silahlar, entityler v.b. Client'de ise oyuncuda çalışan grafikler ve sadece oyuncuda çalışması gereken kodlar bulunur. Örneğin skor tablosu, gelen mesajların ekrana yazdırılması, ateş edilince ekranın kırmızılaştırılması gibi. Multi player bir oyunda server bölümü server'da çalışır, client bölümü oyuncuda. Single player'da ise hem server hemde client oyuncuda çalışır yani bilgisayarınız hem serverlık hemde clientlik yapar.

Peki bu iki kod nasıl birbiri ile anlaşır. Şimdi bu iki kod bir biri ile pek anlaşmaz bu anlaşmayı engine yapar. Yani koda a şu oyuncu haritanın şurasına gitmiş hemen bunu client'e göndereyim diye bir kod yazmazsınız bu gibi işleri server bizim yazdığımiz kodları kullanmadan kendi kodları ile işi götürür ama siz bu adam buraya gider ise ekrarna şu mesajı yaz diye ek bir event oluşturursanız o zaman kendi kodlarına ek olarak sizin yazdığınız kodu kullanır.

Ya iyide bu client'e hiç iş düşmüyo tüm işleri server yapıyo peki niye koymuşlar bunu ? Şimdi ben size bir örnek vereceğim CS'deki alma menusü nasıl çalışır. Siz "b" tuşuna basınca client kodu server koduna "menudeki objeleri bana gönderder"der, Server koduda sizin buy bölgesinde olup olmadığınız kontrol eder ve t'ni yada ct'nin silah listesini gönderir. Sonra client kodu ekrana bir menu çizer ve seçmeniz için klavyeden basacağınız tuşu bekler. Siz tula bastıktan sonra client kendisi silah ve oyuncuların kodlarına karışamadığı için server'a "yaw ben şu silahlara falan ulaşamıyor sen benim yerime şunu şunu oyuncuya veri ver bi zahmet" der serverda oyuncuya client'den gönderildiği bilgiye göre silah ve mühimmat ekler. Umarım anlamışsınızdır.

Peki server'dan client'e mesaj geliyomu ? Tabiki geliyor. Gene cs den bir örnek vericem şimdi siz bir sis bomabası attınız. Hemen server haritanın içinde sisbombası modelini koyar ve patlaması için geri sayımı başlatır. Bomba patlayınca ekranı bem beyaz yapmak gerekir. Eee tabiki server'ın olmayan ekranını değil oyuncunu ekranını. Server hemen client'e bir mesaj çeker ve derki "yaw ben ekranı beyazlatamıyorum sana zahmet şu ekranı beyazlat". Clientde hemen ekranı beyazlatma efektini kullanır ve ekran beyazlar.

Çevrimdışı Web Sayfasını Ziyeret Edin Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
« Önceki | Sonraki »
Cevapla  Konu Gönder 

Yazdırılabilir Bir Sürümü Görüntüle
Bu Konuyu Bir Arkadaşına Gönder
Bu Konuya Üye Ol | Bu Konuyu Favorilerime Ekle

Forumlar Arası Geçişi

Biz, çeşitli sunuculardaki linkleri ziyaretçilere sunarız, sunucumuzda indirilme amaçlı dosya sunmayız. Important: We, link files from other servers, and do not host any files for download on our server.
Reklam Alanı Bu Alana Reklam Verebilirsiniz Bu Alana Text Reklam Aylık 5 Ytl.
sağlık yaşam sağlıklı yaşam sağlık nedir film izle vidivodo sinema izle izlesene youtube yutube yotube klip video videolar sohbet Otel Rezervasyonu Oteller Türkiye Otelleri Rehberi Online Otel Rezervasyonu Otel, Hotel, Oteller, Otelleri, Online Rezervasyon, Otel Rezervasyonu, Tatil, Gezi, Uçak Bileti
Search Engine Optimization by SpiceFuse
Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150

Alt Forumlar Eklentisi by DragonFever