/

Asgari Ubuntu Üzerine Geleneksel Masaüstü Ortamı

28 Haziran 2012 Yorum bırakın

Ubuntu MinimalCD + Mate. Eski masaüstü bilgisayarımda bir önceki uzun süre destekli sürüm olan Lucid Lynx yerine Precise Pangolin çalıştırabilmek için böyle bir deneme yapmaya karar verdim. Aynı bilgisayar üzerinde çalışır durumda olan bir başka GNU/Linux dağıtımı daha var. Böylece bu deneme sırasında sorun yaşamam durumunda çözüme ulaşmam çok kolay olabilecek.

Ubuntu MinimalCD + Mate Masaüstü Ortamı

Kalıp dosyaları şunlar:

Ben “generic” çekirdekli olanı (non-pae) seçtim. Çünkü “pae” çekirdeğe ihtiyacım yok.

Kurulum adımları normal bir kurulumdan pek farklı değil. Başlangıçta çıkan menüden “Install” seçiyorsunuz. Sonrası dil seçimi, konum seçimi, klavye düzeni seçimi ve otomatik ağ yapılandırmanız yapılıyor. Dosyaların tamamını genel ağ üzerinden çekeceğimiz için burada bir sorun olursa zaten devam edemeyiz.

Makine adını da girdikten sonra indirme işlemi için hangi ülkenin yansısını seçeceğimiz soruluyor. Genelde Hollanda ve Almanya sunucuları daha hızlı oluyor. En iyisi kurulumdan önce çalışan bir sistem üzerinden bakmak. Bunun için “Yazılım Kaynakları” uygulamasından “İndirme Adresi”, “Diğer” ve “En iyi sunucuyu seç” yolu izlenebilir.

Devamında, varsa vekil sunucu ayarları ve sonrasında gerekli ek bileşenler alınmaya başlayacak. Kullanıcı adı ve parola belirleyip ev dizininin şifrelenmemesini söyledim. Arkasından saat dilimi seçimi geliyor.

Bölümleme uygulamasından yeni kurulumu nereye yapmak istediğimizi seçiyoruz. Ben çoğunlukla elle yapılandırmayı seçiyorum.

Bu aşamadan sonra temel sistemin kurulumu başlıyor. Sonrasında güvenlik güncelleştirmelerinin otomatik olarak yapılmasını seçiyorum.

Yazılım seçimi adımında ise hiç bir seçim yapmadan devam edin. Sonra GRUB kurulumu, yine boş geçtim. GRUB’ı diğer işletim sisteminden güncelledim (update-grub2). Son olarak sistem saatinin UTC’ye ayarlanmasını reddederek kurulumu bitirdim.

Her şey yolunda gittiyse siyah tty1 ekranı bizi bekliyor olmalı. Kullanıcı adımızı (login) ve şifremizi (password) girip oturum açıyoruz.

Öncelikle “add-apt-repository” komutu için gerekli paketi kuruyoruz.

sudo apt-get install python-software-properties

Mate masaüstü ortamı deposunu yazılım kaynak listemize ekleyelim.

sudo add-apt-repository “deb http://packages.mate-desktop.org/repo/ubuntu precise main”

Kaynak listemizi güncelleyelim.

sudo apt-get update

Gerekli anahtarı alıp tekrar güncelleyelim.

sudo apt-get install mate-archive-keyring
sudo apt-get update

Artık Mate masaüstü ortamını kurabiliriz. Bu adımda daha az sayıda paket içeren temel mate-core paketini kurmayı seçebiliyoruz. Ancak başka bir masaüstü ortamı kullanmayacağımız için ben daha fazlasını içeren mate-desktop-environment paketini kuruyorum.

sudo apt-get install mate-desktop-environment

X sunucusu ile ilgili şu paketleri kuralım.

sudo apt-get install xinit x11-xserver-utils

Görüntü yöneticisini kuralım.

sudo apt-get install lightdm-gtk-greeter

Firefox, Synaptic, Gnash ve Openjdk kurulumu (şart değil).

