Yapay Zeka, Robotik ve Gelecek Savaşları

Ukrayna savaşı yeni drone teknolojileri konusunda farklı bir oyun alanı oldu. TB2’lerin savaşın başında gösterdiği başarıdan sonra daha ucuz sistemler sahaya indi. Binlerce drone pilotlarıyla birlikte siperlerdeki askerleri hedef alıyor. Kamikaze drone’lar bilinen bir teknolojiydi fakat sahada sivil drone’lara ekipmanlar takılıp sürekli olarak kullanılması farklı tehditleri ortaya koydu. Birincisi drone fiyatları üretimle birlikte düşmeye başladı, aparatlar yaygınlaştı. Bu sistemleri engellemek için geliştirilen sistemlerde belli bir noktaya kadar etkili. Görüntüler çok kötü. Sürü drone teknolojisi ve yapay zeka destekli sistemlerle çok daha fazla bu görüntüleri görmeye başlayacağız.

Bilim kurgu eserlerinde yapay zekanın dünyayı ele geçirdiği, ordular kurduğuna seyirci olduk. Önümüzdeki bir kaç senede gerçekleşecek olan şeyler ise bunlardan daha az yaratıcı olmayacak. Henüz devletler AI ve etik, yasalar mevzularıyla uğraşıyor ama bunların aşılacağı büyük bir savaş görmemiz kaçınılmaz. Şöyle bir kaç senaryo varsayalım;

Belli bir alandaki tüm unsurlara saldırılması.

Belli bir alandaki silah tutan tüm unsurlara saldırılması.

Belli bir yayını yapmayan unsurlara saldırılması.

Şu an bu teknolojilerin hepsi var. Ölçekleri çok küçük düşünüyoruz. 100, 1000 değil 100000 drone’un sahaya indirildiğini düşünün. Savaş bir kaç saat içerisinde biter.

Sadece drone teknolojisi değil, robotik tarafında ilerlemeler devam ediyor. Siper savaşlarını gördüğümde Transformers 2 filmindeki köpek robot aklıma geliyor,

https://youtube.com/watch?v=FuQUj-Zw3s8%3Fsi%3Dz4uc1xFCA7PPvUwu

Bu kadar çevik ve güçlü bir versiyon elimizde yok ama kaç sene alacak sizce? Görüntü işleme noktasında yeterince iyiyiz. 5G ve yeni mikro işlemcilerle çok daha hızlı karar alan, iletişim kuran sistemlere sahip olacağız. Bunlara ilk sahip olacak devletler sahada büyük avantaj elde edecek. Şimdiden bu sistemlere karşı savunma stratejileri geliştirmek lazım, sadece devletler arası savaşlar için değil, terör saldırılarına karşı koruma amacıyla da.

Kitap Listesi – 1

Cem Dizdar abinin programında bahsettiği gezegen sahaf’a üye olduktan sonra okunacaklar listem oldukça kabardı. Ufak bir liste hazırlayıp insanlarla paylaşmak istedim, aşağıdaki kitaplar sadece mezattan gelen kitaplar değil o yüzden kafalar karışmasın.

Üç Cisim Problemi

Karanlık Orman

Ölümün Sonu

Gods, Graves and Scholars

A Peace to End All Peace

The Prize

İlk üç kitap yeni çıkan Üç Cisim Problemi dizisinin serisi. İlkini okudum, ikinciye başladık bence diziye göre çok daha güzel. Dördüncü kitabı mezattan almıştım, eski bir baskı, insanlara arkeolojiyi sevdiren kitap olarak biliniyor, ilk bir kaç bölümünü okudum gayet güzel bir anlatımı var. Son iki kitap biraz tarihle devam ediyor birisi ilk dünya savaşının sonunu diğeri ise petrol üzerine. Bitirdikçe buraya yeni kitaplar eklerim. Obama, Gates yayınlıyor biz niye yayınlamayalım, şaka tabiki.

İnsanlık ve Filistin

