FooPong или ФууууууууПонг

FooPong
6
Нейтральная
сторона
0
ФууууууууПонг
2
Клон Понга от Дмытра норм, тем более что сделан с 0-я
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!
Тю, да такое может сделать любой студент 1 месяца прог. универа!

06-11-2017 21:20 0

Превью клипа

Вот видео, если кто не сможет затестить.
Соурс Код

УПРАВЛЕНИЕ:
W/A - левая бита I/K - правая R - начать заново V - вкл\выкл отображение векторов (видно как игра работает!!)

Я использовал OpenGL и freeglut но только с целью обойти Windows API (оно ужасное) и рендерить графику. Я даже не использовал встроенные функции ОпенДжиЭла для трансформаций, все сам делал, ему просто передаю адреса точек для отрисовки.

Матриц пока не использовал, хотел сначала попробовать чисто на векторах, к тому же в понге не особо нужно вращать объекты, так что он идеально подходил для попытки реализации! Да, линейная алгебра - это вещь! У меня своя мат. библиотека, свой класс вектора со всеми операторами, все как надо! Но над тем как фиксировать столкновения я очень долго сидел... Гуглить нельзя было, какой смысл в челендже тогда? В конце концов разобрался. Было чувство, что переизобрел колесо =)

Так же, как могли заметить (если кто смотрел сурскод) теперь у меня нет безобразия как в прошлой игре (консоль раннэр). Там все было одним файлом, а тут все по полочкам, с инклюдами и все такое!

2 комментария
Egor.Leschev 08-11-2017 14:49 0

ScienceDiscoverer, Почему играется только на английской раскладке?

Jotun 08-11-2017 14:54 +1

Egor.Leschev, Вангую: потому что он смотрит не на клавиши, а на код символов.

07-11-2017 09:47 +2

Явный прогресс по сравнению с прошлой игрой.

Я вроде тебе уже советовал, но повторюсь еще раз, что стоит почитать этого чувака (от слова "чтение", а не как короля):
gameprogrammingpatterns.com/

Всё равно вся логика же в одном файле (еще и стороннему человеку будет не просто угадать в каком), а должно быть поведение ракетки отдельно, мячика отдельно, примерно как с отрисовкой ты сделал.
Ебучие свичи выкинь, сделай вместо этого классы с общим интерфейсом и разной реализацией внутри. И вообще я не уверен, что для динамичных игр управление надо делать на событиях.
Фраза "своя мат. библиотека" - некоторое преувеличение конечно, ибо кроме метода newtonSqrt там внимания вообще ничего не заслуживает, ибо это тупо врапперы на стандартной библиотекой потому что тебе хотелось работать с градусами (что мне кажется довольно редким явлением в геймдеве), да еще и код перевод в градусы и обратно сто раз скопирован...

Короче, это игра и она работает и в неё можно играть. Это почти полный перечень плюсов, но он не такой уж и плохой.

5 комментариев
ScienceDisco… 08-11-2017 13:52 0

cherepets, Я вроде тебе уже советовал
Да не, вроде не советовал... А книга этого чувака есть где-то бесплатно? Или только покупать?

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

работать с градусами (что мне кажется довольно редким явлением в геймдеве)

А чо так? 0_______0 Оно же более интуитивно, не?

П.С. О кстати, Черепетц, помнишь мы делали игру про танчики пошаговую? Я еще рисовал танчики и домики :Д Забавные были времена... Но я потерял исходники, мож пришлешь мне их если сохранились? Думаю, теперь я мож разберусь как там все работало =\

cherepets 08-11-2017 14:03 0

ScienceDiscoverer, А книга этого чувака есть где-то бесплатно?

Есть. Прямо по той ссылке что я и скинул.
Web
Read Now
Responsive design looks great on your desktop browser, tablet, or phone.
Free!
Absolutely zero cost!
Seriously, did I mention the price, or lack thereof?


Оно же более интуитивно, не?

Мне кажется, самый интуитивный вариант - это float от 0 до 1, но тут хз, вопрос довольно холиварный.

Но я потерял исходники, мож пришлешь мне их если сохранились?

