Search
Write a publication
Pull to refresh

Comments 23

 просто потешит Ваше ЧСВ

Как-будто что-то плохое (:

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

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

а ведь почти каждый кто шел в программисты - шел с мыслью - буду делать игры!)

Я таким был, в итоге, к играм не имею никакого отношения.

Вспомнил мой опыт с плюсами и борландом.

В детстве делал игру по принципу текстового квеста, вдохновлённый текстовыми квестами в космических рейнжерах. Экраны, кнопки, текст и инвентарь.

По реализации было всё просто: был общедоступный стейт, который определял состояние игры и экраны. На каждом экране было по 5 кнопок. По нажатию на кнопку выполнялась функция, которая меняла стейт и м.б. переключала экран.

Каждый экран был классом с 5 методами. Но я не знал как связать кнопки и методы класса. Можно было бы сделать базовый класс с виртуальными функциями под каждую кнопку и дергать их, но я не знал что так можно. Поэтому использовал свич, сначала по номеру экрана, потом по номеру кнопки.

Т.к. писать свич слишком муторно, я написал вторую программу, которая генерила код свича. И всё работало :)

Я точно так же, будучи не в силах перемножить матрицы поворота, писал отдельную программу, которая сама умножала синусы-косинусы, сокращала числитель и знаменатель, и прочее. Помогло :)

ИИ Сэкономит примерно 40 минут вашего времени. Вот статья тезисно

### Тезисы статьи:

1. **Время на создание объектов**

- Больше всего времени ушло на рисование дерева в пиксель-арте (~5 часов).

2. **Уроки из проекта**

- **Четкие цели**:

- Ставьте реалистичные и ясные задачи.

- Избегайте абстрактных целей вроде «сделать что-то крутое».

- Спрашивайте себя «зачем?»: если ответа нет — это прихоть, а не цель.

- Две допустимые цели для новичка: заработок или обучение.

- **Грамотный подход**:

- Изучайте необходимые основы (например, классы и ООП).

- Не игнорируйте пробелы в знаниях.

- **Начинайте с малого**:

- Новичкам не стоит браться за сложные проекты.

- Даже с опытом некоторые задачи лучше не начинать без четкого плана.

**Вывод**: Реалистичные цели, грамотная подготовка и постепенное усложнение задач — ключевые принципы успешной разработки.

Очень советую вам посмотреть мультфильм «Вовка в Тридевятом царстве». А после просмотра поразмыслить над фразой «Вы, чего, и конфеты за меня есть будете?». Если не осилите (целых 20 минут, всё-таки!), то попросите ИИ, пусть он вам расскажет смысл мультика. Всё-таки, поразительно, что за 60 лет он стал ещё актуальнее, чем был изначально.

Ну если у вас есть время читать каждую статью в интернете от начала до конца, очень завидую количеству вашего свободного времени. А я уж точно лучше его на что-то другое потрачу.

Так проблема в том, что вы потратили время (меньше, чем ушло бы на чтение статьи), но получили тупо нулевой результат, потому что те пункты которыми накормила вас ЛЛМка, это тупо “делай хорошо, плохо не делай"

Тот случай, когда это так плохо, что даже хорошо :)

Великолепная статья, автору жирный плюс. Сам начинал прогать с джавы как раз загоревшись идеей сделать свою игру. Каждый раз как открывал спойлеры с говнокодом - скупая ностальгическая слеза катилась по щеке

Я назвал его «Пидрахуй», что на украинском значит «Посчитай»

Потужно 😁

Жму руку автору. У меня бы не хватило силы воли написать такую длинную статью. Компьютер дома появился только в 11 классе, поэтому в школьном возрасте до разработки игр я не добрался. А в университетские времена до такого подхода уже не дошло - сколько возможностей упущено :'( А то бы читал эти исходники с еще большей ностальгией. В качестве лабораторки делал сетевые танчики. Тоже друг помогал рисовать текстуры :)

