İçeriğe atla

Box2D

Box2D
Mevcut Box2D logosu
Ekran görüntüsü
Box2D screenshot
Box2D screenshot
Geliştirici(ler)Erin Catto
İlk yayınlanma11 Eylül 2007 (17 yıl önce) (2007-09-11)
Güncel sürüm3.0.0 Bunu Vikiveri'de düzenleyin / Ağustos 12, 2024 (2 ay önce) (Ağustos 12, 2024)[1]
Programlama diliC++
İşletim sistemiİşletim sisteminden bağımsız
TürMiddleware
LisansMIT (sürüm 2.4.0'dan beri)[2]
zlib Lisansı
Resmî sitesibox2d.org
Kod deposu Bunu Vikiveri'de düzenleyin

Box2D, Erin Catto tarafından C++ dilinde yazılmış ve MIT Lisansı altında yayınlanmış ücretsiz bir açık kaynak iki boyutlu fizik simülatörü ve oyun motorudur. Crayon Physics Deluxe, Limbo, Rolando, Incredibots, Angry Birds, Tiny Wings, Shovel Knight, Transformice, Happy Wheels,[3] ve birçok çevrimiçi Flash oyun,[4] ve Cocos2d veya Moscrif oyun motorunu ile Corona çerçevesini kullanan iPhone, iPad ve Android oyunları tarafından kullanılır.

Tarihçe

Box2D ilk olarak Erin Catto tarafından 2006'da GDC'deki bir fizik sunumuna eşlik edecek olan bir gösteri motoru olan "Box2D Lite" olarak piyasaya sürüldü. 11 Eylül 2007'de SourceForge'da açık kaynak olarak yayınlandı. 17 Ocak 2010'da Box 2D, projeyi barındırma için Google Code'a taşıdı.[5] 12 Temmuz 2015'te, hosting yeniden taşındı ve bu sefer barındırıcısı GitHub oldu.[6]

6 Mart 2008'de sürüm 2.0 yayımlandı, sürekli çarpışma algılama tanıtıldı ve API yenilendi.

27 Temmuz 2020'de, çeşitli değişikliklerle birlikte sürüm 2.4 piyasaya sürüldü, özellikle de lisans MIT Lisansı olarak değiştirildi.[7]

Platformlar arası kullanılabilirlik

Box2D, platformdan bağımsız C++ ile yazılmıştır (C++ derleyicisi olan herhangi bir sistemde kullanılabilir). Motor sabit nokta ve kayan nokta modlarında derlenebilir ve Nintendo DS, Wii gibi oyun platformları ile (Android, BlackBerry 10 ve iOS) işletim sistemli çeşitli cep telefonlarında ve çoğu büyük işletim sistemi dahil farklı sistemlerde kullanılmıştır.

Motor, Java,[8] Adobe Flash (ActionScript[9] ve Haxe[10] dillerinde), C#,[11] Lua, JavaScript[12][13] ve D[14] dahil diğer birçok programlama diline ve ortamına taşındı. Bağlamalar, Python,[15] DarkBASIC ve BBC BASIC'den derlenmiş kitaplığı kullanmak için mevcuttur.

30 Ekim 2009'da Box2D'nin (artık eski) Torque 2D oyun motoru'na entegre edildiği açıklandı.[16]

Motoru kullanan programlar

  • SDL için BBC Basic, BBC Basic'in platformlar arası versiyonu[17]
  • BlitzBasic
  • GameMaker: Studio, fizik simülasyonu için motoru kullanır.
  • LibGDX, oyunlar ve aydınlatma için fizik motorunu kullanır.
  • Stencyl, oyunlar için fizik motorunu kullanır ve Flash ve iOS'a dışa aktarmaya izin verir.
  • Unity
  • Construct2
  • LÖVE, oyunlar için fizik motorunu kullanır.[18]
  • Solar2D
  • Clickteam Fusion 2.5
  • Flutter oyun motoru[19]

Özellikler

Box2D, kısıtlı rijit cisim simülasyonu gerçekleştirir. Dışbükey çokgenler, daireler ve kenar şekillerinden oluşan gövdeleri simüle edebilir. Cisimler eklemler ile birleştirilir ve kuvvetler tarafından etki edilir. Motor ayrıca yerçekimi, sürtünme ve tazmin uygular.

Box2D'nin çarpışma algılama ve çözümleme sistemi üç parçadan oluşur: artımlı bir süpür ve budama geniş faz, bir sürekli çarpışma algılama birimi ve kararlı bir doğrusal zamanlı temas çözücü. Bu algoritmalar, çarpışmaları kaçırmadan veya kararsızlığa neden olmadan hızlı gövdelerin ve büyük yığınların verimli simülasyonlarına izin verir.[20]

İlgili motorlar

Box2D motorunun, şimdi Box2D Lite olarak bilinen önceki bir sürümü, Erin Catto'nun verdiği bir dizi yıllık Oyun Geliştiricileri Konferansı sunumuna dayalı olarak öncelikle eğitim amaçlı olarak yayınlandı. Box2D Lite, Box2D ile aynı algoritmaların çoğunu kullanır, ancak daha küçük bir özellik setine sahiptir.

Chipmunk fizik motoru (C ile yazılmıştır)[21] ve Phys2D (Java ile yazılmıştır)'nin[22] her ikisi de kısmen Box2D Lite'a dayalıdır. iOS ve OS X için SpriteKit'te kullanılan fizik motoru Box2D'yi dahili olarak kullanır.[23]

LiquidFun fizik motoru, Google tarafından geliştirilen ve motora akışkan simülasyonu ekleyen[24] Box2D'nin bir çatalıdır.

LibGDX, fizik motoru olarak C++ ile yazılmış yerel Box2D kodunun etrafında bir Java sarmalayıcı kullanır.[25]

Makaleler

Itterheim ve Wenderlich, Box2D'nin Cocos2d iPhone motorunda kullanımını açıklar.[26][27] Adobe Edge bültenindeki bir makale, Box2D'nin Flash oyunlarda kullanımını tartışmaktadır.[28]

Ayrıca bakınız

  • Chipmunk (yazılım)

Kaynakça

  1. ^ Erin Catto. "Latest Release". GitHub. 3 Aralık 2020 tarihinde kaynağından arşivlendi. 
  2. ^ "Box2D on GitHub". 15 Ekim 2021. 14 Temmuz 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  3. ^ "Play Happy Wheels Online – AndroidFantasy". 5 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ağustos 2015. 
  4. ^ "Box2d Games at Jayisgames". Jayisgames. 11 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  5. ^ "Box2D – Home". Box2D. 23 Ekim 2007 tarihinde kaynağından arşivlendi. 
  6. ^ "GitHub Hosting | Box2D". box2d.org (İngilizce). 6 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Nisan 2018. 
  7. ^ "Release v2.4.0". github.com (İngilizce). 12 Ağustos 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ağustos 2020. 
  8. ^ "JBox2D: A Java Physics Engine". JBox2D. 2 Ağustos 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  9. ^ "AS3 Flash Physics Engine Box2DFlashAS3 2.0.1". Box2D. 7 Ocak 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  10. ^ "Google Code Archive – Long-term storage for Google Code Project Hosting". 8 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  11. ^ "Google Code Archive – Long-term storage for Google Code Project Hosting". 23 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  12. ^ "Box2DJS". Box2D. 21 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  13. ^ "GitHub – hecht-software/box2dweb: Automatically exported from code.google.com/p/box2dweb". GitHub. 16 Eylül 2021. 19 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  14. ^ "blaze". Dsource. 2 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  15. ^ "Pybox2d/pybox2d: 2D Game Physics for Python". GitHub. 23 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Şubat 2016. 
  16. ^ Perry, Michael (30 Ekim 2009). "Torque 2D Development Blog – Box2D Overview". garagegames.com. 5 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Şubat 2016. 
  17. ^ "The home of BBC BASIC". 10 Temmuz 2022 tarihinde kaynağından arşivlendi. 
  18. ^ "Love.physics - LOVE". 14 Ekim 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  19. ^ Flame
  20. ^ "Chapter 1 Introduction". Box2D. 27 Mart 2009 tarihinde kaynağından arşivlendi. 
  21. ^ "Google Code Archive – Long-term storage for Google Code Project Hosting". 31 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  22. ^ "Index of /phys2d". Coke and Code. 3 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  23. ^ "tm4ko – Ghostbin". Ghostbin. 27 Temmuz 2013 tarihinde kaynağından arşivlendi. 
  24. ^ "LiquidFun". google.github.io. 15 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Mart 2017. 
  25. ^ "Physics · libgdx/Libgdx Wiki". 6 Mayıs 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Temmuz 2022. 
  26. ^ Steffen Itterheim. (2010). "Learn iPhone and iPad cocos2d Game Development." Apress.
  27. ^ Rod Strougo and Ray Wenderlich. (2011). "Learning Cocos2d: A Hands-On Guide to Building IOS Games with Cocos2d, Box2d, and Chipmunk." Addison-Wesley Professional.
  28. ^ "Adobe Edge: April 2010 – Developing physics-based games with Adobe Flash Professional". Adobe. 11 Ağustos 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Temmuz 2016. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Adobe Flash</span> vektörel grafik yazılımı

Adobe Flash Player, Adobe şirketinin Macromedia şirketinden satın alıp çıkardığı Windows ve Mac OS işletim sistemleri üzerinde çalışabilen bir vektörel grafik yazılımıdır.

<span class="mw-page-title-main">Adobe</span> ABD merkezli şirket

Adobe, Inc. ABD merkezli, Kaliforniya bulunan, Dünya'nın 10 büyük grafik ve medya yazılımlarını üreten şirkettir. Adobe, en iyi Adobe Flash web yazılımı ekosistemi, görüntü düzenleme yazılımı Photoshop, vektör grafik düzenleyici Illustrator, Taşınabilir Belge Biçimi (PDF) aracı olan Acrobat ve Adobe Creative Suite ve halefi Adobe Creative Cloud ile bilinmektedir.

<span class="mw-page-title-main">Android</span> Mobil işletim sistemi

Android, Google ve Open Handset Alliance tarafından, cep telefonları, tabletler ve televizyonlar için geliştirilmekte olan, Linux tabanlı, özgür ve ücretsiz bir işletim sistemidir. Sistem açık kaynak kodlu olsa da, kodlarının ufak ama çok önemli bir kısmı Google tarafından kapalı tutulmaktadır. Google tarafından ücretsiz sunulmasının sebebi, sistemin daha hızlı ve çabuk gelişmesi, birçok popüler marka tarafından kullanılması ve bu sayede reklamlarının daha fazla kişiye ulaşmasını sağlamaktır. Google, Android sistemi üzerinde çalışan Google Play marketteki oyun ve uygulamalar üzerinde aldığı reklamları yayınlayarak para kazanmaktadır. Android'in desteklenen uygulama uzantısı ".apk"dır.

<span class="mw-page-title-main">Google Chrome</span> Google tarafından geliştirilen bir web tarayıcısı

Google Chrome, Google tarafından geliştirilen ücretsiz bir web tarayıcısıdır. Eylül 2008'de Microsoft Windows sürümü yayımlanmış; daha sonra Linux, macOS, iOS ve Android sürümleri de geliştirilmiştir.

Google Developers Google'ın yazılım geliştirme araçları ve platformları, uygulama programlama arayüzü (API'ler) ve teknik kaynaklar sitesidir. Site, Google'ın geliştirici ürünlerini kullanan geliştiriciler için tartışma grupları ve bloglar dahil olmak üzere Google geliştirici araçlarının ve API'larının kullanımına ilişkin belgeler içerir. Google Haritalar, YouTube, Google Workspace ve diğerleri gibi Google'ın neredeyse tüm popüler tüketici ürünleri için sunulan API'ler vardır. Google, çoğunlukla web geliştiricileri için web API'leri olmak üzere çeşitli API'ler sunar. API'ler, Google Haritalar, Google Earth, Google AdSense, Adwords, Google Apps ve YouTube dahil olmak üzere popüler Google tüketici ürünlerini temel alır. Google Veri API'leri, programcıların Google hizmetlerinden veri okuyan ve yazan uygulamalar oluşturmasına olanak tanır. Şu anda bunlar arasında Google Analytics, Blogger, Google Base, Google Books, Google Takvim, Google Code, Google Earth, Google Notebook API'leri bulunmaktadır.

