Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Oyun yazmak için en uygun programlama dili?


n0body

Öne çıkan mesajlar

Şu an sadece visual basic biliyorum.... onunla da bi oyun yazdım ama tabi yeteri kdr güzel grafikler koyamadığım için falan ot gibi bi oyun oldu... button lara adam gibi resim konmuyo vs vs.... bi de tabi şirketlere program yazma amaçlı bi dil olduğu için oyun yazmak abuk kaçtı :D

önerdiğiniz başka programlama dili varmı oyun için uygun?[signature][hline]Yukarıdaki yazıların yarısı yalandır...
Link to comment
Sosyal ağlarda paylaş

Sayın n0body
Button'lara resim eklemeniz ve/veya ekleyememenizin kullandığınız programlama dili ile hiçbir alakası yoktur.
Kaynak:Win32SDK--->Controls
Sayın Arthur_HellsFire
Yaptınız bu çıkartımın sebeblerini bizimle paylaşırmısını ?
=======================================

Benim tecrübelerime göre eğer piysa değeri olan bir oyun yazılmak isteniyorsa mutlaka assembly öğrenilmeli ve kullanılmalıdır...
Çünkü günümüzde donanım grafik hesaplamaları için özelleşmiş yapılar içerir.Bu yapıların hız ve üstünlükleri kullanmanın yoluda onlarla direkt iletişim kurmaktan geçer.Buda gerek bazı dillerin sağladığı "inline" assembly komutlarıla gerekse assembler'ların kullanımı ile sağlabilir.[signature][hline]1...2...3... ee ya sonrası ?
Criminal2's HomePage

[Bu mesaj Criminal2 tarafından 05 Haziran 2004 12:18 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

öeh be Crim, nobody visual basic diyo, quake4 yazacam gibi bi iddiası da yok!

şimdi amacına göre söyleyebilirim, Visual basic le de oyun yazılır hem 3d hem 2d. resimli buttonlar için falan visual basic sitelerine bakabilirsin orlarda bol bol kaynak kod tutorial vardır. (sayın Crim, vb nin buttonları windows controlleri değil, microsoftun ayrıca çıkarttığı ActiveX nesneleri). hatta google dan "image button" form background image, falan diye aratırsan bişiler bulabilirsin. hatta ve hatta aha da burası çok güzel bi başlangıç olur.
http://directory.google.com/Top/Computers/Programming/Languages/Visual_Basic/

eğer ben visual basic de opengl çalışmak istiyorum dersen (3D), o da çok zor değil, zaten opengl toplasan 20-25 ana fonksiyondan oluşuyor ki onlarla da uğraşmak çok kolay. http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01 burda yukardaki c kodları gözünü tırsıtmasın, basit şeyler onlar, sen hemen en aşağıya in, en altta Visual Basic için dersle ilgili örnek kodlar var onları incele(abuk subuk deneyler yap) sonra dersi oku, sonra bi sonraki derse geç, 5. 6. derste sanıyorumki sevimli bir şeyler çıkartabilirsin :)

ama ben bu işi ilerletecem diyorsan C az ilersinde de C++'a geçmen daha iyidir, ama flashla oyun yazılıyosa visual basic le haydi haydi yazılır hem de daha güzel olur.[signature][hline]KEDIDIR KEDI !
Link to comment
Sosyal ağlarda paylaş

said:
Criminal2, 05 Haziran 2004 12:16 tarihinde demiş ki:
Benim tecrübelerime göre eğer piysa değeri olan bir oyun yazılmak isteniyorsa mutlaka assembly öğrenilmeli ve kullanılmalıdır...
Çünkü günümüzde donanım grafik hesaplamaları için özelleşmiş yapılar içerir.Bu yapıların hız ve üstünlükleri kullanmanın yoluda onlarla direkt iletişim kurmaktan geçer.Buda gerek bazı dillerin sağladığı "inline" assembly komutlarıla gerekse assembler'ların kullanımı ile sağlabilir.