Да я вот тоже по ходу потерял.
Я почему-то так и не приучился соурс-контроллить "короткие" проекты. Еще и из гитхаба сношу через некоторое время всё что на мой взгляд не может быть никому интересно.

ScienceDisco… 08-11-2017 17:10 0

cherepets, Есть. Прямо по той ссылке что я и скинул.
О, как то не дочитал...

ScienceDisco… 08-11-2017 20:14 0

cherepets, Есть. Прямо по той ссылке что я и скинул.

Я все таки нашел на рутрекере EPUB как раз для моей черно-белой читалки!

Да уж, пират я, неисправимый!

cherepets 13-11-2017 12:16 +1

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

21-11-2017 11:18 0

Господа программирующие, помогите советом!

Я давеча пытался заснуть и вдруг вспомнил про эту игру от Дмитра.

Вопрос:
Нахрена вообще оставлять в коде методы для преобразования радиан, когда программа дописана?
Это же костыль, необходимый только по ходу разработки.

6 комментариев
cherepets 21-11-2017 11:38 0

Simple_Not, Ну он в коде, же считает всё в градусах. Условно:
obj.Rotate(90) чтобы повернуть на четверть единичной окружность по часовой стрелке. А OpenGL похоже ждет от него радианы.

cherepets 21-11-2017 11:40 0

cherepets, Вот так он пишет:
arrow_h_L.x = arrow_head.x * cos_d(30) - arrow_head.y * sin_d(30);

Simple_Not 21-11-2017 11:46 0

cherepets, Ну так зачем делать лишние расчёты (даже такие незначительные), если можно было как-то так:
- изначально написать микрофункцию для перевода градусов в радианы
- использовать её для подстановки аргументов чтобы не запутаться
- когда нужные расчёты отлажены уже банально убрать свой костыль, подставив вместо него нормальное значение в радианах
- убрать из библиотеки лишний метод

cherepets 21-11-2017 12:02 +2

Simple_Not, По сравнению с тем что люди творят в Unity и вебе, это совсем уж незначительные расчеты, которые реально ни на что не влияют. Смысла запариваться тут точно нет.

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

BerkutOi 21-11-2017 12:13 +2

Simple_Not, условно я уже писал что он мог бы при желании повернуть на 90 градусов что-то мог бы писать obj.rotate(Math.PI/2) и не ебать мозг ни себе, ни людям

ты тут мог бы предложить завести константы чтобы не производить такие расчеты каждый раз, но эти расчеты слишком уж незначительны чтобы переживать тут за производительность

Simple_Not 21-11-2017 13:21 0

BerkutOi, Я ж за общие правила.
Если допускаешь такое в малом проекте, то наверняка допустишь и в большом. А там уже и прозводительность пострадает (да и твоё время, если к каждой собаке будешь по нескольку уникальных функций оформлять).

27-11-2017 11:57 +1

А чего только Дмытро позорится своим кодом? Давайте запилим целый отдельный ревью-вар.

Хочу вам вкинуть некоторый жуткий говнокод, являющийся полным исходником от Red Ball.

Вот оно

Не рекомендую читать перед сном.

27 комментариев
Simple_Not 27-11-2017 12:14 0

cherepets, В чём прикол фактически отсутствующих комментов?
Если отлистать код до случайного места, то ты хрен когда разберёшься что зачем оно вообще нужно.

BerkutOi 27-11-2017 12:16 0

Simple_Not, Если отлистать код до случайного места, то ты хрен когда разберёшься что зачем оно вообще нужно.
а зачем так читать код?

вообще порадовали комменты
//ЗВУК
//ВИБРА

cherepets 27-11-2017 12:19 +1

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

Simple_Not 27-11-2017 12:23 0

BerkutOi, Ну почитай как-нибудь иначе. Сходу всё понятно?

Simple_Not 27-11-2017 12:26 0

cherepets, Отвечать-то пусть отвечает, но если кому-нибудь вздумается там чего-нибудь менять?

BerkutOi 27-11-2017 12:30 0

Simple_Not, берется иде, и прыгаешь по методам и их вызовам, так и читаешь
конечно не совсем понятна игровая логика, как уровни строятся, но тут надо бы и саму игру посмотреть чтобы понять, да и я не пишу игры так что мне это впринципе сложновато