Geçen sene başlayan aslında geçmişi daha eskiye dayanan çatışma insanlık için bir turnusol kağıdı görevi gördü. Kendileri dışında herkese insanlık değerleri hakkında nasihatler veren, gerektiğinde onları cezalandıran batılı devletler İsrail’in saldırıları karşısında sessizliğe büründü ve bununla yetinmeyerek canlı canlı izlediğimiz soykırım bir parçası oldu. Ülkeleri politikacılar, politikacıları ise lobiciler yönetiyor. Herkes elindeki gücü kaybetmekten, güçlünün karşısında sesini çıkarmaktan korkuyor. Batılı yöneticilerin insan hakları, insanlar, yaşam umurunda değil. Hepsi tiyatro.

Burada özellikle batılı yöneticiler diye özellikle ayırıyorum çünkü halklar, insanlar hepsi olmasa ciddi bir bölümü yaşanan bu soykırıma karşı seslerini yükseltiyor. Saldırıları destekleyenlerse enteresan şekilde çoğunlukla ırkçılar, dindar yobazlar, medyadaki satışmış aydınlar. İsrail’in en büyük destekleyicisi en büyük düşmanları onlara en büyük ırkçılığı yapanlar oldu. İronik değil mi? Kendilerini protesto eden Yahudilere, sahte Yahudi diyor, Yahudi karşıtı gibi sıfatlar yakıştırıyorlar. Oysa geçmişte soykırımı görmüş, baskıyı yaşamış bir halkın aydınları insanlık için hala bir umut olduğunu korkmadan bağırıyor.

İsrail’in bugün yaptığı sadece tüm insanlığa değil, Yahudi halkına yapılmış en büyük ihanet. Bugün yapılan soykırım kendilerine karşı nefrete dönüşecek ve akıllarda kalacak. İsrail yönetimi günümüz toplumunu tam kavrayamamış durumda. Bilgi çok hızlı yayılıyor, insanlar 2. dünya savaşını unuttu. Ne kadar daha kurban rolünü oynayabileceksiniz? Kurban olan insanların mirasına bu kadar hakaret ettikçe? Torunlarına saldırdıkça? Popülist, ırkçı liderlerin gözü bir gün size döndüğüne kime sığınacaksınız?

İsrail’in bu kadar güçlü olmasının bir kaç sebebi var. Lobicilik, finansal güç, medya gücü. Batılı medya organları tamamen bir utanç abidesi oldular. Kendi çalışanları bile öldürülürken seslerini çıkaramadılar, tarih onları affetmeyecek. Dinci yobazların hayır getirdiği bir ülke şimdiye kadar olmamıştır, maalesef orta doğu bataklığında bir vaha olabilecek bir ülke yobazlar ve kirli politikacılar tarafında sona götürülüyor.

Bir hümanist olarak insanlık denen mucizenin devamı için dinci, ırkçı, ayrımcı tüm grupların soyutlanması ellerine güç verilmemesi gerektiğini düşünüyorum. 2024 yılında aynı soydan gelen başka bir milleti sırf dinleri farklı diye katletmek ve buna sessiz kalmak orta çağ bağnazlığını geride bırakamadığımızı gösteriyor. Buna karşılık dünyanın dört bir tarafında insanlık için eylem yapan, ses çıkaranlarsa hala yaşamak için umutlu olmamız gerektiğini gösteriyor, hepsine selam olsun.

BAU Game Jam 2023

Bu sene çaktırmadan new year resolution listeme yüksek lisansa başlamayı eklemiştim. Devam edeceğimden emin değildim, işler yoğun, hayat yoğun, bu yükü kaldırabilir miyim bilmeden bir işe giriştik. Bahçeşehir Üniversitesi’nde Oyun Tasarım bölümünde yüksek lisansa başladım. Dönemde dört ders alınıyor, ikisi zorunlu ikisi seçmeli. Oyun tasarımının temelleri dersinde kutu oyunlar üzerine epey çalışıyoruz. Bu dönemki game jam etkinliğinde ufak bir proje yaptık. Ticaret ve deniz savaşları üzerine bir oyun. Aşağıda haritası var, üstüne figürlerle gemiler koyuyoruz, kartlar açıyoruz. Daha önceden çok uğraştığım bildiğim bir alan değildi kutu oyunları, yeni şeyler öğrenmeye devam ediyoruz.

