ALINTIDIR!!!
Not : ofisimde 3Dmax 3.1 var onunla yaptım. menülerde farklılıklar olabilir... 3dmaxte patlama sahnesi anlatmaya çalışacağım arkadaşlar...sahneye küre ekledim..tercih sizin.. Particles menüsünden "PArray Particle System" seçin..sahneye ekleyin. sonra sağ taraftan "pick object" seçip patlatmak istediğiniz objeyi seçin..
ayarlarını yapıyorum... "Viewport display" menüsünde "mesh" seçili olmalı böylece nesnemiz kendi parçalarına ayrılacaktır..yani noktalara ayrılmayacak...Particle Timing menüsünde "Emit Start" yazan yer patlamanın başlayacağı yeri gösterir. "Emit Stop" ise bitişini.. "Life" parçacıkların ekranda ne kadar süre kalacağını gösterir. Ben ayarlarımı şekildeki gibi yaptım. 10.frame de patlama başlicak...
Partical type menüsünden Object fragment seçtim ki nesne kendi parçalarına ayrılsın yani noktacıklar atmasın...
Object Fragment Controls menüsünde Thickness (Kalınlık) değerini biraz artırdım. Number of chunks işaretleyerek kendim bir değer girdim daha inandırıcı bir patlama olması için. parçalar daha da azaldı...Picked emitter altında get material from işaretledim. parçalar objeyle aynı dokuyu aldı...
şimdi geldik patlayan nesneyi patlamanın gerçekleştiği frame den sonra görünmez yapmaya...buraya kadar geldiyseniz farketmişsinizdir ki patlamanın olduğu 10. frameden sonra asıl nesne "Shape 1" hala ekranda... 0. frame e gelin "animate" butonunu tıklayın ve zaman cursorunu 10. frame kadar getirin.. sonra (animate butonu hala basılı) yapmamız gereken nesnemizin özelliklerine girerek görünmez yapmak. şu anda obje ile "parray obje" üst üste olduğu için seçmekte zorluk yaşayabilirsiniz. bu yüzden "select by name" tool ile nesneyi seçebilirsiniz. özelliklere girdikten sonra "visibility" değerini "0" yapın. okleyin ve animate butonunu kapatın. bu frameden sonra nesnemiz görünmeyecek...
işimiz henüz bitmedi...10.frameden sonra nesnemiz görünmeyecek ama şu an ilk framede de görünmüyor. bu yüzden az önce animate butonunu kullanarak oluşturuğumuz iki anahtar kareye müdahale edeceğiz. 0.framede oluşan keyframe sağ tıklayıp "Sphare 1 visibility" e tıklıyoruz ve şekildeki gibi değişikliği yapıyoruz. artık tamam. patlamamızı gerçekleştirdik.
şimdide sahnemize patlama efekti ekleyeceğiz. bunun için sahneye "sphere gizmo" ekledim ilk olarak patlayan objenin tam üstüne gelecek şekilde..rendering menüsünün altında "environments" işaretledim. açılan menüden add yazan yere tıklayarak "combustion" seçtim. "pick gizmo" yazan yere tıklayıp sahnedeki sphere gizmoyu seçtim. daha sonra environments menüsünün altındaki "explosion" yazan yeri işaretledim. karşınıza gelen kutucuk patlamanın hangi frame de başlayacağıdır. ben 12 seçtim..10.framede nesne patlamaya başlayacak 12. frameden itibaren ise alev başlayacak...en alttaki resimde render yaparken aldığım bi görüntü mevcut..seçenekleri değiştirerek farklı etkiler alabilirsiniz. kolay gelsin...
![]()
2 Mart 2008 Pazar
3ds max ' ta patlama sahnesi
Etiketler:
3D Studio Max
1 Mart 2008 Cumartesi
CRYSIS de MOD yapmak ...
Artık sizde kısmen de olsa bir oyun tasarımcısı olabilirsiniz. :) Yani bununla mümkün olmasada fikir kazanmış olursunuz :) Crysis de ek mod yapın sizin tasarladığınız bölümler de oynansın ... Oyun geliştirici olmak istiyorsanız böyle olanakları takip etmekte fayda var. Mesela ben size mod yapımı için sunulan araçların oyunun yapımından önce kendilerine kolaylık sağlaması açısından oyun ekibi tarafından geliştirilip kullanıldığına inanıyorum.. Neyse fazla söze gerek yok SDK Paketini ve yeterli dökümanı bu siteden edinebilirsiniz. http://www.crymod.com
Etiketler:
Hazır Araçlar
Bir kaç hazır Game Editor ...
Crysis Game Play AMAZING GRAFICS
Bu editörün 2d ve 3d seçenekleri var...
Bu editör de 2d oyunlar için
Etiketler:
Hazır Araçlar
29 Şubat 2008 Cuma
Türk Oyun Projeleri - Hükümran Senfoni
Hükümran Senfoni Oyun ekibi ve firma sahibi ile yapılan röportajlar...
Oyun Firmasının sitesi: http://www.ceidot.com/
Etiketler:
Oyun Haberleri,
Sektör Haberleri
28 Şubat 2008 Perşembe
XNA Örnek Projeleri
Xna Console Uygulaması
DOWNLOAD-İNDİR
Path Finding in 2D
DOWNLOAD-İNDİR
Model Based Collision Detection
KAYNAK KODLARI
Deformable Levels
KAYNAK KODLARI
KEŞKE BU SİTE TÜRKÇE OLSAYDI www.ziggyware.com/
Microsoft XNA Game Studio Express 1.0 Refresh
XBOX ve Windows ta Oyun geliştirmek için Microsoft firmasının acemi programcılara sunduğu güzel bir olanak... Fakat ben C++ ve DirectX ikilisini XNA dan daha performanslı buluyorum, XNA nın avantajı ise kolaylık sağlaması, yani biyerden başlamak lazım... XNA yı indirdikten sonra şunlarda lazım olacak; >Visual Studio 2005 veya Express Edition >Net Framework 2.0 DOWNLOAD İÇİN TIKLAYIN
Delphix Oyun Örnekleri - 1 (ingilizce)
Bu Döküman malesef ingilizce ama Delphi bilen arkadaşlar anlamakta zorlanmayacaktır.. Hello again! It has been a while but now I'm back! The last time we looked at how to create the isometrically tiled world. This time we will look at how to determine the position of the cursor and units. We will also go through basic animation of tiles. For this purpose a new set of graphics have been produced. You can get the whole package with source, graphics and the new converter at CodeCentral. If you don't have the source from my old article then you can download it here. This source is needed since we will be building on it this article. Ok, enough about that! Let's get to the topic. THEORETICAL OVERVIEW ANIMATION Animating an image in DelphiX is a really simple task. The images supplied for this article have a little different look than the old ones. First of all I've expanded the number of tiles to 16. This makes the world more diverse, which is probably needed since the old ones were quite boring. Well anyway, three of these tiles are animated. If you open the bitmaps you will notice that the frames are placed side by side. Like this:Of course it doesn't have the red borders and the numbers. When you load the bitmap into the DXImageList component, there are two properties called PatternHeight and PatternWidth. These are set to the height and width of a single frame. We can now, with the Pattern Number part of the Draw Method, decide which frame to show The first frame is number 0, the second frame number 1, and so on. By changing a variable every time the map is redrawn, we can get the frames to be shown one after the other and thus get an animated tile. Like this:
That is the basics of animation! Of course it gets more complicated when you animate units since they have different animations for different actions. But this is really all there is to it! WORLD POSITIONING Now this is the tricky part. On a screen the coordinate system is quite easy, it looks like this:
But this coordinate system doesn't work very well with the isometric tile. By rotating and skewing the coordinate system we get a more suitable coordinate system. Like this:
In Delphi all positions are given according to the screen coordinate system. But the tiles use the isometric coordinate system or the world coordinate system which is the one in the second image. The hard part is converting between these two coordinate systems. This is where those math classes you took come in handy. Finally, functions are really useful. (And, I don't mean functions as in programming.) A row of tiles is placed along, or follows, the function f(X)=0.46875X or f(X)=0.46875X depending on which axis. (Why all the decimals? Remember in the last article we used the tile height of 30, which divided by 64 is 0.46875. If we use 0.5 instead, which doesn't seem to be too much different, we will get a slight deviation in the positioning system. The cursor will start selecting tiles beside it, in some cases as many as three tiles in the wrong direction.) The X in these function refers to the screen coordinate system. These two functions look like this:
The shaded area is a value above and below the function that the tile is within. Where two shaded areas cross each other we have the shape of a tile. What we have to do in order to figure out which tile the cursor is in is to determine when the tile is inside the shaded area. So, if the Y value of the cursor is between -0.46875X+14 and -0.46875X-14 then the cursor is on the same WorldY as the tile. If the Y value is between 0.46875X+14 and 0.46875X-14 then the cursor is on the same WorldX as the tile. If both these happen at the same time then the cursor is on the tile (where the shaded areas cross). This is just for one tile. What about 100x100 tiles? This picture might give you an idea of how to solve this.
First of all, every row is offset one tile height (30 pixels) from the one above. So, what we do is enumerate through all WorldX rows until we strike the right one. Then we take the number of that row and place it in the TileX Integer. Next, we enumerate through all the WorldY rows and place the right number in the TileY Integer. Finally, we return the two values to the main program. Now, the main program can use these values to get tile info, draw the marker, etc. Ok? Let's implement it in our tiling engine. PRACTICAL IMPLEMENTATION ANIMATION First of all, delete all the old images from the image list and add the new ones. Do not add "Marker.bmp" at this point. For each image change these properties: Place a new DXImageList on your form and call it Markers. Add "Marker.bmp" to this list. Then put this in the global declarations: In the OnCreate event for the form add this: And in the OnTimer event of the DXTimer add this: And in the DrawTiles procedure we replace 0 with Frame in the calls to the Draw procedure. Like this: Remember that this statement occurs twice in the DrawTiles procedure. Remember to change both, or you will have half your map not animating. Now save and test your program. You cannot use the old editor because of changes to the file structure. But you can download a converter from CodeCentral. This converter converts four-bit bmps to .map files. This way you can create a 50x50 pixel map in an image editor and save it as a 4bit (16 color) bitmap. And then convert it for use with the tiling engine. If your frame rate is too high then the animation may look bad. Just set Interval of the Timer to 33 to fix this. This will give you a frame rate of 30 fps. Well, that's all for animation! Now let's get to the hard part! WORLD POSITIONING First of all we need to make some declarations. Add this to the type declaration of TTile: Also declare this procedure: Next create the procedure with this code in it: Then in the OnMouse move event of the DXDraw component add this: This unmarks the old tile and marks the new one. Then add this line under the Draw function in the DrawTiles procedure. Be sure to add it under both function calls, as each one is just for half the map. This draws a marker on the marked tile making it easier to see what tile is marked. Change this line in the OnTimer event: to:
27 Şubat 2008 Çarşamba
DirectX Nedir?
DirectX nedir?Windows, bilgisayarınızın çoklu ortam özelliklerini artıran DirectX 8.0'ı destekler. DirectX, görüntü ve ses kartlarınızın yeteneklerine erişim olanağı vererek, programların gerçekçi üç boyutlu (3B) grafikler ve derinlikli müzik ve ses efektleri oluşturmasına olanak sağlar. DirectX, Windows programlarına donanımla hızlandırılmış yüksek performanslı çoklu ortam desteği sunan bir dizi alt düzey Uygulama Programlama Arabirimi'nden (API) oluşur. DirectX, programın bilgisayarınızın donanım yeteneklerini kolayca belirlemesine olanak verir, ardından da karşılık düşen program parametrelerini ayarlar. Bu, çoklu ortam uygulamalarının, DirectX uyumlu donanıma ve sürücülere sahip olan Windows tabanlı herhangi bir bilgisayarda çalışmasını sağlar ve çoklu ortam programlarının yüksek performanslı donanımdan sonuna kadar yararlanmasını güvence altına alır. DirectX, 3B grafik hızlandırıcı yongaları ve ses kartları gibi yüksek performanslı donanımın gelişmiş özelliklerine erişim sağlayan bir API kümesi içerir. Bu API'ler, iki boyutlu (2B) grafik hızlandırma dahil alt düzey işlevleri denetler, oyun çubukları, klavyeler ve fareler gibi giriş aygıtlarını destekler ve ses karıştırma işlemini ve ses çıkışını denetler. Alt düzeyli işlevler, DirectX'i oluşturan şu bileşenler tarafından desteklenir: Microsoft DirectDraw Microsoft DirectDraw API, bilgisayarın video bağdaştırıcısının, hızlandırılmış donanım özelliklerine çok hızlı erişimini destekler. Tüm görüntü bağdaştırıcılar üzerindeki grafikleri görüntülemenin standart yöntemlerini ve hızlandırılmış sürücülerin kullanılması sırasında daha hızlı, daha doğrudan bir erişimi destekler. DirectDraw, belirli görüntüleme aygıtlarına, bunların yetenekleri hakkında kullanıcıdan ek bilgi alma gereği kalmadan, oyunlar ve 2B grafik paketleri gibi, programlar için aygıttan bağımsız bir yol ve dijital görüntü codec bileşenleri gibi Windows sistem bileşenleri sağlar. Microsoft Direct3D Microsoft Direct3D API (Direct3D), yeni görüntü kartlarının çoğunda yerleşik olan 3B oluşturma işlevlerine bir arabirim sağlar. Direct3D, hızlandırıcı donanımı ile verimli ve güçlü bir iletişim sağlamak için yazılım programlarına aygıttan bağımsız bir yol sağlayan alt düzey bir 3B API'dir. Direct3D, özel CPU yönerge kümeleri için destek içerdiğinden, görece yeni bilgisayarlarda daha büyük hızlanma sağlar. Microsoft DirectSound Microsoft DirectSound API, programlar ile ses bağdaştırıcısının ses karıştırma, ses çalma ve ses yakalama yetenekleri arasında bir bağlantı sağlar. DirectSound, çoklu ortam yazılım programlarına düşük gecikme süreli karıştırma, donanım hızlandırması ve ses aygıtına erişim sağlar. Bu özelliği, var olan aygıt sürücüleri ile uyumu sürdürerek sağlar. Microsoft DirectMusic Microsoft DirectMusic API, DirectX'in etkileşimli ses bileşenidir. DirectMusic, dijital ses örneklerini yakalayan ve çalan DirectSound API'sinden farklı olarak, hem dijital sesle, hem de ses kartınız veya kendi yerleşik yazılım birleştiricisi aracılığıyla dijital sese dönüştürülen ileti tabanlı müzik verileri ile çalışır. DirectMusic API, MIDI (Müzik Aleti Dijital Arabirimi) biçimine giriş desteği sağlar ve hem sıkıştırılmış hem de sıkıştırılmamış dijital ses biçimlerini destekler. DirectMusic, yazılım geliştiricilerine, derinlikli, yazılım ortamındaki çeşitli değişikliklere (şüphesiz bunların başında kullanıcı girdileri gelir) yanıt veren dinamik parçalar oluşturma olanağı sunar. Microsoft DirectInput Microsoft DirectInput API, oyunlar için gelişmiş giriş sağlar ve gerek oyun çubuklarından gerekse fare, klavye ve güç yansımalı oyun denetleyicileri gibi başka ilgili aygıtlardan gelen girdileri işler. Microsoft DirectPlay Microsoft DirectPlay API, modem, Internet veya Yerel Ağ üzerinden oyun bağlantılarını destekler. DirectPlay, iletişim hizmetlerine erişimi basitleştirir ve iletişim kuralından bağımsız olarak oyunların birbirleriyle iletişim kurmalarına veya çevrimiçi hizmete bir yol sağlar. DirectPlay, çok oyunculu oyunların başlatılmasını kolaylaştıran lobi hizmetleri sunar ve önemli oyun verilerinin ağda kaybolmamasını güvence altına almak için güvenilir iletişim kurallarını destekler. DirectPlay 8.0'deki yeni özellikler, çok oyunculu takım oyunlarının oynanabilirliğini önemli ölçüde artıracak olan, ağ üzerinden sesli iletişim desteğidir; böylece, oyunu oynayan öteki kişilerle konuşma olanağı sağlayarak, sosyal oyunlara yeni bir boyut getirmiştir. Microsoft DirectShow Microsoft DirectShow API, bilgisayarınızda ve Internet sunucularında yer alan çoklu ortam dosyaları için yüksek kalitede yakalama ve oynatma olanağı sağlar. DirectShow, ASF (Advanced Streaming Format), AVI (Audio-Video Interleaved), DV (Digital Video), MPEG (Motion Picture Experts Group), MP3 (MPEG Audio Layer-3), Windows WMA/WMV (Media Audio/Video) ve WAV dosyaları dahil olmak üzere çok çeşitli ses ve video biçimlerini destekler. DirectShow, video yakalama, DVD oynatma, video düzenlemeye ve karıştırmaya, donanımla hızlandırılmış video kod çözmeye ve analog ve dijital televizyon sinyallerinin alınmasına olanak sağlar.
Bir Oyunun Kısımları
Bir video oyunu ,gerçekte, değişik eylemleri gerçekleştiren döngülerden meydana gelir. Programcılar, oyun programlamanın dünyasına girdiklerinde, nadiren; basit bir Pong veya Asteroid oyunu için bile gerekli olan tüm unsurları düşünür ve kolayca etkisi altına girebilirler. Bu muhtemelen olay-güdümlü yaklaşıma alışık olmadığnız anlamına gelir. Şimdi başlığımıza, bir oyunun 7 aşamasına dönelim ve baştan sona bir dizi halinde yazıp bu evreleri açıklayalım.Aşama I : Programı İlk Kullanıma Hazırlamak Burası gösteriye başladığınız yerdir. Oyununuz için bir pencere oluşturur; kullanmak için DirectX kurulumunu gerçekletirir; grafikler, modeller ve diğer medyaları yükler, bellek tahsisi vs. birsürü eylemi gerçekleştirirsiniz. Aşama II : Oyuna Başlamak Bu aşama esasında oyununuzu oynanabilir kıldığınız kısımdır. Bu bir harita seçmek; oyuncunuzun konumunu belirlemek (ve herkesin) veya rasgele değerler atamak (mesela rasgele bir arazi) olabilir ki bunlar oyunun başlangıcına karar verirler. Aşama III : Kullanıcıdan Girdi Almak Bu aşamada klavye,mouse,joystick gibi; oyuncunun kullandığı kontrollerden tüm bilgileri alırsınız. Bu evre genel olarak DirectInput dersinde ele alınacaktır. Aşama IV : Oyun Mantığı; Yapay Zeka ve Fizik Bu aşamada dünyanızda neler olup bittiği önemlidir. Oyuncu tam olarak ne yapıyor? Hangi yöne gidiyor? Ne kadar mermisi kaldı? Gelen veya giden düşman var mı? Kendi ittifakları neler yapıyor? Bir düşmanla karşılaştığında her ikisinin tepkisi ne oluyor? Vs.vs… Tüm bunlar ve çok daha fazla olay bu aşamada ele alınır. Aşama V : Grafik İşlemek (Render) Bu aşama, DirectX ‘in en çok kullanıldığı aşamadır. Tüm 2D ve 3D grafikler ekrana işlenir. Bu kısım da Direct3D derslerinde ele alınacaktır. Aşama VI : Tekrar (Restart) Basitçe; 3.aşamaya döner ve herşey baştan,tekrardan yapılır. Aşama VII : Temizlik (Cleanup) Hafızayı (mem) mı çağırmıştınız? Bu sizin bellekteki herşeyi temizlemek için son şansınız; çünkü programınız sona ermek üzere J. Çeşitli arayüzler için gerçekleştirilen DX çağrıları da kapatılmış veya ‘bırakılmış (released)’ olmalı. İşte tüm bu temizlik bu aşamada gerçekleşir! Peki, tüm bunlar nasıl bir araya gelirler? Belki farketmişsinizdir, yukarıdaki tüm aşamalar, ‘çıkış’ talep edilene kadar bir döngü içerisinde devam eder. Ayrıca yukarıdaki şemada tüm parçaların nasıl bir araya geldiğini gördünüz Hiç kuşkusuz bu aşamaları, sadeleştirilmiş bir biçimde sizlere sadece hızlı bir ‘gözden geçirme’ olarak sunduk.Ağ, açılış ekranları (splash), animasyonlu bir menü,ses müzik ve dahasını sizler bunların üzerine ekleyebilirsiniz (ve ileride ekleyeceksiniz de). Bunların bir kısmı oldukça kolay.Örneğin bir açılış ekranını, bir dilim kek olarak düşünebilirsiniz; çünkü yapmanız gereken sadece programın başlangıcına bir pencere eklemektir! Bazıları kolay olduğu gibi, bazıları da gerçekten çok daha fazla karmaşık bir hal alabiliyor. Network (ağ) gibi çoklu bilgisayar (oyuncu) olanağı sağlayan sistemleri örnek olarak verebiliriz. Bu bölümü bu kadar uzattığımız yeter… Gelecek derste, bir Windows programının nasıl çalıştığını, basit bir pencere oluşturmayı ve basit oyun döngüsü planlamayı göreceğiz. Buraya kadar henüz programlamaya elimizi sürmüş değiliz, ama artık nereden başlayacağımızı biliyoruz! Bu nedenle, artık dalışa geçebiliriz! kaynak: pcreferans.com
Kaydol:
Kayıtlar (Atom)

