Let’s Play into the Future with Flutter Flame!

 


Hello everyone. Today I have prepared a guide about Flame for you. Developers who are bored of constantly developing mobile applications, who want to try something different, who have an idea and want to realize it from a familiar place, this place is for you! Let’s start by getting to know Flame first.

What is Flutter Flame?

Flutter Flame is an open source game engine for developing Flutter-based 2D games. It allows you to create games for mobile, web and desktop platforms using the Dart language. You can bring the power and flexibility of Flutter to the game world and experience a fast and easy game development experience.

Why Preferable?

First of all, as with Flutter in general, you can create games for Android, iOS and web with a single code base.

Assuming you already have Flutter knowledge, you won’t be overwhelmed by the details of a new technology for your simple game, and you will quickly grasp Flame.

It’s open source, so you can easily get support from the developer community.

Let’s look at the main features of Flame.

Game Loop

Flame allows games to run in a continuous loop. Thanks to this loop, all objects on the game screen are updated and drawn. This loop is based on two main functions:

update(dt): Updates of game objects such as position, state, etc. are done here.

render(canvas): The graphics to be drawn on the screen are defined here.

Component System

Flame offers a component-based approach to creating game objects. You can define and manage objects such as players, enemies, obstacles, etc. as components.

class Player extends PositionComponent {
@override
void render(Canvas canvas) {
// You can write the player drawing codes here
}

@override
void update(double dt) {
// You can write the player update codes here
}
}

Sprite ve Animasyon Desteği

Sprites are graphical elements within the game. Flame allows you to easily manage sprite-based animations.

final sprite = await Sprite.load('player.png');

Çarpışma Tespiti (Collision Detection)

In games, it is important to detect the collision of objects. Flame has a collision detection system that facilitates this process.

bool collision = player.toRect().overlaps(enemy.toRect());

Flame ile Yapılabilecek Basit Bir Oyun Taslağı

In this section, I have prepared an outline that you can use as a guide when you start developing a game.

First, after creating the project, we install the flame package.

flutter pub add flame

Then we can create our Main Game class.

import 'package:flame/game.dart';

class MyGame extends FlameGame {

@override
void render(Canvas canvas) {
// Draw game objects here
}

@override
void update(double dt) {
// Make game updates here
}
}

And finally we start the game.

void main() {
runApp(GameWidget(game: MyGame()));
}

This is of course a very simple and general outline. There are a lot of things to change and improve regarding the game’s features and genre. At this point, there is a repo you can review. It has a lot of resources and examples. After my outline, you can make use of this repo to move forward. And of course you should also read the official documentation. The link to both is below.

As a result, Flutter Flame allows you not only to develop games, but also to make creative projects with your Flutter knowledge. It’s a great opportunity to try yourself in the game world! I hope this was useful.

Thank you.

Selin.

Flutter Flame ile Geleceğe Oynayalım!

 


Herkese merhaba. Bugün sizlere Flame ile ilgili bir rehber hazırladım. Sürekli mobil uygulama geliştirmekten sıkılan, farklı bir şey denemek isteyen, fikri olan ve tanıdık bi yerden hayata geçirmek isteyen geliştiriciler, burası tam size göre! Önce Flame’i tanıyarak başlayalım.

Flutter Flame nedir?

Flutter Flame, Flutter tabanlı 2D oyunlar geliştirmek için kullanılan açık kaynaklı bir oyun motorudur. Dart dilini ullanarak mobil, web ve masaüstü platformları için oyunlar oluşturmanı sağlar. Flutter’ın gücünü ve esnekliğini oyun dünyasına taşıyabilir, hızlı ve kolay bir oyun geliştirme deneyimi yaşayabilirsin.

Neden Tercih Edilebilir?

İlk olarak genel Flutter işleyişinde olduğu gibi burada da tek kod tabanı ile Android, iOS ve web için oyunlar oluşturabilirsin.