sudo apt-get install firefox firefox-locale-tr
sudo apt-get install synaptic
sudo apt-get install gnash openjdk-6-jre

Şimdi bilgisayarı yeniden başlatalım ve bir bardak çay alıp keyfini çıkartalım.

sudo reboot

Bu arada Synaptic uygulamasını ilk çalıştırdığınızda “Ayarlar > Tercihler” yolundan “Önerilen paketleri bağımlılık olarak kabul et” kutusundaki işareti kaldırmanızı tavsiye ederim. Çünkü uygulama kapatıldığında bu ayarlar /etc/apt/apt.conf dizini içinde saklanacak ve bundan sonra yapacağınız bütün işlemleri etkileyecek.

Ayrıca devamında şu paketleri de kurdum (şart değil):

xdg-users-dirs-gtk mate-indicator-applet mate-conf-editor gksu caja-gksu caja-open-terminal alsa-tools alsa-oss vorbis-tools ffmpeg ubuntu-extras-keyring ttf-ubuntu-font-family mesa-utils audacious vlc libreoffice libreoffice-zemberek libreoffice-l10n-tr wicd-gtk

Son olarak şunu da not edeyim. Ubuntu 12.04 LTS, nvidia-173 sürücülerini yükleyebilmek için şu çözümü de uygulamam gerekti.

Dosyaları Aynı Yere Toplamak

22 Haziran 2012 Yorum bırakın

Bir dizin, altında onlarca alt dizin ve içlerinde binlerce dosya var. Dizinlerin içindeki dosyaların tamamını tek bir dizin altına kopyalamak istiyorum. Tek tek kopyalamakla olacak iş değil. Neyse ki uçbirim var ve biraz araştırmayla doğru komutu buluyorum.

find ~/kaynak_yol/ -name “*” -exec cp {} ~/hedef_yol/ \;

Yukarıda -name “*” argümanını -name “*.gif” ya da benzeri şekilde değiştirebilirsiniz.

Görevimiz Tehlike (GtkRadiant – UrT)

20 Haziran 2012 Yorum bırakın

Olay tetikleyici kullanımına ufak bir örnek vermeye çalışacağım. Harita 80 x 320 x 192 birim boyutlarında (GENİŞLİK x UZUNLUK x YÜKSEKLİK) bir alan olsun. Duvar kalınlıkları 8 birim. Aşağıda da görüldüğü gibi odanın içinde bir platform var, arada biraz boşluk ve sonra platform yine devam ediyor. Bu aradaki boşluğa ise nereden geldiyse lav dolmuş. Karakterimiz üzerinden atlayabilirse sorun yok ama lavın içine düştüğünde canının yanması/azalması gerekiyor. İşte yapmak istediğimiz de bu!

Ben platform yüksekliğini 56 birim yaptım. Buna göre lav olmasını istediğimiz yere /common/water_caulk dokusu ile 24 birim yüksekliğinde, boşluğun genişliği ve uzunluğu ölçülerinde bir nesne çizelim. Bu nesnenin sadece üst yüzeyine ise /liquids/lava01 dokusunu atayalım.

Bu arada water_caulk dokusu, “zpak000_assets.pk3/scripts/eagle.shader” dosyası içinde şöyle tanımlanmakta:

textures/common/water_caulk
{
   qer_editorimage textures/eagle/watercaulk.tga
   surfaceparm nodraw
   surfaceparm nomarks
   surfaceparm nolightmap
   surfaceparm trans
   surfaceparm nonsolid
   surfaceparm water
}

Odanın üst iç yüzeyine /ut_swim/swim_sky dokusunu atamayı tercih ettim. Bunu daha önceki örneklerde denemedik. Diğer yüzeylere isteğinize göre doku yerleştirebilirsiniz. Ayrıca lambayı da lavın biraz üstüne yerleştirerek özelliklerine “_color” anahtarını ve “1.0 0.0 0.0” değerini girdim. Böylece ışık kaynağı RGB değerlerine göre kırmızı renkte olacak.