>вредную привычку писать код мелкими кусками и сразу его проверять

Ну да, регрессионное тестирование - выдумка нубов. А кто-то ведь и вообще сначала тесты пишет, а потом кодит, жуть.

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

Крайне сочувствую автору статьи, скорее не как то оскорбить, а дать совет людям на будущее, сначала нужно изучать программирование, а потом уже браться за проекты по сложности, поскольку качество кода предоставленное в статье не столь высоко. Для начала посоветовал бы наработать навыки на сайтах по типу silvertest в особенности работа с массивами для подобных движков. Отдельное замечания к if и while в них нельзя пихать все что душе угодно, поскольку компилятор не всегда может обрабатывать таки сложные условия. Ну и для геймдева советую использовать более распространенные движки они помогут получить навыки ООП, потому что представленный проект по стилистике больше похож на системное программирование внешне, что крайне плохо отражается на читаемости

И да, и нет. Всё это хорошо, что бы сделать "правильно", но весь смысл в том, чтобы было прикольно. Я помню себя в юности, мне просто нравился процесс программирования, изобретение велосипедов, запуск, отладка. Это было творчество. А правильность написания появится со временем, если желание не пропадёт. Вот vvvvvvv говрят криво-косо написал, а люди играют и им нравится. Потому что игра - это не код.

Это да, тут соглашусь, просто смотрю уже через призму опыта, но в целом если на будущее человек планирует какие то еще проекты пилить, то работать над ошибками было бы приятнее для самого разработчика, ну и да и повторюсь я не из позиции ругательства говорю, а просто предлагаю людям путь который во многом более простой, спасибо за отзыв)

Проблема в том (имхо), что "более простой и правильный" путь может оказаться для первого проекта длиннее, чем процесс "я просто играюсь с кодом и собираю все возможные грабли и шишки". Потому что самому набивать шишки и учиться программировать сразу игру - весело) А если сначала изучать всё по учебнику - тут автор правильно подметил, на старте ни ООП, ни многие другие концепты не влезают голову, потому что "а зачем мне это нужно? Сложно же!"

В общем, если делать всё "правильно" - есть шанс тоже никогда игру не закончить, просто причины будут другие.

Ребёнка очень сложно увлечь голой теорией, ему нужно видеть результат. И в этом возрасте самое главное как раз увлечь и дозированно давать полезную теорию. Да взять формулы из физики школьной... А ну дайте сразу полный вывод с полным мат аппаратом: мне в универе поплохело от этого. Или игрушки 3D на серьёзных шах начните про гиперкомплексные числа и свойства кватернионов вещать. Либо дайте библиотеку и скажите для этого и этого надо сделать так и так, а так это 4 числа которые магическим образом описывают ориентацию.

Я помню как после Бейсика попытался на Си писать. Ничё не понял. А хотел просто программы делать, что бы можно в exe давать. С Паскалем получилось лучше. А через год я не понял, что я такого не понял в Си: всё же почти так же. Как и не понял Tubo Vision сразу.

В общем нужно заякорить. А потом можно развивать успех.

Да даже сейчас, проще про что-то "научно-популярно" почитать, начать, а потом уже детали копать.

Совершеннейшее великолепие! Спасибо за рассказ. Ждём историю про Щи2 :)

Самые прикольные и интересные проекты в том числе и игры создаются, в первую очередь, для себя. Когда делаешь под всех, то тут встают ограничения: по реализации фантазии (никого не оскорбить и всем угодить).

Как организовать код, ресурсы к игре - это дело десятое. Даже с плохими навыками программирования можно сделать залипательный проект. Автор молодец и как любой новичок хотел впихнуть как можно больше в бессюжетную игру.

Игры должны давать какой-то опыт игроку: вызывать эмоции положительные (даже если это треш и хоррор и человеку хочется пощикотать нервы). А вот если от игры скучно или вызывается чувство отвращение, то однозначно - она плоха.

Sign up to leave a comment.

Articles