C# в Unity для себя?
| |
huligan17 | Дата: Пятница, 27 Января 2017, 14:18 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Всем доброго времени суток. Для себя решил серьезно заняться изучением Unity. По началу смотрел ролики на YouTub'e и повторял за ними. В итоге понял, что этого мало. К тому же написание скриптов для меня - глухой лес. Потому решил выучить С# и заодно читать литературу по Unity. Сразу столкнулся с проблемой, оказалось не так уж и много литературы в формате .pdf. Но раз решил, значит сдаваться нельзя, на кровные приобрел себе семь книг, пять по Unity и две по С#.
Сейчас изучаю С# и заметил, что код немного отличается от кода для самой Unity. К примеру тот же Random в Unity выглядит как Randomize в С#. И таких нюансов не мало. Собственно хотел посоветоваться. А нужно ли тогда учить С#? Или просто брать рецепты кода из книг по Unity и работать с ними, модифицировать для себя?
|
|
| |
Rean | Дата: Пятница, 27 Января 2017, 19:39 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Цитата huligan17 ( ) А нужно ли тогда учить С#? Если Вы хотите именно программировать на C# (даже в контексте Unity), то было бы неплохо начать именно с C#, потому как исключительно в рамках Unity у Вас вряд ли удастся в полной мере разобраться с парадигмами программирования, проектированием, уровнями абстракции, потоками, сопрограммами, событиями, делегатами, лямбдами, обобщенными типами и прочим синтаксическим сахаром. Можно, конечно, вместо всего этого пользоваться "рецептами кода", но это сродни пытаться выстроить замок из необтёсонного камня.
Сообщение отредактировал Rean - Пятница, 27 Января 2017, 19:41 |
|
| |
Gudleifr | Дата: Пятница, 27 Января 2017, 20:45 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Цитата Rean ( ) у Вас вряд ли удастся в полной мере разобраться с парадигмами программирования, проектированием, уровнями абстракции, потоками, сопрограммами, событиями, делегатами, лямбдами, обобщенными типами и прочим синтаксическим сахаром. Лучше вообще не знать об этих вещах, чем учиться им в рамках C# (да и C++ тоже). Я не шучу.
Добавлено (27 января 2017, 20:45) ---------------------------------------------
Цитата huligan17 ( ) А нужно ли тогда учить С#? Или просто брать рецепты кода из книг по Unity и работать с ними, модифицировать для себя? Ни то, ни другое. Копаться в тонкостях C#, цель которого только затыкать дыры обезьянника, не особо окупится, а вот поискать среди "книг по Unity" ту одну-единственную, где автор честно признается, что, как и зачем он сделал, стоит. Такая книга (или сетевой ресурс) наверняка где-нибудь есть.
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
|
|
| |
Rean | Дата: Суббота, 28 Января 2017, 00:26 | Сообщение # 4 |
участник
Сейчас нет на сайте
| Цитата Rean ( ) Лучше вообще не знать об этих вещах, чем учиться им в рамках C# (да и C++ тоже). Я не шучу. Согласен. Если вы всего навсего хотите сделать платформер с интересной и необычной механикой, то лучше учится всему этому на asm'е или перфокартах. А ещё необходимо "мочь в" алгебру, геометрию, математический анализ, дискретную математику, архитектуру ЭВМ, информатику, теорию алгоритмов и еще с пяток дисциплин (думаю, Вы поправите/подскажите что ещё необходимо). Полагаю, что для каждой задачи существуют наиболее приспособленные для этого инструменты. Возможно, писать ПО для спутника или, например, марсохода на С# - не лучшая идея, но разбираться в нём для написания игры на нём же - слишком разумно, чтобы быть правдой? Никто не говорит о постижении "программёрского дзена".
Цитата Gudleifr ( ) где автор честно признается, что, как и зачем он сделал А вот это уже больше похоже на обезьянник: бездумно повторять за автором все его действия, рассчитывая, что после этого сможешь с нуля сделать что-то своё - розовые мечты. Вы ведь не думаете, что автор какой-нибудь книги по Unity будет настолько отвлекаться от темы, чтобы подробно останавливаться на том, что такое интерфейсы, классы, инкапсуляция и для чего она нужна, чем сопрограммы отличаются от потоков и почему это не одно и тоже и т.д. В противном случае, это уже будет книга о C# в Unity-примерах. Это, конечно, в данном контексте был бы лучший вариант, но что-то мне мало верится в существование оного.
P.S. Что касается проектирования, то в условиях C#/Unity вам даже не понадобятся знать все паттерны, о которых пишут GoF, достаточно будет определённого набора, чтобы не выдумывать велосипед. Тоже самое касается и ПП.
huligan17, Знания в рамках C#, конечно же, не сделают вас Программистом с большой буквы (некоторые скажут, что вообще программистом не сделают ), но этого будет достаточно чтобы уверенно чувствовать себя в данной среде разработки. Здесь всё зависит от цели: если подискутировать с господином Gudleifr на тему алгоритмов, теорий игр и солдатиков, то милости просим, в университеты (ну или хотя бы на его личный сайт, где, конечно, есть что почитать), а если сделать игру сложнее, чем рогалик про зомби - то здесь уже желательно почитать книги по C# и Unity (в принципе, что Вы, как я понял, и делаете). А вот книги, которая
Цитата ту одну-единственную, где автор честно признается, что, как и зачем он сделал, стоит боюсь, не существует. Это в принципе невозможно, потому как автор будет излагать свои мысли исключительно со своей точки зрения, и почему надо делать именно так, как он написал, а не по-другому - никому кроме автора не известно. Такие книги создают больше вопросов, чем дают ответов. Это нормально. Но в справочник по C# всё равно рано или поздно придется лезть. Так почему бы с самого начала не обзавестись некоторым костяком знаний по интересующему вопросу? На уровне "скриптера-кодера" этого будет достаточно. За алгоритмами - это уже, пожалуйста, в математику.
Gudleifr, заранее ретируюсь, сдаюсь и признаю Вашу правоту. Дискуссии с Вами очень интересные, но отнимают много времени
Сообщение отредактировал Rean - Суббота, 28 Января 2017, 00:45 |
|
| |
beril | Дата: Суббота, 28 Января 2017, 00:29 | Сообщение # 5 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата не так уж и много литературы в формате .pdf ты ошибаешься книг по юнити сотни, от создания ИИ и FSM до азов и 2д.....
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Gudleifr | Дата: Суббота, 28 Января 2017, 12:18 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| Цитата Rean ( ) заранее ретируюсь, сдаюсь и признаю Вашу правоту. Пардон, только пара замечаний по существу.
Цитата Rean ( ) лучше учится всему этому на asm'е или перфокартах. Учиться пониманию концепций программирования лучше не на примере какого-либо языка, а по учебникам/первоисточникам.
Цитата Rean ( ) А вот это уже больше похоже на обезьянник: бездумно повторять за автором все его действия, Повторять не надо. Надо понимать основы. А кто знает основы, лучше автора системы? Разве что, заинтересованный хакер.
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
|
|
| |
huligan17 | Дата: Понедельник, 30 Января 2017, 08:20 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Цитата ты ошибаешься книг по юнити сотни, от создания ИИ и FSM до азов и 2д..... Я эти книги приобрел в бумажном варианте, так как в цифровом варианте не воспринимаю их. Ну а так, видимо я плохо искал)
Цитата Учиться пониманию концепций программирования лучше не на примере какого-либо языка, а по учебникам/первоисточникам. Что в данном случае можете посоветовать из литературы?
Сообщение отредактировал huligan17 - Понедельник, 30 Января 2017, 09:26 |
|
| |
beril | Дата: Понедельник, 30 Января 2017, 11:26 | Сообщение # 8 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Цитата huligan17 ( ) Я эти книги приобрел в бумажном варианте, так как в цифровом варианте не воспринимаю их. Ну а так, видимо я плохо искал) тык сотня книг точно есть)
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
huligan17 | Дата: Понедельник, 30 Января 2017, 11:32 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Цитата сотня книг точно есть) Все бы ничего, да язык мне не подходит) Мое чтение на английском не идеальное. То, что переведено на русский у меня имеется из этого списка.
|
|
| |
|