Buraya kadar olan bölümde haritaya, içine girilebilen lav görünümünde bir sıvı eklemiş olduk. Şimdi son adım olarak, bu sıvının üzerine /common/trigger dokusunu alarak 32 birim yüksekliğinde bir kutu çizelim ve 2B çizim alanından sağ fare menüsünden trigger > trigger_hurt işlevini verelim. Özelliklerine ise “dmg” anahtarını ve “8” değerini girelim. Hepsi bu kadar…

İlgili Yazılar:

“Dikine mustatil bir apartımanın en üst katında dört köşe bir oda.”

12 Haziran 2012 Yorum bırakın

GtkRadiant harita düzenleme yazılımlarıyla sanal olarak içinde dolaşabileceğimiz bir ortam tasarlamaya, şu an karşınızda olan kapı ve pencere yapımı örneğiyle devam ediyorum. Yine Urban Terror oyunu için yapılmış küçük bir örnek olacak.

Caulk isimli (Textures/common) saydam ve katı dokuyu seçelim. Bir oda çizelim, Hollow aracı ile odanın içini boşaltalım. Ben odanın boyutlarını dıştan dışa 256x512x192 olarak belirledim. Odayı oluşturan duvarların kalınlıklarını ise 16 birim yaptım. Odayı iki eşit parçaya bölecek şekilde bir duvar çizelim. Ben duvarın ölçülerini 224x160x16 olarak belirledim.

Bu arada münüden “Edit>Preferences > Display>2D Display/Rendering” yolundan Display Size Info kutusunu işaretleyerek seçili cisimlerin ebatlarını da görebiliyoruz.

Bölme duvarımızın içine pencere ve kapı boşluğu olmasını istediğimiz yerlere, kalınlıkları en az duvar kalınlığı kadar olan iki adet nesne çizelim. Ben pencere boşluğunu 96×80, kapı boşluğunu ise 80×120 olarak düşündüm. Sizin ölçüleriniz bunlardan farklı olabilir, bu nesneleri duvar üzerinde uygun yerlere yerleştirin. Şimdi her ikisi de seçili iken CGS Subtract aracını kullanalım. Böylece duvarın içinden bu bölümleri kesmiş ve çıkartmış olduk. Geriye kalan seçili nesneleri ise silelim.

Yukarıdaki işlemden sonra bölme duvarı beş ayrı parçaya bölündü. Bu adımda ise pencere boşluğuna çepeçevre, kapı boşluğu için ise üç tarafına kasa/pervaz niyetine kesitleri 8×16 birim olan parçalar çizmek istiyorum. Bunları çizerken space tuşu (Selection/Clone) ve araç çubuğundaki y-axis Rotate düğmesi (Selection/Rotate/Rotate Y) işimizi kolaylaştıracaklar.

Bu arada araç çubuğundaki Texture view mode düğmesine basıp Wireframe seçerek gerektiğinde daha detaylı bir görünüşe kavuşabiliriz. İlk iki çalışmamızda ise H ve Shift+H tuşlarını kullanarak seçili nesneleri gizleyip tekrar görünür hale getirebileceğimizi öğrenmiştik. Çizim alanındaki her şeyi seçili hale getirmek içinse i tuşunu kullanabilirsiniz.

Şimdi daha önceki harita çalışmalarımızda da yaptığımız gibi çizilen nesnelere çeşitli dokular, biraz aydınlatma ve oyuncu için başlangıç noktası ekleyelim. Burada doku eklerken özellikle dikkat etmemiz gereken duvarların (brush’ların) sadece oyun içinde görünecek iç yüzeylerini seçebilmek için Ctrl+Shift tuşları basılı iken Sol-Fare tuşunu 3B çizim alanında sürükleyerek ya da tıklayarak kullanmak olmalı. Böylece hiçbir zaman görüntülenme ihtimali olmayan yüzeylere doku ataması yapılmamış olacak.

