free!
artık yok...
Sony firmasının el konsolu olan sony playstation portable (PSP olarak anılacaktır) 3D yeteneği ve birbirinden güçlü multimedia özellikleri sayesinde birçok kişinin beğenisini kazandı. 1.8GB kapasiteli UMD disk sayesinde DVD video ve oyunlar oynayabilme imkanımız var. Ekran boyutunun çok küçük olması nedeni ile grafik ve animasyonlarda oldukça büyük kapasite farkları meydana çıkıyor ve buda bize çok uzun bir oyun oynama süresi veriyor. Kalite olarak rahatlıkla PS2 kalitesinde diyebilirim, Ayrıca bizim esas konumuz olan oyun programlamak içinde çok uygun bir cihazdır. PSP Firmware adlı bir işletim sistemi ile çalışmaktadır, Herneyse bu sistemin 1.50 versiyonunda bırakılan bir açıklık yüzünden kendi yazdığınız oyunları makinede deneyebiliyorsunuz. İlk bakışta bu okadar önemsiz gibi gelebilir ama şunu unutmayın programla müdahale edilebilen her makine mutlaka crack'lanmaya mahkümdür ve nitekim bu böylede oldu. Bu açıklık yüzünden birçok ISO emulatorler ve UMD emulatörler yazıldı. Bunun neticesinde kopya oyunlar PSP'de de boy gösterdi. Sadece kopya oyunlarda olsa yine iyi, tutup bu sisteme windows ve linux işletim sistemini yüklemeye kalkıştılar. Buda bize PSP'nin nekadar güçlü bir makine olduğunu gösteriyor. Laf aramızda saniyede 400 pfs sprite çizim hızını görünce gözlerime inanamadım. İster hobi olarak isterse ticari olarak (ki bu nasıl olacaksa) bu makineyi programlamayı öğrenmek istiyor olabilirsiniz. PS3 çıktığında PS3'ünde SDK'ları dağıtılacaktır büyük ihtimal ama PSP kadar kolay oyun geliştirilebileceğini hiç sanmıyorum. Çünkü o makine için 1 televizyon 1'de PS3 Konsol Emulatör Cihazı ve son olarak birde PC gerekli ama PSP'de sadece PC yeterli olacaktır (desemde inammayın) donanımsal olarak PC ve PSP yeterli ama yazılımsal olarak gerekli şeyleri bulmalısınız. Aşağıda neler gerekiyor ayrıntıları ile anlattım, bunları kullanarak PSP için oyun yazmaya başlayabiliriz.
Neler Gerekli:
Öncelikle şunu bilmelisiniz PSP'nin doğal dili C++'dır. Bu dili kullanarak her türlü makineyi programlayabilirsiniz, Editör seçimi olarak iyi bir İDE C++ editörü kullanabilirsiniz. Normalde Cygwin denilen yazılımı bilgisayara kurarak sizde işe başlayın derdim ama sizin için işi basitleştirdim. Adım adım yapmanız gerekenleri yazdım. İşlemleri 1 kez yapıp derleyiciyi yapılandırdınızmı gerisi çok kolay zaten...
1- Programlama için C++ editörü:
Birçoğunuz C++ deyince Visual C++ anlıyor ama bu o anlama gelmez arkadaşlar, sadece o editörler ile söz dizimlerini renkli ve doğru yazıp yazmadığınızı görebilirsiniz. C++ dilini çok iyi biliyorsanız Notdefteri ile bile program yazabilirsiniz. Bunu unutmayın. Ama isteyen olursa Visual C++ dilinide kullanabilir tabiki, nasıl olsa derleme işlemini Visual C++ yapmayacak
Lisans problemi yaşamak istemiyorsanız sizde benim gibi yapın ve Dev-C++ editörünü kullanın (Üstelik türkçe) . Bu C++ editörüde PSP için derleme yapmayacak ama editör olarak beğeniyorum. (Zaten .NET framework saçmalığına bi türlü alışamadım) Neyse, bunu indirin ve bilgisayarınıza kurun. Ama bu şart değil, eğer Visual C++ varsa oda iş görür...
2- Makefile ve C++ Derleyicisi:
PSP Derleyici ve SDK için gerekli olan biryığın işlem var ama ben hepsinin tek bünyede toplanmış bir yazılımda dağıtıldığını gördüm. Pspdev denen bir yazılımın içerisinde bize derleme için gereken tüm dosyalar var. Bu yazılım indirdiğinizde 15MB civarında ama kurduğunuzda 150MB ciarında oluyor. Ancak bu gözünüzü korkutmasın çünkü Cygwin yazılımını eğer indirseydik buda 1GB'den daha fazla yer alırdı. Neyseki 45MB ile kurtuluyorsunuz. PSP SDK larını buraya basarak indirebilirsiniz.
SDK ve Derleyicileri Yapılandıralım:
1.Adım: Eğer DevC++'yı kullanacaksanız bunu bilgisayarınıza kurun, eğer zaten Visual C++ yada başka bir C++ editörünüz varsada sorunyok, onlarda iş görür...
2.Adım: SevenZip programını bilgisayarınıza kurun. (Bu sıkıştırma yazılımıdır, herşey bununla sıkıştırılmıştır)
3.Adım: indirdiğiniz Pspdev'de yazılımını ı "c:/pspdev" olarak kurun, yani bu klasöre girdiğimizde Bin, include, lib, psp gibi klasörleri görebileyim.
4.Adım: Şimdi bilgisayarınızı birkez kapatalım, sistemin yeni değişiklikleri tanıyabilmesi için...
Hadi ilk uygulamamızı derlemeyi ve test etmeyi öğrenelim:
ilk önce Masaüstüne bir klasör oluşturun, Adına "Psp_Oyunum" adını verin, şimdide C++ editörünüzü çalıştırın, ben Dev-C++ kullandığım için ona göre anlatacağım. Yeni bir kaynak dosyası oluşturun, bu işlemi CTRL + N 'ye basarakta yapabilirsiniz. Açılan boş sayfaya aşağıdaki kodu ekleyin.
şimdide bu sayfayı Masaüstüne oluşturduğunuz "Psp_Oyunum" adlı klasöre "main.c" olarak (dikkat edin main.cpp'değil) kaydedin. Kaynak dosyamız derlenmeye hazır ama bu iş için yapmamız gereken bir işlem daha var. Oda C++ kodunuzun PSP makine diline dönüşmesi için gereken Makefile dosyasını oluşturmak. Şimdi Windows'un notdefterini çalıştırın ve içerisine aşağıdaki yazıları yazın.
şimdide dosyayı Masaüstündeki "Psp_Oyunum" adlı klasöre yani "main.c" nin yanına kaydedin. Dosya adı olarak sadece "Makefile" olarak yazın, dosyayın herhangibir uzantısı olmamalı, unutmayın dosya adı sadece "Makefile" olmalıdır. Eveeet işte bukadar, ilk Psp programınız derlenmeye yazır. Şimdi tekrar windows notdefterini çalıştırın ve yeni bir dosya oluturun ve içerisine aşağıdaki yazıları yazın ;
bu dosyayıda "Derle.bat" olarak adlandırıp Masaüstündeki diğer dosyaların yanına kaydedin. Şimdi Masaüstündeki bu "Psp_Oyunum" adlı bu klasöre gidip "Derle.bat" dosyasına çift tıklatın ve Program derlensin... Eğer doğru yaptıysanız 4 tane yeni dosya oluştuğunu göreceksiniz. Bunlar "EBOOT.PBP", "Main.o", "Oyun.elf" ve "Param.sfo" adlı dosyalardır. "Main.o" ve "Param.sfo" dosyalarını silin, bunlar önemsizdir. Geriye "Eboot.pbp" ve "Oyun.elf" dosyası kalsın. Şimdi PSP bilgisayara bağlı değilse bağlayın ve PSP/GAME klasörüne gidin ve bu klasör içerisine 2 adet sağ tuşla tıklatarak klasör oluşturun 1.klasörün adına "Oyun" yazın, 2.klasörün adınada "Oyun%" yazın. Masaüstündeki "Psp_Oyunum" klasörüne gelin ve oradaki "EBOOT.PBP" dosyasını alıp PSP/GAME/Oyunu%/ klasörü içerisine kopyalayın. Tekrar Masaüstündeki "Psp_Oyunum" isimli klasörden "Oyun.elf" adlı dosyayı seçip PSP/GAME/Oyun/ klasörüne atın ve "Oyun.elf" adlı dosyayı yeniden adlandırarak "EBOOT.PBP" olarak değiştirin. Bu arada hangi dosyayı hangi klasöre attığıma dikkat edin "%" işareti önemlidir. Şimdi PSP'ye geçip Game adlı başlıktan yaptığımız oygulamayı bulun ve çalıştırın.... EVET siz bir PSP oyunu yazdınız (Yani oyununda olabilecek bir satır yazıyı yazdınız) "Oyun" adlı klasörün içerisinde çalışabilir dosya vardır, "Oyun%" klasöründe ise oyunun adı,müzik dosyası ve resimler vardır...
:hh?
ilgi duyanlar, bilgi sahibi olanlar profildeki msn den bana ulaşabilir, ortak çalışmalarda bulunabiliriz.
iyi programlamalar
Neler Gerekli:
Öncelikle şunu bilmelisiniz PSP'nin doğal dili C++'dır. Bu dili kullanarak her türlü makineyi programlayabilirsiniz, Editör seçimi olarak iyi bir İDE C++ editörü kullanabilirsiniz. Normalde Cygwin denilen yazılımı bilgisayara kurarak sizde işe başlayın derdim ama sizin için işi basitleştirdim. Adım adım yapmanız gerekenleri yazdım. İşlemleri 1 kez yapıp derleyiciyi yapılandırdınızmı gerisi çok kolay zaten...
1- Programlama için C++ editörü:
Birçoğunuz C++ deyince Visual C++ anlıyor ama bu o anlama gelmez arkadaşlar, sadece o editörler ile söz dizimlerini renkli ve doğru yazıp yazmadığınızı görebilirsiniz. C++ dilini çok iyi biliyorsanız Notdefteri ile bile program yazabilirsiniz. Bunu unutmayın. Ama isteyen olursa Visual C++ dilinide kullanabilir tabiki, nasıl olsa derleme işlemini Visual C++ yapmayacak
2- Makefile ve C++ Derleyicisi:
PSP Derleyici ve SDK için gerekli olan biryığın işlem var ama ben hepsinin tek bünyede toplanmış bir yazılımda dağıtıldığını gördüm. Pspdev denen bir yazılımın içerisinde bize derleme için gereken tüm dosyalar var. Bu yazılım indirdiğinizde 15MB civarında ama kurduğunuzda 150MB ciarında oluyor. Ancak bu gözünüzü korkutmasın çünkü Cygwin yazılımını eğer indirseydik buda 1GB'den daha fazla yer alırdı. Neyseki 45MB ile kurtuluyorsunuz. PSP SDK larını buraya basarak indirebilirsiniz.
SDK ve Derleyicileri Yapılandıralım:
1.Adım: Eğer DevC++'yı kullanacaksanız bunu bilgisayarınıza kurun, eğer zaten Visual C++ yada başka bir C++ editörünüz varsada sorunyok, onlarda iş görür...
2.Adım: SevenZip programını bilgisayarınıza kurun. (Bu sıkıştırma yazılımıdır, herşey bununla sıkıştırılmıştır)
3.Adım: indirdiğiniz Pspdev'de yazılımını ı "c:/pspdev" olarak kurun, yani bu klasöre girdiğimizde Bin, include, lib, psp gibi klasörleri görebileyim.
4.Adım: Şimdi bilgisayarınızı birkez kapatalım, sistemin yeni değişiklikleri tanıyabilmesi için...
Hadi ilk uygulamamızı derlemeyi ve test etmeyi öğrenelim:
ilk önce Masaüstüne bir klasör oluşturun, Adına "Psp_Oyunum" adını verin, şimdide C++ editörünüzü çalıştırın, ben Dev-C++ kullandığım için ona göre anlatacağım. Yeni bir kaynak dosyası oluşturun, bu işlemi CTRL + N 'ye basarakta yapabilirsiniz. Açılan boş sayfaya aşağıdaki kodu ekleyin.
PHP:
#include <pspkernel.h>
#include <pspdebug.h>
PSP_MODULE_INFO("PSP_OYUNUM", 0, 1, 1); // Bu kısım oyun adı değil derlenen PSP dosyası'nın imzasıdır.
#define Yaziyaz pspDebugScreenPrintf // PSP için ekrana yazı yazma yordamını Yaziyaz dediğimde yazacak şekilde değiştirdim.
/* Oyundan Çıkış için Geribildirim Yaptım */
int Kapat_GeriBildirim(int param1, int param2, void *ortak) {
sceKernelExitGame(); // Oyundan Çıkış (Yada Uygulamadan)
return 0;
}
/* Açılış Geribildirimi */
int AcilisGeriBildirimi(SceSize args, void *argp) {
int gbid; //Geri Bildirim İD(Kimlik numarası)
gbid = sceKernelCreateCallback("Kapat Geribildirimi", Kapat_GeriBildirim, NULL);
sceKernelRegisterExitCallback(gbid);
sceKernelSleepThreadCB();
return 0;
}
// Geri Bildirimlerin Ayarlanması, Dönen değerler İD (Kimliklere Gönderilir)
int GeriBildirimleriAyarla(void) {
int ayid = 0; //Ayarlar İD Kimlik Numarası
ayid = sceKernelCreateThread("Yenile", AcilisGeriBildirimi, 0x11, 0xFA0, 0, 0);
if(ayid >= 0) {
sceKernelStartThread(ayid, 0, 0);
}
return ayid;
}
int main() // Unutmayın C++'da main herzaman için ilk çağrılan yordamdır ve değişemez !!!
{
pspDebugScreenInit();
GeriBildirimleriAyarla(); //Tanımdadığımız geri bildirimleri parametrelere uygun olarak çalıştırıp bellekte tutar
Yaziyaz("Tebrikler, bu yaziyi PSP'de yazdiysaniz ilk PSP projeniz tamamdir.\n");
Yaziyaz("Programlayan : \n");
sceKernelSleepThread();
return 0;
}
şimdide bu sayfayı Masaüstüne oluşturduğunuz "Psp_Oyunum" adlı klasöre "main.c" olarak (dikkat edin main.cpp'değil) kaydedin. Kaynak dosyamız derlenmeye hazır ama bu iş için yapmamız gereken bir işlem daha var. Oda C++ kodunuzun PSP makine diline dönüşmesi için gereken Makefile dosyasını oluşturmak. Şimdi Windows'un notdefterini çalıştırın ve içerisine aşağıdaki yazıları yazın.
PHP:
TARGET = Oyun
OBJS = main.o
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = ilk C++ Programim
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
şimdide dosyayı Masaüstündeki "Psp_Oyunum" adlı klasöre yani "main.c" nin yanına kaydedin. Dosya adı olarak sadece "Makefile" olarak yazın, dosyayın herhangibir uzantısı olmamalı, unutmayın dosya adı sadece "Makefile" olmalıdır. Eveeet işte bukadar, ilk Psp programınız derlenmeye yazır. Şimdi tekrar windows notdefterini çalıştırın ve yeni bir dosya oluturun ve içerisine aşağıdaki yazıları yazın ;
PHP:
set path=%path%;c:\Pspdev\bin
make
bu dosyayıda "Derle.bat" olarak adlandırıp Masaüstündeki diğer dosyaların yanına kaydedin. Şimdi Masaüstündeki bu "Psp_Oyunum" adlı bu klasöre gidip "Derle.bat" dosyasına çift tıklatın ve Program derlensin... Eğer doğru yaptıysanız 4 tane yeni dosya oluştuğunu göreceksiniz. Bunlar "EBOOT.PBP", "Main.o", "Oyun.elf" ve "Param.sfo" adlı dosyalardır. "Main.o" ve "Param.sfo" dosyalarını silin, bunlar önemsizdir. Geriye "Eboot.pbp" ve "Oyun.elf" dosyası kalsın. Şimdi PSP bilgisayara bağlı değilse bağlayın ve PSP/GAME klasörüne gidin ve bu klasör içerisine 2 adet sağ tuşla tıklatarak klasör oluşturun 1.klasörün adına "Oyun" yazın, 2.klasörün adınada "Oyun%" yazın. Masaüstündeki "Psp_Oyunum" klasörüne gelin ve oradaki "EBOOT.PBP" dosyasını alıp PSP/GAME/Oyunu%/ klasörü içerisine kopyalayın. Tekrar Masaüstündeki "Psp_Oyunum" isimli klasörden "Oyun.elf" adlı dosyayı seçip PSP/GAME/Oyun/ klasörüne atın ve "Oyun.elf" adlı dosyayı yeniden adlandırarak "EBOOT.PBP" olarak değiştirin. Bu arada hangi dosyayı hangi klasöre attığıma dikkat edin "%" işareti önemlidir. Şimdi PSP'ye geçip Game adlı başlıktan yaptığımız oygulamayı bulun ve çalıştırın.... EVET siz bir PSP oyunu yazdınız (Yani oyununda olabilecek bir satır yazıyı yazdınız) "Oyun" adlı klasörün içerisinde çalışabilir dosya vardır, "Oyun%" klasöründe ise oyunun adı,müzik dosyası ve resimler vardır...
:hh?
ilgi duyanlar, bilgi sahibi olanlar profildeki msn den bana ulaşabilir, ortak çalışmalarda bulunabiliriz.
iyi programlamalar