Flutter bilgisine zaten sahip olduğunu düşünürsek, geliştireceğin basit oyunun için yeni bir teknolojide detaylara boğulmazsın, Flame’i de hızlıca kavrarsın.

Açık kaynaklıdır bu sebeple geliştirici topluluğundan kolaylıkla destek alabilirsin.

Şimdi Flame’in temel özelliklerine bakalım.

Oyun Döngüsü (Game Loop)

Flame, oyunların sürekli bir döngü (loop) içinde çalışmasını sağlar. Bu döngü sayesinde oyun ekranındaki tüm nesneler güncellenir ve çizilir. Bu döngü iki ana fonksiyona dayanır:

update(dt): Oyun nesnelerinin konum, durum gibi güncellemeleri burada yapılır.

render(canvas): Ekrana çizilecek grafikler burada tanımlanır.

Bileşen Tabanlı Sistem (Component System)

Flame, oyun nesnelerini oluşturmak için bileşen tabanlı bir yaklaşım sunar. Oyuncular, düşmanlar, engeller gibi nesneleri bileşenler olarak tanımlayabilir ve yönetebilirsin.

class Player extends PositionComponent {
@override
void render(Canvas canvas) {
// Oyuncu çizim kodlarını buraya yazabilirsin
}

@override
void update(double dt) {
// Oyuncu güncelleme kodlarını buraya yazabilirsin
}
}

Sprite ve Animasyon Desteği

Sprite’lar, oyun içindeki grafik öğeleridir. Flame, sprite tabanlı animasyonları kolayca yönetmeni sağlar.

final sprite = await Sprite.load('player.png');

Çarpışma Tespiti (Collision Detection)

Oyunlarda nesnelerin çarpışmasını algılamak önemlidir. Flame, bu süreci kolaylaştıran collision detection sistemine sahiptir.

bool collision = player.toRect().overlaps(enemy.toRect());

Flame ile Yapılabilecek Basit Bir Oyun Taslağı

Bu bölümde oyun geliştirmeye başladığında rehber olarak kullanabileceğin bir taslak hazırladım.

İlk olarak projeyi oluşturduktan sonra flame paketini yüklüyoruz.

flutter pub add flame

Sonrasında Ana Oyun sınıfımızı oluşturabiliriz.

import 'package:flame/game.dart';

class MyGame extends FlameGame {
@override
void render(Canvas canvas) {
// Oyun nesnelerini burada çiz
}

@override
void update(double dt) {
// Oyun güncellemelerini burada yap
}
}

Ve son olarak oyunu başlatıyoruz.

void main() {
runApp(GameWidget(game: MyGame()));
}

Bu tabiki çok basit ve genel bir taslak. Oyunun özellikleri ve türü ile ilgili olarak değiştirilecek, geliştirilecek çok fazla şey var. Bu noktada inceleyebileceğin bir repo mevcut. İçeriğinde çok fazla kaynak ve örnek var. Benim genel hatlarıyla oluşturduğum yazımdan sonra buradan faydalanarak ilerleyebilirsin. Ve elbette ki resmi dokümantasyonu da okumanda fayda var. Her ikisinin de linki aşağıda.

Sonuç olarak Flutter Flame, sadece oyun geliştirmekle kalmaz, Flutter bilginle yaratıcı projeler yapmanı sağlar. Kendini oyun dünyasında denemek için harika bir fırsat! Umarım faydalı olmuştur.

Teşekkürler.

Selin.

Google Gemini: A Whole New Era with iOS-Only App

 


Hello everyone, today I would like to announce a development from the world of software and technology.

Google has taken an exciting step for Gemini, its AI-powered assistant. No longer do iOS users have to use the Google app or mobile web browsers to access Gemini! Google has launched a dedicated app for Gemini for iOS worldwide. This new app is not just an AI assistant; it’s also a guide to make your life easier. But first, let’s take a closer look at Gemini.

What is Gemini?