BerkutOi 27-11-2017 12:30 0

Simple_Not, если кому-нибудь надо будет поменять хорошо закомменченный код, то хрен он поменяет еще и комменты

cherepets 27-11-2017 12:31 0

Simple_Not, То понять что где - наименьшая из его проблем.

Simple_Not 27-11-2017 12:38 0

BerkutOi, А ничего, что в таком варианте приходится не только читать, но и догадываться чего там вообще было нужно?

BerkutOi 27-11-2017 12:44 0

Simple_Not, догадываться чего там вообще было нужно?
не понимаю о чем ты
ЧТО делает метод - написано в его названии, КАК он это делает - написано в его теле, мы ведь на высокоуровневых языках программирования пишем а не на ассемблере

cherepets 27-11-2017 12:55 0

BerkutOi, как уровни строятся

Смотри:
1. В LoadMap мы в зависимости от lvl заполняем массив field. Для этого берутся строки с цифрами* и достаются по очереди элементы оттуда.
2. Метод Indexate добавляет координаты всех непустых элементов массива в список index**.
3. FindDrawable перед отрисовкой каждого кадра отсекает из index блоки, которые слишком далеко слева или справа от камеры. Точнее не отсекает, а создает запрос на отсечение***, который сохранится в scoreQuery****.
4. В Draw_Game смотрим цикл на 1472 строке, там перебираются все оставшиеся блоки. Их координаты и тип передаются в метод cube, который рисует куб.

* да, для загрузки уровня создается 4000 строк тупо в помойку
** а почему не сразу со значениями?
*** нахуя запрос то а не сразу готовый список?
**** какой нахуй score?

Simple_Not 27-11-2017 13:27 0

BerkutOi, А какая была задача? Как ты поймёшь что метод написан адекватно проекту?
ЧТО делает метод
Ты смешной. И что же делают вот эти два?

protected void Update_Game(GameTime gameTime)

void Update_Game_OLD(GameTime gameTime)

BerkutOi 27-11-2017 13:29 0

Simple_Not, А какая была задача? Как ты поймёшь что метод написан адекватно проекту?
а как комментарии тебе помогут в этом?

BerkutOi 27-11-2017 13:34 +2

Simple_Not, Ты смешной. И что же делают вот эти два?
там еще третий есть Update_Game_NEW
вот последние два выглядят как какой-то костыль связанный с особенностью построения уровней до восьмого и после восьмого(читай условие изменения переменной dif),
а первый очевидно, изменяет состояние игры в зависимости от времени

Simple_Not 27-11-2017 13:36 0

BerkutOi, Могут помочь вспомнить логику твоих действий. Или увидеть, что логики в твоих действиях было мало.

Simple_Not 27-11-2017 13:38 0

BerkutOi, выглядят как какой-то костыль
Ну и почему, по-твоему, не стоит добавить описание того откуда вырос именно такой подход и почему он показался приемлемым?

BerkutOi 27-11-2017 13:43 0

Simple_Not, потому что описание будет в 90% времени выглядеть примерно как "лень было делать нормально, пусть будет так"

есть еще замечательные комментарии вида
//TODO добавить нормальную обработку ошибок
и такое висит пять лет в проекте потому что не ебет никого

Simple_Not 27-11-2017 13:45 0

BerkutOi, Ну так это же отлично! Сразу избавляет от лишних копаний и домыслов.

Jotun 27-11-2017 13:46 +1

Simple_Not, Обычно, если костыль требует комментария для объяснения, такой костыль лучше перепедалить

Simple_Not 27-11-2017 13:49 0

Jotun, А откуда тебе знать, что если после тебя код попадёт ещё кому, то этот человек будет также естественно воспринимать естественный для тебя костыль?

BerkutOi 27-11-2017 13:52 +1

Simple_Not, А откуда тебе знать, что если после тебя код попадёт ещё кому, то этот человек будет также естественно воспринимать естественный для тебя костыль?

суть в том что этот код не должен был никому попасть

cherepets 28-11-2017 03:58 +2

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