Software QA Meetup Grubu

Yaklaşık dört yıl önce Ankara ekibimizdeki arkadaşlarımız sektördeki diğer meslektaşlarımızla paylaşmak için bir grup kurma ve etkinlik yapma fikriyle gelmişlerdi. Bir kaç online ve fiziksel etkinlikten sonra grubu biraz daha geliştirme amacıyla adını ve lokasyonunu değiştirdik. Sofware QA Community ve İstanbul lokasyonu ile devam ediyoruz. Linki şurada: https://www.meetup.com/software-qa-community/

Bu aralar çoğunlukla online etkinlikler düzenliyoruz. İnsanların covid sonrası remote çalışmaya dönmesi, iş hayatının yoğunluğu biraz da bizi bu yöne itti. Meetup eskisi kadar popüler değil gibi bir izlenim vardı trendlere baktığımda biraz düşüş gözüküyor

İdealde bir etkinlik yaptığınızda platformun kendisinden çok fazla katılımcı beklememek gerekiyor üyelerden katılanlar, linkedinden paylaşımları görüp üye olanlar oluyor, duyuruyu vs yapıyoruz onlarla katılanlar oluyor. Yer ayıran herkeste her zaman katılmıyor o yüzden tavsiyem etkinlikleri olabildiğince erken duyurmak, belli aralıklarla hatırlatmalar yapmak yönünde olacak.

Başlık seçimi, ilgi çekicilik tabiki ayrı konular. Reklamcılık dersi verecek bir bilgim yok genelde tecrübelerimizi aktarmaya çalışıyoruz, Insider’da 7 yıldır çalışıyorum ve bu dönemde ekibin teknik yönden gelişimi ve bu tecrübeleri başka insanlarla paylaşılmasının sektöre katkı vermesini umuyorum. Epey bir insana meslek öğrettik, üniversitelerde etkinliklerde konuşmalar yaptık, bu sene ilk defa bir üniversitede QA hakkında ders vermeye başladım günün sonunda bilginin paylaştıkça çoğalacağına, sektörün ilerlemesinin hem bizlere hem de ülkemize katkı vereceğini düşünüyorum. Etkinlikler oldukça buradan da paylaşacağım. Sıradaki etkinliğe buradan katılabilirsiniz https://www.meetup.com/software-qa-community/events/297334872/

Blogger’dan Taşındık

2008’ben beri kullandığım devador.blogspot.com adresinden sonunda kendi domain adresime taşındım. Çok uzun zamandır blogspot tarafında bir güncelleme olmuyor google’ın da ürünleri kapama işi baya popüler ne olur ne olmaz diye kendi alan adıma taşınmaya karar verdim.

Bunu yaparken önce blogspot’dan export alıyoruz tüm içeri. WordPress blogspot üzerinden migration için güzel bir araş sunmuş ama içeriği yüklerken cloudflare beni blockluyordu. Bu yüzden önce godaddy üzerinden cdn’i pasife geçirdim ardından yükleme işlemini tamamladım. Sonrasında CDN tekrar aktif hale getirildi.

Taşıma işlemi sorunsuzdu en azından temel olarak ama bir kaç düzeltilmesi gereken ve uğraştığım iş var. Birincisi etiketleri kategori olarak taşımıştı bu yüzden tüm kategorileri ve etiketleri silip baştan ayarlamaya başladım. İkincisi normalde taşırken google search console’da bu site şuraya taşındı gibi bir ayar varmış ben ise bam diye eski siteyi sildim haliyle baştan indexlenmesi ve değer koyması gerekecek sayfalarımıza. Taşıma işleminde temaya uymayan içerikler var nasıl düzelteceğimi bulamadım onları da tek tek düzenleyip düzgün görünür hale getirmem gerekecek, kod örnekleri, uzun linkler wordpress’in base temasında sorun çıkarıyor.