<span class="mw-page-title-main">Unreal Engine</span> video oyunu motoru

Unreal Engine, Epic Games tarafından geliştirilen ve ilk olarak 1998 yılında yayınlanan Unreal isimli birinci şahıs nişancı oyununda kullanılan oyun motoru. Esas olarak birinci şahıs nişancı oyunları için geliştirilmesine karşın, sonraları çeşitli türlerdeki oyunlarda kullanıldı. C++ ile yazılmış kodu sayesinde yüksek derecede taşınabilirliğe sahiptir ve günümüzde birçok oyun geliştirici tarafından kullanılan bir araç haline gelmiştir.

Video oyunu tasarımı bir video oyununun, bütün detayları ile tasarlanması ve satışa sunulmadan önceki bütün aşamalarını konu almaktadır.

<span class="mw-page-title-main">GitHub</span> sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için ağ tabanlı bir depolama servisi

GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir. 8 Şubat 2008 tarihinde Tom Preston-Werner, Chris Wanstrath, P. J. Hyett, Scott Chacon tarafından kuruldu. GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir. Mayıs 2011 itibarıyla GitHub açık kaynaklı projeler tarafından tercih edilen en popüler depolama servisidir.

Özel mülk yazılım ya da sahipli yazılım, yazılımın yaratıcısının, yayıncısının veya diğer hak sahibi ortaklarının fikrî mülkiyet hakkını ve telif hakkını kendi elinde tuttuğu bilgisayar yazılımıdır. Yazılımın alıcılarına, yazılımı özgürce paylaşma veya değiştirme hakkı vermez. Özel mülk yazılımlar, mülk sahipleri tarafından ücretli ya da ücretsiz olarak yayınlanabilir.