Суть: раньше было 2 игры, вторая примерно такая же, но с другими уровнями, слегка измененной физикой, фоном и проч. У второй было много отрицательных отзывов из-за маленькой продолжительности. Поэтому я слил две игры в одну, а вторую часть вообще удалил из магазина.
Но появилась проблема: уровни первой части не проходимы с физикой от второй. Поэтому в игре есть физика от первой части (OLD) и от второй (NEW), а просто Update_Game нужен чтобы вызвать соответствующую уровню метод из тех двух.

Короче, странные вещи я делал 6 лет назад.
Но даже тогдашний я приходил в ужас от процессинга в втб...

Simple_Not 28-11-2017 15:59 0

cherepets, от процессинга в втб..
Это как?
----
Я слышал, что лет 10-15 назад Сбер делал чего-то совсем немыслимого, выпуская свою клиентсскую прогу для потенциально устаревшего железа.

BerkutOi 28-11-2017 16:01 0

Simple_Not, так процессинг это не про клиентские проги как я понимаю

cherepets 28-11-2017 16:11 +1

Simple_Not, Это чисто серверная херня, которая обрабатывает все операции по карточкам.
Она там совершенно трешовая.
У них написана чудо-абстракция, которая позволяет методам, sql хранимкам и ремоутингу выглядеть примерно одинаково благодаря чему хер поймешь что ты вызываешь: свой сервер, базу данных или чужой сервер. Причем описания всех трех типов "методов" лежат в базе и для добавления любого из них надо писать запросы.
А база транзакций использует такие чудо-механизмы секционирования, что во-первых, это делается вручную, во-вторых, я один раз умудрился строго следуя инструкции отцепить транзакции для переноса в "архивную базу", но туда нихера не прицепились. Да, на основной среде, так как тестовую для этой системы поднять так никто и не смог. В итоге разворачивал копию базы на своем компе и переносил оттуда...

Короче, это самое нездоровое ПО, что я видел.

Simple_Not 28-11-2017 17:04 0

BerkutOi, Так-то да, но речь ж не о прогах а о крупных организациях.

Slimmer 07-01-2018 00:09 0

Jotun, Обычно, если костыль требует комментария для объяснения, такой костыль лучше перепедалить
можно сказать больше: если где-то внутри метода у тебя возникло острое желание написать комментарий, то 99.9% ты только что написал какое-то говно.

04-01-2018 09:39 0

ДискоВер, не ленись и иди участвуй.
itch.io/jam/my-first-game-jam-winter-201...

2 комментария
Jotun 04-01-2018 09:50 0

cherepets, ты бы сразу на Russian AI Cup отправил уже

cherepets 04-01-2018 11:59 +1

Jotun, Там тема джема - "моя первая игра", он ориентирован на entry level, т.е. на людей имеющих базовые представления, но ничего толкового пока не сделавших. Мне кажется, что ему в самый раз было бы попробовать себя в таком. Может заодно новых друзей в CrowdForge найдет, что тоже полезно, ибо почти любое ПО нынче создается коммандно и навыки работы в команде важны не меньше знания программирования.

07-01-2018 00:20 0

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

0 комментариев
07-11-2017 21:50 +2

Для начала, конечно, я пошёл в предыдущий вар, чтобы снова взглянуть на первую игру.

Начнем с хороших новостей: ты явно прогрессируешь.

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

Также видно, что ты сделал простенькую структуру проекта вместо того, чтобы писать всё в одном файле, а также попытался разнести логику по классам и методам. Это тоже пока что получилось не очень хорошо (см. весь файл shapes.cpp и конкретно нечитаемую стену if-ов), но за старания плюсик.

Очень круто, что на первый взгляд выглядит так, будто бы у тебя там всё хорошо сделано алгоритмически. Очень многие современные "энтерпрайзные" разработчики (читай: формошлёпы) этого могли бы, внезапно, не осилить. Впрочем, возможно я ещё вернусь и посмотрю на алгоритмическую часть больше.

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

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

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

В-третьих, твоя "мат.библиотека" - это такое днище ебаное, что тебе лучше её удалить и никому никогда не показывать. Честно.
То, что ты написал, называется "велосипедами", причём "велосипеды" эти:
а) бесполезны
б) некрасиво написаны
в) не следуют общепринятым стандартам (работа с градусами, например)
г) моё любимое