Dikkat ettiyseniz ekran görüntüsünde pencerenin alt-üstündeki ve kapının üstündeki yatay duran parçalarda doku enine yerleştirilmiş. Bunu düzeltmek için bu nesneleri seçelim, S tuşu ile “Surface Inspector” iletişim kutusunu çağıralım ve Offset sütunundan Rotate değerine 90 girelim.

Pencereye cam yapmak için weapclip (Textures/common) dokusunu alalım ve camı yerine çizelim. Bendeki cam 80×64 boyutlarında ve kalınlığı 8 birim oldu. Camın iç ve dış yüzeylerine ise glass_clear (Textures/turnpike) dokusunu atayalım.

Uygun bir doku seçelim ve kapıyı yerine çizelim. Kalınlık yine 8 birim olsun. S tuşuna ve sonra Fit düğmesine basalım. Şimdi origin (Textures/common) dokusunu alarak kapının menteşesi tarafına dönme eksenini belirten bir nesne çizelim. Kapıyı ve merkez noktasını seçip 2B çizim alanında Sağ-Fare tuşu ile func menüsünden func_rotating_door seçelim.

Çizdiğimiz cama kırılabilir işlevi vermek istersek; Önce 2B çizim alanında Sağ-Fare tuşu ile func menüsünden func_breakable seçmemiz, sonra Entities özelliklerinden ince ayar yapmamız gerekecek. Bunun için camı seçin, N tuşuna basın key kutusuna type, value kutusuna 0 değerlerini girin ve Enter tuşuna basın.

İyi eğlenceler.

Kaynaklar (İngilizce):
* UrT Support – Tutorials – Level Design“Breakable Windows” ve “Rotating Door” başlıkları bu yazının konusu ile ilgili, bu sayfaları özellikle incelemek isteyebilirsiniz.
* Wikibooks – GtkRadiant
* Wikipedia – GtkRadiant
* GtkRadiant Editor Manual
* Q3Map2 Shader Manuel

Kaynaklar (Türkçe):
* Özgürlük İçin E-Dergi Sayı 13 – UrT … İçin ZeroRadiant
* Vikipedi – UrT
* PardusWiki – UrT
* Özgürlük İçin – UrT

Bu Konu İle İlgili Önceki Yazılarım:
* GtkRadiant Bölüm Tasarım Araçları 2
* GtkRadiant Bölüm Tasarım Araçları 1

GtkRadiant Bölüm Tasarım Araçları 2

08 Haziran 2012 Yorum bırakın

GtkRadiant konusuna kaldığımız yerden ikinci bir harita çalışması ile devam ediyoruz. {File}>{New Map} ile yeni bir hariya başlatın.

{Texture} menüsünden {common} seçip, doku gezgininden {caulk} seçelim.

Bir oda çizelim. [6] tuşuna basarak ızgara aralıklarını 32 birim olarak ayarlayalım. <X/Y> üst görünüşten [Sol-Fare] tuşuna 0,0 koordinatlarında basılı tutarak x=192, y=320 koordinatlarına kadar sürükleyelim. Hemen sol taraftan yüksekliği 128 birim olarak ayarlayalım. [4] tuşuna basarak ızgara aralıklarını 8 birim olarak ayarlayalım. {Hollow} düğmesine tıklayalım.

Odayı çoğaltalım. [7] tuşuna basarak ızgara aralıklarını 64 birim olarak ayarlayalım. [Space] tuşuna basalım ve yeni olaşan kopyanın iç alanına [Sol-Fare] tuşu ile basılı tutarak çizim alanının sağ tarafına doğru çekelim. [Esc] tuşuna basalım.

İki odanın arasına bir koridor yapalım. <X/Y> üst görünüşten koridoru çizelim ve yine yüksekliğini 128 birim olarak ayarlayalım. Daha önce çizdiğim iki odanın tam ortasına gelecek şekilde yerleştirelim. [Ctrl]+[Tab] tuşlarını kullanarak <X/Z> yan görünüme ve sonra <Y/Z> ön görünüme geçiş yaparak çizimi kontrol edelim. Yeniden üst görünüşe geçelim. [4] tuşuna basarak ızgara aralıklarını 8 birim olarak ayarlayalım. {Hollow} düğmesine tıklayalım. [Esc] tuşuna basalım.