Gemini is Google’s newest artificial intelligence assistant.
It offers many different functions from text-based commands to speech-based interactions and even visual content generation. While users can create visual content thanks to Google’s Imagen 3 model, Gemini also integrates with Google services such as Gmail, YouTube and Calendar, taking the personal assistant experience to a whole new level.

Gemini addresses both personal and professional needs. You can get recipe suggestions, ask questions to help you study, or discover solutions to boost your productivity. Thanks to its multilingual support, it can interact with users from all over the world.

What’s New with Gemini’s iOS App?

Gemini’s iOS app is especially notable for its Gemini Live feature. This new feature allows users to interact with Gemini in 12 different languages (including Turkish!). Of course, text-based command support is also very strong and can be used in 35 languages. Google’s announcement that it will expand this support in the coming days shows how much potential the app has for growth.

Previously, basic features such as getting recipe suggestions or information were available in the Google app. But Gemini Live offers a whole new experience that makes the iOS app special.

Visual Content Production and More

Thanks to Google’s Imagen 3, Gemini users can now create images. In August, images containing human figures were allowed to be recreated. This feature provides a powerful tool for visual content creators.

In addition, Gemini’s extensions feature allows you to get information about your other Google accounts such as Gmail, Maps, YouTube and Calendar. For example, it’s easy to find out the time of a meeting or ask for an email reminder.

Gemini’s Global Journey

Gemini’s Android app was launched in the US in February. It was then rolled out in European countries such as Germany, France, Italy and Asian markets such as India. By June, it was available in nine local languages in South Asia, including Bangladesh, Pakistan and Sri Lanka. Now, the application developed for iOS is the most important step in a global expansion.

Google and Apple Rivalry

Gemini’s iOS app is also directly linked to Apple’s AI moves. Apple is testing Siri integration with ChatGPT in the iOS 18.2 beta. There were also hints at Apple’s Worldwide Developers Conference that Gemini could be integrated with Apple Intelligence in the future. This suggests that the competition between Google and Apple will heat up even more when it comes to AI assistants.

Why Gemini for iOS matters?

Gemini’s iOS app is a move that could revolutionize Google’s AI ecosystem. Users can now communicate with AI through both text and voice commands and create visual content. Google’s determination to develop these innovations further shows that Gemini will be an important player in the field of artificial intelligence.

If you are interested in technology or looking for an assistant that will make your daily life easier, you should definitely try Gemini! I use it, I recommend it.

Thank you for reading.

See you in my new articles.

Selin.

Google Gemini: iOS’a Özel Uygulamasıyla Yepyeni Bir Dönem

 


Herkese merhaba, bugün sizlere yazılım ve teknoloji dünyasından bir gelişmeyi duyurmak istiyorum.

Google, yapay zeka destekli asistanı Gemini için heyecan verici bir adım attı. Artık iOS kullanıcıları, Gemini’ye erişmek için Google uygulamasını veya mobil web tarayıcılarını kullanmak zorunda değil! Google, Gemini’nin iOS için özel bir uygulamasını dünya çapında kullanıma sundu. Bu yeni uygulama, sadece bir yapay zeka asistanı değil; aynı zamanda hayatınızı kolaylaştıracak bir rehber. Ama önce Gemini’ye biraz yakından bakalım.

Gemini Nedir?

Gemini, Google’ın en yeni yapay zeka asistanı olarak karşımıza çıkıyor.
Metin tabanlı komutlardan konuşma tabanlı etkileşimlere, hatta görsel içerik üretimine kadar birçok farklı işlev sunuyor. Google’ın Imagen 3 modeli sayesinde kullanıcılar görsel içerik oluşturabilirken, Gemini aynı zamanda Gmail, YouTube ve Calendar gibi Google hizmetleriyle entegre çalışarak kişisel asistan deneyimini bambaşka bir boyuta taşıyor.