В-четвертых, отдельно выделю вот этот зашквар. Не знаю, что здесь хуже: нежелание подключать <string> и <iostream> (хз, зачем они там нужны) или то, что ты не придумал ничего лучше, чем эти switch-и.
Домашнее задание: подумай, как переписать конкретно этот код таким образом, чтобы он не вызывал у ревьюера желание найти твой дом и нассать тебе на дверь.


Резюмирую: по качеству кода напоминает мою игру, которую я написал летом после первого курса, только она была на несколько порядков сложнее и больше.
Я бы оценил это в второй семестр первого курса по знанию C++, первый семестр второго курса по знанию алгоритмов, ноль в плане всяких других полезных штук типа понимания (и разумного применения) принципов того же ООП.

Самый большой плюс твоей игры - ты спалил мне профиль черепца на гитхабе.

22 комментария
cherepets 08-11-2017 04:49 +2

Jotun, вот этот зашквар

И правда конечно пиздец в стиле модных шуток про isEven через switch.
Раз уж у него только цифры, то мне кажется, что можно вообще так сделать и не париться:
Дмытро, не торопись открывать

спалил мне профиль черепца

Да ты конечно детектив -__-

Jotun 08-11-2017 08:28 0

cherepets, Раз уж у него только цифры, то мне кажется, что можно вообще так сделать и не париться
Я бы даже ещё чуть-чуть более "олимпиадно" написал этот код, но по сути, да, это вариант, который куда лучше феерического switch


Да ты конечно детектив -__-

Буду в три часа ночи по пьяни присылать тебе пулл реквесты

ScienceDisco… 08-11-2017 14:13 0

Jotun, оформлять код консистентно (но у тебя не получается: см. здесь, например).
Ну, у меня такое правило: если у if() for() или тому подобных блоков есть только одна линия кода, то я ее пишу без скобок, просто с отступом, потом после лайна я обязательно делаю отступ (хотя там не сделал, блин) что бы было видно что она относиться только к циклю\условию. Если 2 или больше линий, то уже делаю скобки. Думаю вполне очевидно. Но иногда бывают проколы да. Например, иногда бывает так что я сделал сначала 2 лайна, но потом 1 удалил за ненадобностью, а скобки удалить забываю...

ты таки не научился разносить методы и даже банально ставить пробелы между логическими блоками кода (например, это место тяжело читается).
Да, да, помню это место... Там я просто уже спешил, отрисовка векторов чисто опциональная штука и я просто пытался ее побыстрее сделать и забыть =\

твоя "мат.библиотека" - это такое днище

Не, ну блин =\ Я и не пытался сделать прям все самостоятельно (но делать велосипеды, хоть и некрасивые, приятно), просто не включать в основной файл ненужные функции. А почему работа с гардусами это ужас как плохо я так и не понял =\ Ведь не все же геймдевелоперы учёные которые мыслят радианами? К тому же да, я знаю что стандартный поиск корня будет работать быстрее чем мой (он там вроде в процессоре как-то захардкодден).

В-четвертых, отдельно выделю вот этот зашквар. Не знаю, что здесь хуже: нежелание подключать <string> и <iostream> (хз, зачем они там нужны) или то, что ты не придумал ничего лучше, чем эти switch-и.
Хммм, ну то что не придумал лучше, это потому что спешил и не хотел тратить на это время.
У стринга есть метод to_string() а iostream включает в себя какую-то из С-шных библиотек где есть функция itoa() (инт в чар).

Самый большой плюс твоей игры - ты спалил мне профиль черепца на гитхабе.
ЛОЛ!!! Я даже не замечал что кто-то меня фолловит 0________0

Simple_Not 08-11-2017 16:09 0

ScienceDiscoverer, учёные которые мыслят радианами
Но ведь радианы - это школьная программа.

ScienceDisco… 08-11-2017 17:13 0

Simple_Not, Но ведь радианы - это школьная программа.
Оно то да... Но не знаю, мне всегда казалось что повседневной жизни люди пользуются градусами =\