İki boyutlu çizim alanında üst görünüşten koridora [Shift]+[Sol-Fare] tuşları ile tıklayarak tavan kısmını seçili hale getirelim. [H] tuşuna basarak seçili nesneyi gizleyelim.

Yine [Shift]+[Sol-Fare] tuşlarını kullanarak koridor yapmak için çizdiğimiz odanın kısa duvarlarında birini seçelim. Duvarın sağ ve sol taraflarından birer ızgara aralığı kadar küçültelim. Yan görünüşe geçelim. Duvarın alt ve üst taraflarından birer ızgara aralığı kadar küçültelim. Ön görünüşe geçelim. Seçili olan duvarın koridorun iç yüzeyi boyutlarına olduğunu görelim. Üst görünüşe dönelim ve seçimi iptal edelim. Koridordaki aynı duvarın simetriğini seçelim ve [Backspace] tuşunu kullanarak onu silelim. Önceden küçülttüğümüz duvarı yeniden seçili hale getirelim.

Seçimi iptal edelim. Her iki odanın tavanını seçelim ve [H] tuşunu kullanarak onları da gizleyelim. Boyutlarını küçülttüğümüz duvarımızı şimdi yeniden seçelim ve diğer iki odanın içine taşacak şekilde koridor boyunca genişletelim.

Araç kutusundan sihirli {CGS Subtract} düğmesine tıklatalım ve arkasından [Backspace] tuşuna basarak işi biten bu parçayı da silelim.

[Shift]+[H] tuşlarına basarak daha önce gizlediğimiz parçaları görünür hale getirelim. Üç boyutlu çizim alanında kamerayı kullanarak odalardan birinin içine bakalım. Şimdi [Ctrl]+[Shift] tuşlarına basılı tutarken [Sol-Fare] tuşunu bir duvar üzerinde basılı tutalım ve fareyi sürükleyerek görüş alanında ve yan yana olan birkaç duvarı seçili hale getirelim. [Shift]+[Sol-Fare] tıklaması ile yaptığımız seçimden farkı ise şimdi duvarın tamamını değil sadece tek bir yüzeyini seçiyoruz. Seçili duvarlara bir doku atayalım ve sonra seçimi iptal edelim.

Aynı şekilde odaların iç yüzeylerinin tamamı için doku atayalım. Sonrasında bir başlangıç noktası ve biraz aydınlatma ekleyelim. Ekran görüntüsünden görüldüğü gibi odanın birine hiç lamba yerleştirmedim.

Haritayı derleyelim ve çalıştıralım. Siz burada verilen ölçüleri ve şekilleri kendinize göre uyarlayabilirsiniz. Örneğin koridor genişliği ve tavan yükseklikleri bir miktar daha büyük olabilir. Kolay gelsin…

GtkRadiant Bölüm Tasarım Araçları 1

08 Haziran 2012 Yorum bırakın

Radiant

2011-2012 eğitim öğretim yılının sonuna gelinmesiyle birlikte yaz sezonu resmen açıldı. Bu yeni dönemde üç boyutlu düşünme yeteneğinizi geliştirmek için de zaman ayırmaya ne derseniz?

Birinci şahıs nişancı oyunları için geliştirilmiş bu özgür (GNU GPL) uygulama takımı id Tech 3 oyun motoru için harita düzenleme imkanı sağlıyor. Son sürüm olan “GtkRadiant 1.6”, “ZeroRadiant” olarak da isimlendiriliyor. Ayrıca id Tech 4 oyun motoru için çatallanmış “DarkRadiant” sürümü de mevcut. Son güncel kararlı sürüm olan GtkRadiant 1.6.2’nin kaynak kodlarına ise github üzerinden erişilebiliyor.

İhtiyaç duyulabilecek bağımlılıklar: libgtkglext1, libmhash2, libxml2, libpng12-0, zlib1g, libgtk2.0-0, libglib2.0-0, libgtk2.0-common, libgtk2.0-bin, libpango1.0-0, libpango1.0-common, libatk1.0-0.