veya gider pasa pasa Dx ve GL fonksiyonlarini ogrenir, istedigin dille yazarsin.

Belirli bir algoritma kurma temeli saglanmadan, asm ogrenmenin oyun programlamasina bir yarari olacagini sanmiyorum.[signature][hline]There are 10 types of people in the world: Those who understand binary, and those who don't..
Link to comment
Sosyal ağlarda paylaş

ha birde ben bu işle hobi olarak uğraşacam diyorsan, Visual Basic, sonra az biraz C bilgisiyle Borland C++ Builder a geçebilirsin, ardından da Visual C++ ve diğer compilera geçersin. ama ciddi ciddi programcılık edecem dersen, hemmen koşuyosun bi C/C++ kitabı alıyorsun okumaya başlıyorsun ardından da Visual C++ a geçiyorsun (geçtiğinde forumlara mesaj at ve hemen MFC ye bulaşma)[signature][hline]KEDIDIR KEDI !
Link to comment
Sosyal ağlarda paylaş

said:
Criminal2, 05 Haziran 2004 12:16 tarihinde demiş ki:
Sayın Arthur_HellsFire
Yaptınız bu çıkartımın sebeblerini bizimle paylaşırmısını ?

tabiki asm demen doğru çünkü asm makina dilinin kısaltmalar ile yapılmış bir programlama dili ancak c++ bu konuyu daha basitleştirmesinden c++ dedim yoksa asmnin ne olup ne olmadığını bilmediğimden değil
Link to comment
Sosyal ağlarda paylaş

said:
sharky, 05 Haziran 2004 15:43 tarihinde demiş ki:
said:
Criminal2, 05 Haziran 2004 12:16 tarihinde demiş ki:
Benim tecrübelerime göre eğer piysa değeri olan bir oyun yazılmak isteniyorsa mutlaka assembly öğrenilmeli ve kullanılmalıdır...
Çünkü günümüzde donanım grafik hesaplamaları için özelleşmiş yapılar içerir.Bu yapıların hız ve üstünlükleri kullanmanın yoluda onlarla direkt iletişim kurmaktan geçer.Buda gerek bazı dillerin sağladığı "inline" assembly komutlarıla gerekse assembler'ların kullanımı ile sağlabilir.


veya gider pasa pasa Dx ve GL fonksiyonlarini ogrenir, istedigin dille yazarsin.

Belirli bir algoritma kurma temeli saglanmadan, asm ogrenmenin oyun programlamasina bir yarari olacagini sanmiyorum.

Dx ve Gl sistemlerini zaten kullanmak zorundasınız.