iOS SDK

iOS SDK Apple tarafından geliştirilen bir yazılım geliştirme kitidir. Kit, Apple'ın iOS işletim sisteminde mobil uygulamaların geliştirilmesine olanak tanır.

<span class="mw-page-title-main">RocksDB</span>

RocksDB, anahtar / değer verileri için yüksek performanslı yerleşik bir veritabanıdır. Çoklu merkezi işlem birimi (CPU) çekirdeğinden yararlanmak ve giriş / çıkış bağlı iş yükleri için katı hal sürücüleri (SSD) gibi hızlı depolamayı verimli bir şekilde kullanmak üzere optimize edilmiş, Google tarafından geliştirilen LevelDB'nin bir çatalıdır. Günlük yapılı birleştirme ağacı veri yapısına dayanır.

Apache Cordova ilk olarak Nitobi tarafından yaratılmış mobil uygulama geliştirme iskeletidir. 2011'de Adobe Nitobi'yi satın aldı ve PhoneGap olarak yeniden markalaştırdı ve daha sonra yazılımın açık kaynaklı bir sürümü olan Apache Cordova'yı piyasaya sürdü. Apache Cordova yazılım programlamacılarının Android, iOS veya Windows Phone'daki platforma özgü API'leri kullanmak yerine CSS3, HTML5 ve JavaScript kullanarak mobil cihazlar için uygulamalar derlemelerini sağlar. CSS, HTML ve JavaScript kodlarının cihazın platformuna göre paketlenmesini sağlar. Cihazda çalışması için HTML ve JavaScript'in özelliklerini genişletir. Elde edilen uygulama melezdir. Ne tamamen gerçek anlamda doğuştan mobil uygulamadır ne de tam olarak Web temellidir. Sürüm 1.9'dan itibaren yerel ve melez kod parçacıklarını karıştırmak mümkündür.