Desteklenen oyunlar: Dark Places (1.5), Doom 3 (1.5), Half-Life (1.5), Heretic II (1.5), Nexiuz (1.5), Prey (1.5), Quake (1.5), Quake II (1.5), Quake III Arena (1.5, 1.6), Quake 4 (1.5), Return to Castle Wolfenstein (1.5), Wolfenstein: Enemy Territory (1.5, 1.6), Soldier of Fortune II: Double Helix (1.5), Star Trek: Voyager Elite Force (1.5), Star Wars Jedi Knight II: Jedi Outcast (1.5), Star Wars Jedi Knight: Jedi Academy (1.5), Tremulous (1.5), UFO: Alien Invasion (1.5), Urban Terror (1.5, 1.6), War§ow (1.5)…

Haydi Urban Terror için kolay bir harita yaparak bölüm tasarımına “merhaba dünya” diyelim. Öncelikle oyunu indirin.

Ben Debian için “4.1.1 Mac & Linux” sürümünü indirip sıkıştırılmış dosyayı bir dizine (~/Oyunlar/urbanterror) açtım. 32 bit işletim sistemi için “ioUrbanTerror.i386” dosyasını, 64 bit sistem için ise “ioUrbanTerror.x86_64” dosyasını [Sağ-Fare] tuşu ile tıklayarak {Özellikler}>{Erişim Hakları} sekmesinden “Dosyayı bir program gibi çalıştırmaya izin ver” kutusunu işaretleyerek sonrasında oyunu çalıştırabilirsiniz.

İkinci olarak GtkRadiant uygulamasını indirin.

Ben “GtkRadiant 1.6.2 (2012-05-22) Linux x86” paketini indirip sıkıştırılmış dosyayı bir dizine (~/Oyunlar/gtkradiant) açtım. Komut satırı ile bu dizindeki “radiant.bin” dosyasını ./radiant.bin komutunu vererek çalıştırın. Yazılım ilk çalıştığında sizden hangi oyun/oyunlar için bölüm tasarımı yapmak istediğinizi öğrenmek isteyecektir. Buradan ilgili oyunu, belirlediğiniz anma ismini ve kurulu bulunduğu dizini (~/Oyunlar/urbanterror) programa göstermelisiniz. Eğer doğru oyunu seçmez ya da yolunu yanlış girerseniz GtkRadiant oyun için doğru yapılandırılamaz veya ihtiyacımız olan pk3 uzantılı sıkıştırılmış veri paketlerinin yerini bulamaz. Devamında gelen pencereden “Auto load selected game on startup” seçeneğini de işaretlerseniz harita düzenleyici her açılışında seçilen oyun için ayarlanır.

Urban Terror ~/.q3a dizinine, GtkRadiant ise ~/.radiant dizinine gerekli ayar dosyalarını yazacaklar. Yukarıda yaptığımız ilklendirme işlemi sonunda GtkRadiant, Urban Teror için gerekli dosyaları kopyaladı. Yaptığımız haritalar da  ~/.q3a/q3ut4/maps dizininde saklanacak.

Bundan sonra yapmamız gereken haritamızı çizmek, kaydetmek ve derlemek olacak.

Harita tasarımı için çalışma pencerelerinin düzenini {Edit}>{Preferences} ve oradan {Interface}>{Layout} yoluyla değiştirebilseniz de ben en kullanışlı arayüzün varsayılan olarak gelen bu şekil olduğunu düşünüyorum.