Asm'in kullanımına güzel bir örrnek TomRaider:Dark Angel'dır.
Daha Option kısmında size SSE2,SSE,3dNow vb... kullanıp kullanmayacağınızı soruyor bu tip uygulama ancak asm ile yapılabilir.
(Dip Not: Bazı arkadaşlar hemen "biz derleyicimizle zaten bu opt.'ları yapıyoruz diyeceklerdir."
Onlar sormadan ben cevabı söyleyeyim. Sizin derleyiciniz SIMD(single-instruction, multiple-data)'yı desktemez. Böylecede bir işe yaramaz... :)(gcc+VC)[signature][hline]1...2...3... ee ya sonrası ?
Criminal2's HomePage
Link to comment
Sosyal ağlarda paylaş

said:
Rahan, 05 Haziran 2004 15:41 tarihinde demiş ki:
(sayın Crim, vb nin buttonları windows controlleri değil, microsoftun ayrıca çıkarttığı ActiveX nesneleri).

Sayın Rahan;
VB5-6 için Windows Controlleridir. Sanırım siz Class isimlerinin değişik olmasında dolayı bir yanılgıya düştünüz.

WNDCLASS struct'unun yapısına uygundurlar..

(Tabii ben vb#net ile çalışmadım belki orada ActiveX'dir ?? ?? ?? ?? )[signature][hline]1...2...3... ee ya sonrası ?
Criminal2's HomePage

[Bu mesaj Criminal2 tarafından 05 Haziran 2004 17:44 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

açıyorsun Visual Studio.Nette herhangi bi projeyi

Project->'projeadı' Properties->C++->Optimization bölmesinden
Optimize for processor satırının alabildiği değerlere bakıyorsun, ordaki Pentim 4 and Above (/G7) yi işaretliyosun.

ki bunu 2. ye söylüyorum C++ platforma özel bir dil değildir, implemantasyonu apple içinde yapılabilir, comodore64 için de, yeni teknolojiler için asm optimizasyonu compilerın sorumluluğunda olan bişiydir, beni ırgalamaz. eğer hız hız diye inlersem ve compilerın optimizasyonunu beğenmezsem __asm{blablabal} yazarım olur biter.

ayrıca tomb raiderın öyle soru sorması güzel bişi değil tam anlamıyla saçmalık, eğer azcık akılları olsaydı işlemcinin ne gibi teknolojileri destekleyip desteklemediğini sorgulayan asm komutlarını kullanırlardı. ayrıca o tip uygulamalar sadece asm ile yapılmaz, o optimizasyonları destekleyen herhangi başka bi compilerla da yapılır (böyle bi compiler var mı yok mu bilmiyorum ama yapılması gayet mümkündür, eğer yoksa ilerde ben bi tane yaparım artıkın)
edit:macos demişim apple olcaktı
[signature][hline]KEDIDIR KEDI !

[Bu mesaj Rahan tarafından 05 Haziran 2004 18:14 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

ya gidip tomb raider yazmıcam ben naaptınızz ya :D :D ehue

mission riski oynamış olanınız varmı ? www.missionrisk.com idi glb :D
şu an onun gibi bi oyunla uraşıorum.... visual basicle ama tam beceremedim...
o oyun hangi programla yazılmıştır sizce?

bu arada yardımcı olan herkese çok teşekkürler[signature][hline]Yukarıdaki yazıların yarısı yalandır...
Link to comment
Sosyal ağlarda paylaş

said:
Rahan, 05 Haziran 2004 17:57 tarihinde demiş ki:
açıyorsun Visual Studio.Nette herhangi bi projeyi

Project->'projeadı' Properties->C++->Optimization bölmesinden
Optimize for processor satırının alabildiği değerlere bakıyorsun, ordaki Pentim 4 and Above (/G7) yi işaretliyosun.


OKUMA YAZMA BİLMEYEN RAHAN !
GİT sharky'YE VERDİĞİM CEVABI TEKRAR OKU ORADA BUNA TAM OLARAK YANIT VERDİM !!!!!
SMID DESTEKLEMİYOR O ![signature][hline]1...2...3... ee ya sonrası ?
Criminal2's HomePage

[Bu mesaj Criminal2 tarafından 05 Haziran 2004 19:46 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

ewet işte dediğim kesinlikle bu bana yolladğınız linkteki şu cümleyi okyun..

"The instructions sets supported are Intel's Pentium III new instruction sets (Streaming SIMD Extensions [SSE]) and Intel's Pentium 4 new instruction sets (Streaming SIMD Extensions 2 [SSE2]) as well as AMD's 3DNow! Instruction sets."

YANİ:
__asm(inline asm olarak) parantezinde eskiden SSE asm komutlarını kullanamıyorduk artık kullanabiliyoruz....

BU demek değil ki:
Benm derleyicim zihnimi okur ve nerde SMID kullanması gerektiğini bilir....

[signature][hline]1...2...3... ee ya sonrası ?
Criminal2's HomePage

[Bu mesaj Criminal2 tarafından 05 Haziran 2004 20:17 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

  • Admin
said:
Bonecrusher, 05 Haziran 2004 18:24 tarihinde demiş ki:
flash ile gayet güzel yazılabilir bence..
belki bir c++ veya assembly kadar yetenekli olamaz, ama görsel açıdan çok güzel oyunlar çıkabilir ortaya..



belki? :-)[signature][hline]Grandmaster Hamburger
irc.quakenet.org // #gecevardiyasi
Paticik unofficialdc++ hub adresi: paticik.no-ip.org:411
Link to comment
Sosyal ağlarda paylaş

kastıra kastıra daha güzel bi kaynak ve örnek buldum senin için criminal2, gerçi bu intel'in compilerı ama yine de C++

kaynak:http://www.linuxjournal.com/article.php?sid=4885

said:

Intra-Register Vectorization
Exploiting parallelism is an important way to increase application performance in modern architectures. The Intel compiler can be key in the effort to exploit potential parallelism in a program by facilitating such optimizations as automatic vectorization, automatic parallelization and support for OpenMP directives. Let's look at the automatic conversion of serial loops into a form that takes advantage of the instructions provided by the Intel MMX technology or SSE/SSE2 (Streaming-SIMD-extensions), a process we refer to as ``intra-register vectorization'' (see Resource 1). For example, given the function:


void vecadd(float a[], float b[], float c[], int n)
{
int j;
for (j = 0; j < n; j++) {
c[j] = a[j] + b[j];
}
}

the Intel compiler will transform the loop to allow four single-precision floating-point additions to occur simultaneously using the addps instruction. Simply put, using a pseudo-vector notation, the result would look something like this:

for (j = 0; j < n; j+=4) {
c[j:j+3] = a[j:j+3] + b[j:j+3];
}

A scalar cleanup loop would follow to execute the remainder of the instructions if the trip count n is not exactly divisible by four. Several steps are involved in this process. First, because it is possible that no information exists about the base addresses of the arrays, runtime code must be inserted to ensure that the arrays do not overlap (dynamic dependence testing) and that the bulk of the loop runs with each vector iteration having addresses aligned along 16-byte boundaries (dynamic loop peeling for alignment). In order to vectorize efficiently, only loops of sufficient size are vectorized. If the number of iterations is too small, a simple serial loop is used instead. Besides simple loops, the vectorizer also supports loops with reductions (such as summing an array of numbers or searching for the max or min in an array, conditional constructs, saturation arithmetic and other idioms. Even the vectorization of loops with trigonometric mathematical functions is supported by means of a vector math library.
To give a taste of a realistic performance improvement that can be obtained by intra-register vectorization, we report some performance numbers for the double-precision version of the Linpack benchmark (available in both Fortran and C at www.netlib.org/benchmark). This benchmark reports the performance of a linear equation solver that uses the routines DGEFA and DGESL for the factorization and solve phase, respectively. Most of the runtime of this benchmark results from repetitively calling the Level 1 BLAS routine DAXPY for different subcolumns of the coefficient matrix during factorization. Under generic optimizations (switch -O2), this benchmark reports 1,049 MFLOPS for solving a 100×100 system on a 2.66GHz Pentium 4 processor. When intra-register vectorization for the Pentium 4 processor is enabled (switch -xW), the performance goes up to 1,292 MFLOPS, boosting the performance by about 20%.
[signature][hline]KEDIDIR KEDI !

[Bu mesaj Rahan tarafından 06 Haziran 2004 14:36 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

Yahu yine birbirinizi yediniz. Criminal bir sakin ol yahu.

Birbirinizi yemekten soruya cevap veremediniz. Baksanıza n0body Tomb Raider yapmayacağım diyor, Mission Risk adlı bir oyun vardı, onu yapmak istedim beceremedim, tavsiye verin bana diyor.

Adama ne 3d nowlardan sse2 lerden. Alakasız bir insana herşeyi bu kadar low level anlatırsanız, ancak bön bön bir bakış elde edersiniz.. Ha egonuz tatmin olur, bilmem ne.. 4 sene sonra sizinle artık kimse muhatap olmamaya başlar.[signature][hline]There are 10 types of people in the world: Those who understand binary, and those who don't..
Link to comment
Sosyal ağlarda paylaş

×
  • Yeni Oluştur...