Gemini, hem bireysel hem de profesyonel ihtiyaçlara hitap ediyor. Tarifle ilgili öneriler alabilir, ders çalışmanıza yardımcı olacak sorular sorabilir veya üretkenliğinizi artıracak çözümler keşfedebilirsiniz. Çoklu dil desteği sayesinde dünyanın dört bir yanından kullanıcılarla etkileşim kurabiliyor.

Gemini’nin iOS Uygulamasıyla Gelen Yenilikler

Gemini’nin iOS uygulaması, özellikle Gemini Live özelliği ile dikkat çekiyor. Bu yeni özellik, kullanıcıların 12 farklı dilde (Türkçe dahil!) Gemini ile konuşarak etkileşim kurmasına olanak tanıyor. Elbette, metin tabanlı komut desteği de oldukça güçlü ve tam 35 dilde kullanılabiliyor. Google’ın bu desteği ilerleyen günlerde daha da genişleteceğini belirtmesi, uygulamanın ne kadar büyüme potansiyeli taşıdığını gösteriyor.

Daha önce tarif önerileri almak ya da bilgi edinmek gibi temel özellikler Google uygulamasında mevcuttu. Ancak Gemini Live, iOS uygulamasını özel kılan yepyeni bir deneyim sunuyor.

Görsel İçerik Üretimi ve Daha Fazlası

Google’ın Imagen 3 modeli sayesinde artık Gemini kullanıcıları görseller oluşturabiliyor. Ağustos ayında, insan figürlerini içeren görsellerin yeniden oluşturulmasına izin verildi. Bu özellik, görsel içerik yaratıcıları için oldukça güçlü bir araç sunuyor.

Buna ek olarak, Gemini’nin uzantılar özelliği, Gmail, Maps, YouTube ve Calendar gibi diğer Google hesaplarınızla ilgili bilgi edinmenizi sağlıyor. Örneğin, bir toplantınızın saatini öğrenmek veya bir e-postayı hatırlatmasını istemek çok kolay.

Gemini’nin Global Yolculuğu

Gemini’nin Android uygulaması, Şubat ayında ABD’de kullanıma sunulmuştu. Daha sonra Almanya, Fransa, İtalya gibi Avrupa ülkelerinde ve Hindistan gibi Asya pazarlarında yerini aldı. Haziran ayına gelindiğinde, Güney Asya’daki Bangladeş, Pakistan ve Sri Lanka gibi ülkelerde dokuz yerel dil desteğiyle dikkat çekti. Şimdi ise iOS için geliştirilen uygulama, global bir yayılımın en önemli adımı olarak karşımıza çıkıyor.

Google ve Apple Rekabeti

Gemini’nin iOS uygulaması, Apple’ın yapay zeka hamleleriyle de doğrudan bağlantılı. Apple, iOS 18.2 beta sürümünde ChatGPT ile Siri entegrasyonunu test ediyor. Ayrıca, Apple’ın Worldwide Developers Conference etkinliğinde, Gemini’nin gelecekte Apple Intelligence ile entegre edilebileceğine dair ipuçları verildi. Bu, Google ve Apple arasındaki rekabetin yapay zeka asistanları konusunda daha da kızışacağına işaret ediyor.

Sonuç: iOS için Gemini Neden Önemli?

Gemini’nin iOS uygulaması, Google’ın yapay zeka ekosisteminde devrim yaratabilecek bir hamle. Kullanıcılar artık hem metin hem de sesli komutlarla yapay zeka ile iletişim kurabiliyor ve görsel içerik oluşturabiliyor. Google’ın bu yenilikleri daha da geliştirme kararlılığı, Gemini’nin yapay zeka alanında önemli bir oyuncu olacağını gösteriyor.

Eğer teknolojiye meraklıysanız veya günlük hayatınızı kolaylaştıracak bir asistan arıyorsanız, Gemini’yi kesinlikle denemelisiniz! Ben kullanıyorum, tavsiye ederim.

Okuduğunuz için teşekkür ederim.

Yeni yazılarımda buluşmak üzere.

Selin.

How to Overcome Burnout: Regain Your Passion While Learning Flutter and Mobile Development

 

