umut12030712
Sudan Çıkmış
- En iyi cevaplar
- 0
Merhaba Ahali, Hoş Geldiniz.
Merhaba Ahali, Hoş Geldiniz.
Bilenleriniz vardır, bilmeyenleriniz için de söyleyeyim; yaklaşık iki sene önce sevgili ByNovem'den ilham alarak bir Mjölnir plugini geliştirmiştim. Kendisinin forumdaki olumlu yorumu beni çok mutlu etmişti, umarım bu konu da bir şekilde ona ulaşır. Zira mitolojiye olan ilgimden dolayı 2017'de onun Mjölnir'ini görüp "Ohaaa" demeseydim, şu an yazılımla değil de bambaşka bir alanda çalışıyor olabilirdim (yaktın bizi abi).
LaxTirrek de YouTube'da bu tür pluginleri matematik ve fizikle yaptığını söyleyerek lise 1'e giden beni matematiğe ve fiziğe itmişti (2x yaktın abi). Şaka bir yana, iyi ki varsınız, var olun. Sayenizde hem yazılımcı hem de bir fizik "ineği" oldum.
Minecraft'a olan ilgim azaldığı (ve maalesef gelir olarak bana hiçbir fayda sağlamadığı) için bir senedir Minecraft pluginleri yapmaya pek yanaşmıyordum.
Fakat yeni bir YKS gazisi ve evde boş gezen bir mezun olarak canım sıkılınca, zamanında Python'da geliştirdiğim basit 3 boyutlu fizik motorumu Minecraft'a taşıyıp taşıyamayacağımı düşündüm. Meğer Java, daha doğrusu Minecraft, bu tür ağır simülasyonları çalıştırmak için pek de mantıklı bir platform değilmiş.
Kendi fizik motorumla çalışan şu plugine bakabilirsiniz:
Videoda her ne kadar güzel görünse de maalesef bir fizik motorunun çok fazla optimizasyona ihtiyacı oluyor, özellikle de birden fazla objeyi birbirinden uzak mesafelere taşıyacaksanız. Bu pluginde yaşadığım en büyük sıkıntı, objeler birbirinden 15-20 blok bile uzaklaştığında sunucunun resmen yardım çığlıkları atmaya başlamasıydı. BVH, Octree gibi algoritmalarla bu problemi çözmeye çalışsam da Java koduyla Minecraft'ta böyle bir projeyi temellendirmek ne yazık ki çok zor.
Benzer başka projelerin nasıl çalıştığını biraz araştırdım. DynamX veya PhysicsMod gibi modlar, C++ ile yazılmış hazır fizik motorlarıyla JNI (Java Native Interface) kullanarak çalışıyorlar. Bu sebeple, bu projede de Stephen Gold'un Bullet motoruna yaptığı Java bindinglerini kullanarak devam etme kararı aldım.
Yanlış anlamayın, bu araştırmayı kozmik silahlar için değil, Minecraft'ta çalışan plugin tabanlı bir fizik motoru framework'ü geliştirmek için yaptım. Bu silah projesi, geliştirdiğim o fizik motoru framework'ünün API'ını kullanıyor o kadar.
Teşekkürlerimi ettiğime, ve silahların fiziğinin temelini anlattığıma göre buyrun silahlar;
LaxTirrek de YouTube'da bu tür pluginleri matematik ve fizikle yaptığını söyleyerek lise 1'e giden beni matematiğe ve fiziğe itmişti (2x yaktın abi). Şaka bir yana, iyi ki varsınız, var olun. Sayenizde hem yazılımcı hem de bir fizik "ineği" oldum.
Minecraft'a olan ilgim azaldığı (ve maalesef gelir olarak bana hiçbir fayda sağlamadığı) için bir senedir Minecraft pluginleri yapmaya pek yanaşmıyordum.
Fakat yeni bir YKS gazisi ve evde boş gezen bir mezun olarak canım sıkılınca, zamanında Python'da geliştirdiğim basit 3 boyutlu fizik motorumu Minecraft'a taşıyıp taşıyamayacağımı düşündüm. Meğer Java, daha doğrusu Minecraft, bu tür ağır simülasyonları çalıştırmak için pek de mantıklı bir platform değilmiş.
Kendi fizik motorumla çalışan şu plugine bakabilirsiniz:
Videoda her ne kadar güzel görünse de maalesef bir fizik motorunun çok fazla optimizasyona ihtiyacı oluyor, özellikle de birden fazla objeyi birbirinden uzak mesafelere taşıyacaksanız. Bu pluginde yaşadığım en büyük sıkıntı, objeler birbirinden 15-20 blok bile uzaklaştığında sunucunun resmen yardım çığlıkları atmaya başlamasıydı. BVH, Octree gibi algoritmalarla bu problemi çözmeye çalışsam da Java koduyla Minecraft'ta böyle bir projeyi temellendirmek ne yazık ki çok zor.
Benzer başka projelerin nasıl çalıştığını biraz araştırdım. DynamX veya PhysicsMod gibi modlar, C++ ile yazılmış hazır fizik motorlarıyla JNI (Java Native Interface) kullanarak çalışıyorlar. Bu sebeple, bu projede de Stephen Gold'un Bullet motoruna yaptığı Java bindinglerini kullanarak devam etme kararı aldım.
Yanlış anlamayın, bu araştırmayı kozmik silahlar için değil, Minecraft'ta çalışan plugin tabanlı bir fizik motoru framework'ü geliştirmek için yaptım. Bu silah projesi, geliştirdiğim o fizik motoru framework'ünün API'ını kullanıyor o kadar.
Teşekkürlerimi ettiğime, ve silahların fiziğinin temelini anlattığıma göre buyrun silahlar;
Çarpışma Kutuları (Collision Box)
Çarpışma Kutuları (Collision Box)
Silahların 3 boyutlu düzlemdeki çarpışma kutularını (collision box) da bu videoda görebilirsiniz. API, istediğiniz boyutlarda objeler oluşturmanıza olanak tanıyor.
Ekstra olarak da bir yetenek eklemeseydim olmazdı, mjolniri kullanırken sol tıklarsanız, şekilli şukullu bir yıldırım fırlatıyorsunuz.
Okuduğunuz için teşekkür ederim, umarım beğenmişsinizdir.
Bu arada, bir gün senin o efsanevi silahlarını kullanmayı çok isterim Devrim Abi. Hâlâ Son Oyuncu'ya arada bir uğrayıp creative'de var mısın diye bakıyorum ama ne yazık ki sen asla yoksun...
Forumda beni asla aktif bulamazsınız, sorunuz veya yardıma ihtiyacınız olursa
Discord adresim; umutsahinn
Ekstra olarak da bir yetenek eklemeseydim olmazdı, mjolniri kullanırken sol tıklarsanız, şekilli şukullu bir yıldırım fırlatıyorsunuz.
Okuduğunuz için teşekkür ederim, umarım beğenmişsinizdir.
Bu arada, bir gün senin o efsanevi silahlarını kullanmayı çok isterim Devrim Abi. Hâlâ Son Oyuncu'ya arada bir uğrayıp creative'de var mısın diye bakıyorum ama ne yazık ki sen asla yoksun...
Forumda beni asla aktif bulamazsınız, sorunuz veya yardıma ihtiyacınız olursa
Discord adresim; umutsahinn