Arayüz tasarlamayı kolaylaştırdıklarını düşünüyorlar sanırım ama bence çok kötü olmuş. Ne nerde nasıl değiştiriliyor epey bir takla atmamız gerekiyor. İçeriği toparladıktan sonra tema işlerine tekrardan gireceğim. Hadi hayırlısı.

Future

The estimated age of the universe is approximately 13.8 billion years, Earth is about 4.54 billion years old, and it’s believed that the human race has been around for approximately 200,000 years. It’s worth noting that during Earth’s 4.5 billion-year journey, there have been five catastrophic events that completely wiped out life on our planet. If we define modern humans by the discovery of writing, that goes back roughly 5,000 years. I share these numbers to illustrate just how small and insignificant a single individual’s lifetime is in the grand scheme of the universe. In this seemingly inconsequential span of time, human beings are, nevertheless, a unique anomaly or miracle in the universe, at least for now.

Individually, your life may seem devoid of meaning from the perspective of the universe, but you are still an extraordinary being with boundless potential. To make our lives meaningful, as a species, we must work together and leave a mark in the universe. If we look at where we’ve come in the last two thousand years:

As a human race, we have created a plethora of different concepts like race, nationality, state, religion, language, political ideology, sexual orientation, money, materialism, and many others. We have used these concepts to distinguish ourselves from others, to exclude them, and to dehumanize them. Today, a multitude of people who consider themselves superior to others continue to oppress, crush, and undermine the infinite potential that I mentioned.

Whether you believe in a religion or not, human beings are unique entities. Whether it’s rooted in creation or a scientific theory like evolution, it doesn’t change the fact of how special human existence is. All children are born innocent, all children need love, and I love each of them equally. As we grow up, we tarnish our minds with certain theories and lose our love, trust, curiosity, and empathy for each other. This is where we stand after 200,000 years. We act without knowing whether one of the children who dies or has their opportunities taken away might be the one to save humanity, whether they are the messiah you’ve been waiting for, or whether they’ll become a great artist. It’s time to put a stop to this. All humans are equal. All humans are valuable. All humans are unique and special. All humans deserve protection, safety, and equal opportunities in life. All humans deserve to be loved. Stop considering yourselves superior to others with foolish ideas. Look into each other’s eyes, look into sky; there are so many places to explore, so many places to go. The potential is limitless, but it only has meaning if you use it. Years ago, there was a beautiful story written for Civilization on a website called trgamer, and if I remember correctly, it had an impactful ending, something like, “A fragmented world is doomed to destruction.” The time for us to come together is here and now.

Gelecek

Evrenin yaşının yaklaşık 13.8 milyar yıl, dünyanın 4,54 milyar yıl, insan ırkının ise yaklaşık 200000 yıl olduğu tahmin ediliyor. Dünyanın bu 4,5 milyar yıllık serüveninde 5 kere yaşamı komple yok edecek bir olay yaşadığını da not edelim. Modern insanı yazının keşfi ile tanımlasak o da yaklaşık 5 bin yıla kadar gidiyor. Tüm bu rakamları yaklaşık 70 yıl yaşayan bir canlının hayatının evren için ne kadar ufak ve manasız olduğunu göstermek için paylaşıyorum. Bu kadar önemsiz bir zaman aralığında yaşayan insan buna rağmen evrende eşi benzeri olmayan (en azından şimdilik) bir anomali veya mucize.

 Bireysel olarak evren açısından yaşamınızın bir anlamı yok ama buna rağmen eşsiz bir canlısınız ve sonsuz bir potansiyele sahipsiniz. Yaşamımızı anlamlı kılmak için insan ırkı olarak birlikte çalışmalı ve evrende bir iz bırakmalıyız. Son 2 bin yılda geldiğimiz noktaya bakacak olursak;