Blink, Google, Facebook, Microsoft, Opera Software, Adobe Systems, Intel, IBM, Samsung ve diğerlerinin katkılarıyla Chromium projesinin parçası olarak geliştirilmiş bir tarayıcı motorudur. İlk olarak Nisan 2013'te duyuruldu.

<span class="mw-page-title-main">Nokia 5320</span>

Nokia 5320 XpressMusic, Nokia tarafından XpressMusic taşınabilir cihaz serisinin bir parçası olarak 2008 yılında piyasaya sürülen bir Symbian OS S60 akıllı telefonudur. Telefon, ana hatları belirlenmiş tuş takımlarına sahip sağlam bir şeker çubuğu gövdesine sahiptir. Müzik ve multimedya oynatımını vurgular. Öne çıkan özellikler arasında daha iyi ses kalitesi için özel bir 3D ses yongası, 24 saat müzik çalma, 3.5 mm ses jakı, N-Gage uyumluluğu ve müzik/oyun tuşları vardır. Piyasaya sürüldüğü sırada telefon ABD, Avrupa ve Asya pazarlarında 220 dolara mal oldu.

Yarış simülasyonu veya Sim yarışı yakıt kullanımı, araç yol tutuşu, hasar, lastik aşınması, süspansiyon gibi gerçek dünyadaki değişkenlerin ayarlanabildiği ve etkili olduğu araç yarışlarını en doğru şekilde simüle etmeyi amaçlayan yarış uygulaması çeşididir. Bir yarış simülasyonunda başarılı olmak için sürücü araç kullanımının eşik frenlemesi, lastik çekişleri ve yol tutuşu gibi tüm yönlerini ve bunları nasıl kontrol edebileceğini bilmelidir. Bu tarz oyunları arcade yarış oyunlarından ayıran şey bu zorluk seviyesidir. Yarış simülasyonlarında gerçeğe en yakın sürüş hissi yaşamak öncelikli amaç iken arcade oyunlarda bu öncelik yerini hız hissine bırakır.