The excitement of being a developer and the enthusiasm of learning a new technology… These feelings are great, but sometimes they can give way to burnout, loss of focus and lack of motivation. This is what I’ve been suffering from for a while. If you are feeling tired and burnt out right now, you are not alone. In this article, I’m going to talk about ways to help you regain your motivation and get back to your enthusiastic self.

1. Remember Why You Started

When you first started learning Flutter or mobile app development, there was a reason behind it. Reflect on that initial motivation:

  • Was it to create apps that make a difference?
  • Did you want to develop your dream project?
  • Were you excited to build a new skill or advance your career?

The reasons I gave were my own reasons. When I was trying to go through this process, I took pen and paper and wrote down my reasons in this way, your own reasons will be much more valuable for you and will be useful to get through the process.

Reconnecting with your “why” can reignite the passion that got you started.

2. Set Small, Achievable Goals

Big, long-term goals can sometimes feel overwhelming. Instead, focus on smaller, manageable tasks:

  • Dedicate today to exploring a single Flutter widget or reading one article.
  • Create a small feature instead of tackling the entire app at once.

I set milestones for my project that I developed here, and as I did them and crossed them off, your motivation slowly started to come back.

These small wins accumulate and give you the momentum to tackle bigger challenges.

3. Take Breaks and Recharge

Burnout often stems from pushing yourself too hard without breaks. Resting isn’t a setback — it’s necessary for sustainable growth:

  • Go for a walk or spend time in nature.
  • Watch your favorite movie or series to unwind.
  • Explore a hobby or read a light book to refresh your mind.

During the break, I read a lot of books, listened to music, produced handicrafts. It was very good for me to continue my work, which I had not picked up for a very long time.

Breaks provide clarity and allow you to return to your work with renewed energy.

4. Use the Pomodoro Technique for Focus

Struggling to concentrate? Try the Pomodoro technique:

  • Work for 25 minutes, then take a 5-minute break.
  • Repeat this cycle 4 times, then take a longer break.

There are many apps for Pomodoro to download to your mobile phone or computer, but I was more inspired by the studyWithMe videos on Youtubed. It gave me the feeling of working at the same desk with someone else, I liked it a lot and I found it efficient. I leave one below.

This method prevents mental fatigue and helps you make consistent progress without feeling overwhelmed.

5. Engage with the Community

The developer community can be a great source of motivation:

  • Share your progress on LinkedIn or Medium and connect with fellow developers.
  • Read stories of other developers overcoming similar struggles.
  • Participate in discussions or forums to gain insights and encouragement.

I must say that Medium has supported me a lot in this process :)

Seeing others’ journeys can remind you that setbacks are part of the process and help you feel less isolated.

6. Reassess and Simplify Your Goals

Sometimes, the goals we set are too ambitious for our current energy levels. Reassess them:

  • Break them into smaller, short-term objectives.
  • Focus on fun and manageable projects to keep the process enjoyable.

As I said before, moving forward with milestones is more efficient and motivating.

Simplifying your goals can help you avoid feeling stuck and make steady progress.

7. Celebrate Your Achievements

Take a moment to acknowledge how far you’ve come:

  • Think about the technologies you’ve learned and the projects you’ve completed.
  • Even small accomplishments deserve recognition — they build your confidence and motivation.

Celebrating is probably the most enjoyable part. I usually reward myself with a good coffee or a good book. Don’t forget to reward yourself with whatever is more motivating for you.

Your journey so far is proof of your potential. Celebrate it!

Conclusion: Temporary Setbacks, Permanent Potential

Motivation loss is temporary, but your potential is lasting. Give yourself the time and kindness you need to recharge. By taking small steps, celebrating your progress, and staying connected with your goals, you can overcome burnout and come back stronger.

I hope this article inspires you to regain your enthusiasm and keep moving forward. Have any tips or stories of your own? Share them in the comments — let’s support each other on this journey! 😊

Thank you.

Selin.