Irk, millet, devlet, din, dil, siyasi görüş, cinsel görüş, para, maddiyat ve bir sürü farklı kavram üretmişiz ve bu farklı kavramları kendimizi diğer insanlardan ayırmak, onları dışlamak ve onları insan olarak görmemek için kullanmışız. Bugün kendini diğerlerinden üstün gören sürüyle insan başkalarını insan olarak görmeyip onları yok etmeye, ezmeye, o bahsettiğim sonsuz potansiyellerini al aşağı etmeye devam ediyor. 

İster bir dine inanın, ister inanmayın, insan eşsiz bir varlık. İnsanın var oluşu ister bir yaratılışa dayansın isterse bilimsel bir teoriye, evrime bu onun ne kadar özel olduğu gerçeğini değiştirmiyor. Tüm çocuklar masum doğuyor, tüm çocuklar sevilmeye muhtaç oluyor ve her birini eşit derecede seviyorum. Büyürken belli teorilerle zihinlerimizi kirletiyor, birbirimize olan sevgimizi, güvenimizi, merakımızı, empatimizi kaybediyoruz. 200000 yılda geldiğimiz nokta bu. Ölen, imkanları elinden alınan çocuklardan birisinin insanlığı kurtarıp kurtarmayacağını, beklediğiniz mesih olup olmadığını, büyük bir sanatçı olup olmayacağı bilmeden hareket ediyoruz. Buna bir dur demenin zamanı geldi de geçiyor.

Tüm insanlar eşittir. Tüm insanlar değerlidir. Tüm insanlar tekil ve özeldir. Tüm insanlar korunmayı, güvenle ve fırsat eşitliğiyle yaşamayı hak eder. Tüm insanlar sevilmeyi hak eder. 

Salakça fikirlerle kendinizi diğer insanlardan üstün görmeyi, onları aşağıda görmeyi bırakın. Gök yüzüne, birbirinizin gözlerinin içine bakın, keşfedilecek, gidilecek çok yer var. Potansiyel sonsuz ama sadece kullanırsanız bir anlamı var. Yıllar önce trgamer isimli bir sitede civization için güzel bir hikaye yazılmıştı, sonu çok etkileyiciydi yanılmıyorsam şöyle bir şey “parçalara ayrılmış bir dünya yok olmaya mahkumdur”. Birleşmemizin zamanı geldi de geçiyor. 

Oyun Geliştiricileri İçin Oyunlardaki Hile Metodları ve Engelleme Yöntemleri

Eski işimden ayrılalı yedi sene oldu ama oyun sektörü içinden ayrılmadım, hala güncel teknolojileri takip ediyor, kendim de bir şeyler üzerine çalışıyorum. Hazır epeydir yazmıyorken burada hem oyuncular hem de yapımcılar için tecrübelerimi aktarmaya çalışayım. 

Öncelikle tecrübelerim online oyunlar üzerine bu yüzden odağım burası olacak. 

İster milyonlarca oyuncusu olsun, isterse indie bir oyun olsun temelde online oyunların çalışma mantığı aynıdır. Client – Server, Client – Client arasında çeşitli veri transferi olur, bu verilerin bir kısmı memory’de bir kısmı database’de bir kısmı da kullanıcıların sabit sürücülerinde tutulur. Oyun oynarken kim nerede, kim kime ne kadar hasar verdi, kimin canı ne kadar, kimin ne kadar mermisi var gibi bir sürü veri client tarafından okunur ve sunucu ile paylaşılır. 

Oyununuzu tasarlarken hangi verilerin localde hangilerinin ise server tarafında tutacağınıza karar verirsiniz. Localde tutulan çoğu şey değiştirilmeye açık olabileceğinden ya da oyun mekanikleri için diğer oyuncuların ihtiyaç duyduğu verileri paylaşmanız gerektiğinden bunun bir dengesi tutturmak zorunda kalırsınız. Her şey tek taraflı olamaz. Çok büyük bir paket gönderirseniz lag oluşması, paket kaybı durumlarıyla karşılaşabilirsiniz, az veri gönderirseniz de hileye daha açık hale gelebilir veya çeşitli özellikleri kullanamayabilirsiniz.

