Как стать автором
Обновить

Путь и план амбициозного разработчика от игр к бизнес-приложениям на C++

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.3K

Привет, Хабр! Меня зовут Никита, мне 14 лет, и я владелец телеграмм‑канала NikitaTech Nexus. С детства мечтал создавать игры, но со временем мои амбиции выросли — теперь я планирую разрабатывать не только игры, но и серьезные десктопные приложения. В этой статье хочу поделиться своим прогрессом, текущими проектами и планами на будущее.

Моя история в программировании

Все началось с простого интереса к созданию игр. Мой путь обучения был такой:

  1. Начало

    Всё началось с просмотра роликов, где разработчики создавали игры за ограниченное время. Меня это увлекло, и я стал глубже погружаться в тему.

  2. Туторталы

    Следующим этапом стали обучающие видео - я смотрел туториалы по основам разработки игр, чтобы понять основные принципы и инструменты.  

  3. Курсы

    Позже я записался на курсы(в случаи хорошего преподавателя и его хорошего подхода обучения, обучение может оказаться эффективным), где преподаватель помогал осваивать языки программирования:  

    • Начали с Python

    • Затем перешли на C++

    Благодаря обратной связи обучение было  очень эффективным и не скучным.

  4. Книги

    Параллельно я начал изучать C# по книгам, чтобы расширить свои навыки.  

  5. Алгоритмы

    Преподаватель мотивировал нас к написанию алгоритмов, что помогло лучше понять логику программирования.  

  6. Статьи

    Со временем я стал активно читать специализированные статьи, чтобы быть в курсе новых технологий и подходов в разработке.  

Давайте поговорим о курсах, книгах и алгоритмах:

🎓 Курсы

Материал:

Точную цифру назвать не могу, но замечу: если бы мы обучались по материалу курсах, примерно 25–40% информации было бы пропущено, не все темы охватываются в полном объеме.

Возможно, это просто стандарты такого формата обучения. 👨🏻‍💻

Преподаватель:

Мне очень повезло с преподавателем и вот почему:

  • Преподаватель разработал собственный эффективный материал.

  • Обучение проходило без воды: всё четко, структурировано и по делу.

  • Начали с Python, и каждая тема была разобрана подробно и доступно.

📚 Книга

Я изучал C# 10 и .NET 6 по книге Марка Прайса (6-е издание русский перевод).

Мои впечатления:

Плюсы:

  • Материал охватывает кроссплатформенную разработку, включая:

    • Консольные приложения

    • Веб-разработку

    • И другие направления

Минусы:

  • Довольно много воды

Алгоритмы:

Реализованные на занятиях:

  • Бинарный поиск- эффективный алгоритм поиска в отсортированном массиве.

  • Решето Эратосфена- алгоритм нахождения всех простых чисел до заданного предела.

Познакомились с теорией:

  • Линейный поиск- простой, но не самый быстрый метод поиска.

  • Сортировка пузырьком- базовый алгоритм сортировки с временной сложностью O(n²).

  • Быстрая сортировка- один из самых эффективных алгоритмов сортировки (O(n log n) в среднем случае).

Ну и конечно Python:

Первыми моими проектами на Python были классические игры:

  • Платформер:

  • Описание:
    Игрок управляет прямоугольным персонажем, который может перемещаться влево и вправо, а также прыгать.

    • Особенности:

      • Управление: стрелки или клавиши AD, Space или W 

      • Коллизии с платформами.

  • Змейка:

  • Описание:
    Игрок управляет змейкой, которая перемещается по игровому полю. Цель — собирать еду. Реализована система рекордов (сохранение в файл highscore.txt).

    • Особенности:

      • Управление: стрелки или клавиши WASD.

      • Динамическая смена цветов: змейка, еда, фон, каждые 0.5 секунды.

      • Телепортация через границы экрана.

      • Отображение счета и рекорда.

      • Возможность рестарта после проигрыша (клавиша Space).

  • Тетрис:

  • Описание:
    Игрок управляет падающими фигурами. При заполнении строки она исчезает, а игрок получает очки. Если фигуры достигают верха экрана, игра заканчивается. Система рекордов (сохранение в файл high_score.txt).

    • Особенности:

      • Управление: стрелки или клавиши AD ,S 

      • Разноцветные фигуры (7 стандартных цветов).

      • Отображение текущего счета и рекорда.

      • Возможность установки нового рекорда.

Эти простые проекты я разрабатывал когда было понимание программирования, логики разработки и был опыт на языке Python.

Текущие проекты (здесь представлена поверхностная информация, по мере создания проектов будут полноценные посты или статьи).

Игровые проекты:

На Python:

Лабиринт - игра с генерацией 2D/3D лабиринтов, системой прокачки и магазином.

На C#:

⚔️ Шутер с уникальной механикой стрельбы.

🔮 Стратегия с кристаллами - управление ресурсами, строительство, тактические битвы.

🌲 Выживалка - строительство, добыча ресурсов, ИИ мобов.

🧟 Зомби-апокалипсис - захват территории, защита населения.

🌍 Глобальная стратегия - управление экосистемой и поселением.

На C++ и C#:

🖥️ Консольные игры (с библиотеками и без).

💻 Декстопное бизнес-приложение для РФ/СНГ (детали пока не раскрываю).

Почему C++ для бизнес-приложения?

Мой будущий проект - серьезное(в плане масштаба) бизнес-приложение с необходимостью оптимизации, и вот почему выбор пал на C++:

  1. Производительность - критически важна для работы с большими объемами данных.

  2. Контроль памяти - возможность оптимизировать каждый байт.

  3. Кроссплатформенность - приложение должно работать на Windows, Linux и macOS.

Планы развития проектов:

  1. Ближайшие планы(до 1 года включительно):

    • Завершить изучение C++ до окончательных тем и хорошим его владением.

    • Выпустить MVP бизнес-приложения.

    • Изучить WebSockets для мультиплеера в моих будующих игр.

  2. Среднесрочные планы(до 2-3 лет включительно):

       • Создать комьюнити вокруг продуктов студии.

        • Разработать SDK для других разработчиков.

        • Выход на рынок СНГ.

  3. Долгосрочные планы:

    • Создать экосистему инструментов для разработчиков.

    • Разработать собственные аналоги разных технологий, чтобы ни от кого не зависеть.

    • Перейти на собственное оборудование, чтобы ни от кого не зависеть.

Главное о проектах

Все мои проекты создаются по 2 принципами:

  1. Качество кода - стараюсь делать всё на высоте, чтобы опубликовать в тг и другие площадки.

  2. Открытость - делюсь процессами разработки в своем Telegram-канале, от простых алгоритмов до используемых технологий.

Telegram: @nikitka145

Теги:
Хабы:
+1
Комментарии12

Публикации

Работа

Программист C++
93 вакансии
QT разработчик
4 вакансии
Data Scientist
41 вакансия

Ближайшие события