<span class="mw-page-title-main">RPCS3</span> PlayStation 3 yazılımı için emülatör

RPCS3, Windows, Linux, FreeBSD ve MacOS sistemlerinde çalışan PlayStation 3 için ücretsiz ve açık kaynaklı bir konsol emulatoru ve hata ayıklayıcısıdır. PlayStation 3 oyunlarının ve yazılımlarının kişisel bir bilgisayarda oynatılmasına ve hatalarının ayıklanmasına olanak tanır. Program C++ dilinde yazılmıştır ve X86-64 CPU'larında çalışabilmektedir. Arka uç oluşturucuları olarak OpenGL ve Vulkan'ı içeriyior.

<span class="mw-page-title-main">Electron (yazılım kütüphanesi)</span>

Electron, GitHub tarafından geliştirilen ve bakımı yapılan özgür ve açık kaynaklı bir yazılım iskeletidir. Çerçeve, Chromium tarayıcı motorunun bir çeşidi kullanılarak oluşturulan web teknolojilerini ve Node.js çalışma ortamını kullanarak masaüstü uygulamaları oluşturmak için tasarlanmıştır. Ek olarak, Düğüm hizmetleriyle yerel entegrasyon ve süreçler arası iletişim modülü gibi şeylere izin vermek için çeşitli API'ler de kullanır.

<span class="mw-page-title-main">Gitea</span>

Gitea ( ), Git'in yanı sıra hata izleme, kod inceleme, kanban panoları, biletler ve wiki'ler gibi diğer ortak özellikleri kullanarak yazılım geliştirme sürüm kontrolünü barındırmak için açık kaynaklı bir forge yazılım paketidir. Kendi kendine barındırmayı destekler, ancak aynı zamanda ücretsiz bir genel birinci taraf örneği sağlar. Gogs'un bir çatalıdır ve Go ile yazılmıştır. Gitea, Linux, macOS ve Windows dahil olmak üzere Go tarafından desteklenen tüm platformlarda barındırılabilir. Proje Open Collective ile finanse edilmektedir.

WebAssembly, yürütülebilir programlar için taşınabilir bir ikili kod biçimine karşılık gelen bir metin biçimidir. Bunun yanı sıra bu tür programlar ve bunların ana bilgisayar ortamı arasındaki etkileşimleri kolaylaştırmak için yazılım arabirimlerini de ifade eder.

<span class="mw-page-title-main">Cloud9 IDE</span>

Cloud9 IDE, sürüm 2.0'dan sürüm 3.0'a kadar açık kaynak olarak yayınlanan bir Çevrimiçi IDE'dir. C, C++, PHP, Ruby, Perl, Python, Node.js ile JavaScript ve Go gibi birçok programlama dilini destekler.