Почему решил вернуться с Game Dev в Android

Ответ

Переход с Game Dev на Android был осознанным выбором. В геймдеве много творчества, но часто страдает стабильность проектов и work-life balance. Android-разработка предлагает более предсказуемый цикл разработки, востребованность на рынке и возможность работать с долгосрочными продуктами. Также привлекает близость к бизнес-логике и влияние на пользовательский опыт миллионов людей.

Пример: в Android проще соблюдать SOLID и паттерны, чем в игровом коде с кучей хаков.

// Чистая архитектура в Android vs спагетти-код в игре
class CleanViewModel : ViewModel() {
    private val repository = DataRepository()
    val data: LiveData<String> = repository.fetchData()
}

Ответ 18+ 🔞

Да ты знаешь, это как будто с дикого карнавала переехать в нормальный офис, где есть график и туалетная бумага. В геймдеве, конечно, ебушки-воробушки, творчества — овердохуища. Но это, блядь, как строить дом на песке во время урагана. Сегодня ты король механик, а завтра проект накрылся медным тазом, и ты уже не король, а просто чувак с пустым портфолио. Work-life balance? Да похуй, там про баланс только в названии движка Unreal и говорят.

А вот в андроиде — другое дело. Тут, ёпта, хоть какая-то предсказуемость. Не скажу, что идеал, но ты хотя бы понимаешь, что завтра твой код не вылетит в трубу из-за того, что продюсеру приснилось, что дракон должен быть розовым. Рынок стабильный, продукты долгоиграющие — не полгода, как та мобильная казуалка, на которую все забили через неделю после релиза.

И главное — влияние. В игре ты делаешь хитрую жопу для босса, которую пять человек оценит. А тут ты, сука, можешь впендюрить фичу в приложение, которым будут пользоваться миллионы. Чувствуешь разницу? Это ж волнение ебать — не просто код написать, а реально на жизнь людям повлиять.

Ну и код, конечно. В геймдеве сплошной спагетти-код, потому что «оптимизация» и «выпустить к чертовому четвергу». Там SOLID — это не принцип, а описание твоего психического состояния после трёх крашей подряд. А в нормальной андроид-разработке можно, блядь, архитектуру выстроить, как в учебнике. Не то чтобы всегда, но шанс есть.

Вот смотри, простой пример. В андроиде ты можешь сделать что-то вменяемое:

// Чистая архитектура в Android vs спагетти-код в игре
class CleanViewModel : ViewModel() {
    private val repository = DataRepository()
    val data: LiveData<String> = repository.fetchData()
}

А в игре это бы выглядело как class DragonManager : MonoBehaviour, который знает вообще всё на свете: и как летать, и как стрелять, и где хранить сейвы, и ещё хуй с винтом прикручен на случай, если понадобится. Пиздопроебибна, а не класс. В общем, переход — это как сменить бардак на стройплощадке на нормальную, пусть и скучноватую, работу прораба. Иногда скучно, зато сердце не колотится как сумасшедшее.