İki boyutlu çizim alanını [Sağ-Fare] tuşuna basılı tutarak hareket ettirebilirsiniz. Tekeri döndürerek yakınlaşıp uzaklaşabilir, tekere tıklayarak kameranın yönünü tıkladığınız yöne çevirebilirsiniz. Üç boyutlu çizim penceresinde ise [Sağ-Fare] tuşana tıklamakla kamerayı hareket ettirebiliyorsunuz, tekrar tıklayarak kamerayı istediğiniz yöne sabitliyorsunuz. Burada kamera aktifken yani 3 boyutlu çizim alanında [Sağ-Fare] tuşuna tıkladıktan sonra klavyenin yön tuşlarını ve [C] ile [D] tuşlarını kullanarak ta kamerayı ayarlayabilirsiniz. Yine aynı noktadayken [Ctrl] tuşuna basılı tutarak fareyi oynattığınızda kamerayı bu şekilde de ayarlayabildiğinizi göreceksiniz. Aslında Blender benzeri bir modelleme programına ya da herhangi bir BDT (CAD) yazılımına aşina iseniz bu arayüze kolayca uyum sağlayabileceğinizi düşünüyorum.

Şimdi <X/Y> üstten bakış penceresinde bir kare çizerek işe başlayalım. Öncelikle {Grid} menüsünden {Grid32} seçin. Böylece ızgara aralıklarını büyütmüş olduk. Çizim alanının ortasındaki 0,0 noktasına [Sol-Fare] tuşu ile basılı tutarak fareyi 256,256 koordinatlarına kadar sürükleyerek bir kare çizelim. Kırmızı kesik çizgilerle çiziminizi görüyor olmalısınız. Bu o anda şeklin seçili olduğunu belirtiyor. Bu durumdayken şeklin içine [Sol-Fare] tuşu ile basılı tutarak taşıma işlemi, şeklin dışına [Sol-Fare] tuşu basılı tutarak ise ilgili yüzeyi esnetme işlemini yapabilirsiniz.

[Ctrl]+[Tab] tuşlarını kullanarak <X/Z> yan görünüme, ve yine [Ctrl]+[Tab] tuşlarını kullanarak <Y/Z> ön görünüme geçiş yapabilirsiniz. Yan ya da ön görünümünden de çizdiğimiz karenin yüksekliğinin 256 birim olmasını yani bir küp olmasını sağlayın. Böylece içi dolu bir küp çizmiş olduk. [Esc] tuşu ile nesnenin seçimini kaldırarak, 3 boyutlu çizim alanından kamerayı çizdiğimiz küpü görecek şekilde ayarlayın.

Tekrar nesneyi seçelim, bunun için [Shift] tuşuna basılı tutarken farenin [Sol-Fare] tuşu ile tıklayın. {Grid} menüsünden {Grid16} ayarlayın ve araç çubuğundan sihirli {Hollow} düğmesine tıklayın. Bunu yaptığınızda 6 adet katı parçadan oluşan kapalı ve içi boş bir hücre elde etmiş olduk. Hücrenin duvar kalınlıkları çepeçevre 16 birim oldu.

Seçimi iptal etmeden araç çubuğundan {Caulk Selection} düğmesine tıklayın. Çizimin renginin değiştiğini görmüş olmalısınız.

Artık [Esc] tuşu ile nesnelerin seçimini kaldırın ve kamerayı kullanarak 3 boyutlu çizim penceresinde odanın içine girin. Caulk shader uygulaması performans ile ilgili, şimdilik ne olduğunu kafanıza takmayın.

Oyun motoru çalışırken içinde dolaşacağımız haritanın tamamen kapalı bir alan oluşturması gerekiyor. Aksi halde derleme aşamasında sızıntı (leak) hatası alabilirsiniz. Bu küçük oda için bir sorun yok ama haritanız büyüdükçe bu hata ile karşılaşabilirsiniz. Bu durumda çok küçükte olsa birleşmeyen bir duvar köşesi kalmıştır ve orayı birleştirmeniz gerekir.

Şimdi odanın dört yan duvarını seçili hale getirin. Bunun için [Shift]+[Sol-Fare] tuşu ile tıklayarak işaretleyin. Yukarıdaki {Textures} menüsünden örneğin {algiers} seçin. Yan tarafta ilgili dokular karşınıza çıkacak. Duvarlar için bir tanesini seçin ve [Esc] tuşu ile duvarların seçimini kaldırın. Tavan ve taban içinde aynı şekilde birer doku seçimi yapın.