Lokalde ilk hile teşebbüsleri memory üzerinde tutulan geçici değerlerin oynanması üzerine olur. Kullanıcıların hangi değerlerin oyun sırasında değiştiğini takip edip daha sonra bu değerleri istedikleri gibi değiştirecek scriptler hazırlar. Buna karşı çeşitli kütüphanelerle bu verilerin yerleri ve valueları şifrelenmeye çalışılır, değiştirilir, gizlenmeye çalışılır ama günün sonunda buna net önlem almazsanız sürekli güncelleme yapmak gerecektir. Burada işte sınırsız cephane, can, oyunun bazı mekaniklerini değiştirme gibi şeyler yapılır. Bunların ne kadarının sunucuya gideceği veya client tarafında önlenebileceği üzerine çalışmak gerekir. Çeşitli değerleri limitlemek ve kontrol etmek en azından hilenin etkisini azaltmaya yarayacaktır. Örnek:

Does Unity editor contain any anti-cheat protection when you publish the Game?
by inUnity3D

https://forum.unity.com/threads/anti-cheat-toolkit-stop-cheaters-easily.196578/

Başka bir yöntem sunucuya giden paketlerin değiştirilmesi şeklinde olabilir. Network izlenip giden paketlerin içeriğiyle oynanarak istatistik veya sunucu tarafında tutulan bazı başka veriler oynanmaya çalışılabilir. Bunu engellemek için çeşitli kontroller koyabilirsiniz ama latency’e yol açmayacak şekilde işlemler yapıyor olmanız lazım. Her şeyi sunucuda tutmak ayrıca çok büyük maliyet getirecektir. Burada şifreli olarak veri gönderip almanın da işlem maliyetini hesaplamanız lazım. 

Diğer bir yöntemimiz daha basit olan direkt oyun dosyalarının configlerinin değiştirilmesiyle geliştirilen uygulamalardır, burda herhangi bir oyun dosyası veya ayarının değişip değişmediğini bütünlüğünü kontrol etmeniz gerekir. Çeşitli şifreleme algoritmaları ya da yazılımlarla bu özellikleri genelde çoğu oyun elde eder. Checksum kontrolü en basit örneğidir. DRM’de burada işin içine girebilir. 

Yazılım derken, online oyunları açarken yüklenen güvenlik yazılımlarını görmüşsünüzdür. Bunlar bir yandan temel bazı değerleri kontrol ederken diğer yandan da sizin gönderdiğiniz dosya ve uygulamaları engellemeye çalışır. Sürekli bir güncelleme ve kontrol gerekir. Akıllı olmayan özelliklerini takip ederek güncellemeniz gerekir sadece engellemek değil sert yaptırım uygulamakta hile ile mücadelenin olmazsa olmazıdır. Mobil ve Desktop için farklı yazılımlar piyasada bulunmakta. Maalesef hiç biri mükemmel değil ve sürekli takip gerektirir. Single player ise çok fazla uğraşmanın anlamı yok ama multiplayer büyük bir oyunda en azından bunlardan birisi ile anlaşmanız gerekir. 

Bence olmazsa olmaz diğer bir kalem loglama taranın ne kadar detaylı tutulacağı konusudur. Örnek verelim bir MMO üzerinde drop olan, alınan, trade edilen tüm işlemleri loglamalı. Bunları farklı scriptler ile kontrol etmelisiniz. Sürekli bir çalışma olmaz ama periyodik olarak dataları analiz edip sorunlu kullanıcılar üzerine aksiyon alabilirsiniz. 

Anlattıklarımı özetlemek gerekirse;

Kritik variable’ları server tarafında tut,

Client tarafında verileri şifreli tut, build alırken ona göre al,

Oyuncudan gelen veriyi kontrol etmeden kaydetme,

Bir güvenlik yazılımını entegre et,

Detaylı log tut ve periyodik kontrol et.

Umarım yardımcı olur. Detaylı kod örneği paylaşamıyorum kullandığımız motora, dile vs göre değişiyor çok ama genel mantık hepsinde aynı.