ScienceDisco… 08-11-2017 18:00 0

Simple_Not, Ну вот смотри, пример:
Есть ИИ страж в игре. У него есть какое-то поле зрения. Ты не будеш думать: "Так, так, так... У этого стража будет поле зрения - 2,8321 радиан!"

Как-то совсем не очевидно =\

BerkutOi 08-11-2017 18:39 +1

ScienceDiscoverer, попробуй использовать дробную часть PI радиан
например "у этого стража поле зрения будет (1/3)*PI радиан"
по-моему очевидно

а вот так как ты написал с 2,73284 радиан никто не думает, да

Simple_Not 08-11-2017 19:25 0

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

Jotun 08-11-2017 21:41 0

ScienceDiscoverer, Ну, у меня такое правило
Остановись на этом месте и пойди почитай гайдлайны какого-нибудь Страуструпа.

И перестань оправдываться на все свои проёбы отмазкой про то, что у тебя "было мало времени" или хотелось "сделать эту часть побыстрее".

BerkutOi 08-11-2017 22:52 +1

Jotun, Остановись на этом месте и пойди почитай гайдлайны какого-нибудь Страуструпа.
не уверен что страуструпа, лучше просто любые современные гайдлайны, или блин в иде нажать кнопку для автоформатирования -_-

Jotun 08-11-2017 23:02 0

BerkutOi, Ну он просто плюсы учит, а у Страуструпа есть статья на гитхабе, насколько я помню, где подробно рассматривается, что и как мы оформляем в коде на C++

ScienceDisco… 09-11-2017 11:28 0

Jotun, Это?

Да уж, мне тут накидали овер 9000 книг и гайдлайнов, когда ж мне их читать все ( ._.) Еще ж надо подтягивать математику, что бы матричные трансформации понять...

cherepets 09-11-2017 11:34 0

ScienceDiscoverer, Ну, а делая по коммиту раз в 3 месяца будешь учить плюсы 5000 лет. Выдели каждый день по паре часов на чтение и по паре на практику - уже лучше будет.

Jotun 09-11-2017 11:42 +1

cherepets, По паре часов в день это не учится.
Если человек хочет научиться не сайты на ASP.Net клепать, а выучить математику и алгоритмы, например, то это нужно часов 20-30 в неделю тратить, чтобы куда-то успеть

ScienceDisco… 09-11-2017 11:45 0

ScienceDiscoverer, Вы можете мне накинуть приблизительно приоритетов?
Вот что в очереди:
- Черепетз сказал мне читать Game Programmers patterns
- Джотун сказал читать Гайдлайны С++
- Надо читать Essencial Math for Game Programmers
- Art of Game Design есть еще книга
- Книгу по алгоритмам я вообще забросил

Вот не могу точно определить что в приоритете...

ScienceDisco… 09-11-2017 11:48 0

cherepets, делая по коммиту раз в 3 месяца будешь учить плюсы 5000 лет
То у меня был период очень печальный... И здоровье подкосило, и вообще все плохо было, депресняк полный. Вот сейчас вроде возобновил желание бороться за свое будущее.

cherepets 09-11-2017 12:32 0

Jotun, Мне кажется, наоборот ему проще. В вебе все эти корсы, модели документов, кучи текстовых говен, прогоняющих друг друга и простыни конфигов без внятной схемы...

cherepets 09-11-2017 12:35 0

ScienceDiscoverer, Ты же можешь учить всё параллельно. Типо день почитал теорию про алгоритмы и конкретный алгоритм. Потом реализовал. Потом ищешь где накосячил со стилями.

Jotun 09-11-2017 12:51 0

cherepets, Так подобную хуйню в любом случае придется учить (только в приложении к геймдеву)

cherepets 09-11-2017 13:07 +1

Jotun, Вообще в условиях современного энтри-левел геймдева (тем более на Украине) ему нужно браться за Unity. А это и правда почти как веб по степени изъебистости.

Simple_Not 09-11-2017 21:09 0

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

Jotun 09-11-2017 21:38 +2

Simple_Not, ну в программировании тоже бы так было, если бы была более скромная цель выучить что-то типа модного JSа. Однако, у Дмытра планка стоит выше