Kapalı bir oda çizdik ve kullanılacak dokuları belirledik. Ama gerçekte ortam tamamen karanlık. Aydınlığa kavuşmak için odaya bir lamba ekleyelim. Üst görünüşten ya da herhangi bir 2B çizim alanından [Sağ-Fare] tuşuna tıklayın çıkan menüden {light} seçin. Değeri değiştirmeden {Tamam} diyin. Lambayı yerleştirin. [Ctrl]+[Tab] tuşlarını kullanarak yan görünüşten lambanın yüksekliğini belirleyin. [Esc] tuşu ile lambanın seçimini kaldırın.

Son olarak oyun motoruna oyuncunun haritanın neresinden oyuna gireceğini söylememiz gerekiyor. Yine [Sağ-Fare] menüsünden {info}>{info_player_start} seçin ve yerleştirin. Yerleşimi yaparken prizmanın duvarların, tavanın, tabanın içinde kalmamasına ve tabandan çok yüksekte olmamasına dikkat edin.

Artık yaptığınız haritaya bir isim vererek kaydedin. Menüden {Bsp} > {Q3Map2: (final) BSP -meta, -vis, -light -fast -filter -super 2 -bounce 8} seçin ve derleme işlemine başlayın. Ufak bir çalışma yaptığımızdan işlem fazla uzun sürmeyecektir. Büyük boyutlu haritalarda ise derleme işlemi oldukça fazla zaman alabilir. Bu haritada 6 brush (duvarlar, tavan, taban) ve 2 entity (lamba, oyuncu başlangıç noktası) kullandık.

Yaptığımız haritayı ise Urban Terror içinden [Shift]+[Esc] tuşları ya da [~] tuşu ile açılan Quake uçbiriminden yükleyip çalıştırabiliriz. Bunun için sırayla aşağıdaki iki komutu kullanacağız.

\sv_pure 0
\devmap harita_adi

Dilerseniz oyunu komut satırından aşağıdaki şekilde de çalıştırabilirsiniz.

./ioUrbanTerror.i386 +sv_pure 0 +devmap harita_adi

Tohumun Sahibi Kimdir?

18 Şubat 2012 Yorum bırakın

Richard Stallman; 70’lerde yazılım üretim ve paylaşım topluluğunun bir parçasıyken, 80’lerde topluluğun nasıl dağıldığını ve yazılımların kapalı kaynak haline getirilme sürecini bizzat yaşamış ve bu duruma başkaldırarak özgür yazılım hareketini başlatmıştır. Bugün gelinen noktada özel mülk yazılım üreten firmaların geceleri uykuları kaçıyorsa eğer bu en başta üstat sayesindedir. Şahsen özgür yazılım kullanmayı seçiyorum. Daha önce duymayanların özgür yazılım felsefesini anlamaları için EMO tarafından dilimize kazandırılan “Özgür Yazlım, Özgür Toplum” kitabını okumaları gerekecek. Ben bu noktadan GDO bağlamında tohuma gelmek istiyorum.

Bugün tarım faaliyetlerinde kullanılan tohumlar en başta doğanın, sonrasında ise binlerce yıldır onu ıslah ederek günümüze ulaştıran bütün insanlık tarihinin ortak mirasıdır. Birileri bu özgür tohumlarımızı alıyor, üzerinde birkaç genetik deney yaptıktan sonra aynı tohumu patentleyerek piyasaya sürüyor. Saçmalık! Artık o tohum özgür değil ve içine gömülen kaynak kodun ileride nelere sebep olabileceğini kimse kestiremiyor. Bu adeta bir truva atına benziyor.

Eğer biri artık farkına varır ve özgür yazılım kullanmaya karar verirse eminim bunu –en azından şimdilik– başarabilir. Peki tohumda durum nasıl, bir kere dağıtıma başlandıktan sonra kontrolü mümkün mü? Tarlayı “biçimlendirerek” ya da “iptal” tuşuna basarak her şeyi eski haline getirebilir miyiz? Sanırım bu kadar basit değil…

%d blogcu bunu beğendi: