Как сделать ии на си шарп

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024

Насколько удобен C sharp для разработки игр? Причем не в контексте использования с юнити, а просто? Есть ли какие-то известные игры, где c sharp используется в качестве основного языка при разработке?

Я в этом слабенький, но слышал, что для игр лучшим является с++

ты в этом слабенький

Я в этом слабенький

но слышал, что для игр лучшим является c++

Ты в этом слабенький

Андрюха, у нас тут infinite loop, возможно memleak, по коням!

бля, затыкай скорее, мемы утекут

ты в этом слабенький

но я слышал, что для игр лучшим является c++

Смотря что ты подразумеваешь под разработкой игр? Наверно, для инди подойдет, но опять же нафига писать свой движок, если есть куча готовых. Если хочется сделать что-то серьезное, то тогда С++\С. Если говорить про создание игр в одиночку, то написание собственного движка это пустая трата времени.

>Если хочется сделать что-то серьезное, то тогда С++\С.
Плюсы на нормальном уровне гораздо сложнее в изучении, насчет си не знаю.

Разработка инди игр это не про движки, а про геймплей, дизайн и т.д.

Не понял, что вы хотите сказать?

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

Зачем мне это? Я типичный индюк.

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

Я не хочу быстро сделать что-то. Хотел бы - взял бы что-нибудь типа intersect engine. Мне нужны реальные навыки. Я не из тех, кто хочет чтоб быстро и без напряга, могу читать gof, если надо.

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

Максимум что получится - тормозящий на всем майнкрафт.

И тем не менее, это - интересный опыт.

Мне кажется это и есть реальные навыки. Берете готовый и простой движок с хорошим мануалом, быстро изучаете его и приступаете к созданию собственной игры. В своё время ковырялся с cocos-2dx, qt и т.д. В конечном итоге остановился на defold. Простой и есть всё что надо.

Это реальные навыки не только в геймдеве. В любой отрасли главное - максимально быстро получить готовый продукт, и купить обычно дешевле, чем разрабатывать.

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Блять, В юнити вообще нельзя делать 2д игры, лол. Это 3д движок. 2д игры на юнити - это 3д игры с плоскими модельками и зафиксированной камерой.

Внутренний метод рендера никак не влияет на то, что потребитель играет в 2Д игру и воспринимает её как двухмерную.

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

Про пайплайн, в котором геймдиз дизайнит 2Д игру, а художники рисуют 2Д-спрайти и 2Д-задники, приправленные 2Д-эффектами. Каким образом программер отрисовал всё это 2Д на экране - это уже его личное дело, остальные участники команды могут вообще быть не в курсе насчет этого "внутреннего 3Д".

Мы в данной теме обсуждаем именно движки, способы работы с ними и т.п. Что ты вломился то, геймдезигнер.

Твой нелепый вброс с откровениями насчет 3Д привлек внимание. Что ты этим пытался доказать, художник?

Если мне понадобится мнение людей максимально далеких от темы, и ничего в ней не понимающих, я тебя тэгану. Пока свободен.

Просто твоя безграмотность лишь народ в заблуждение вводит. 2Д-игра в Юнити - это не просто 3Д с далеко стоящей камерой, как тебе могло казаться из-за незнания матчасти или катастрофически устаревших данных, это именно отдельный режим, в котором Z-координата объекта вообще нихрена не значит, ибо порядок отрисовки определяется либо указанием слоя и позиции в оном в случае спрайтрендера, либо положением в иерархии канваса в случае юайного элемента. Так что тебе ни на минуту не позволяют забыть, что ты работаешь именно в 2Д и это двухмерная игра. Если ты и сейчас не понял, поясню на примере - в сцене объект находится дальше всех, а отрисовывается поверх всех, потому что на координату глубины движку наплевать, она в 2Д игре не учитывается. Такая-то трехмерность.

Это какое-то нововведение последнего времени похоже, 90% извеестных платформеров на юнити написано еще до этой хуиты. И для UI обычно используют сторонние библиотеки.

Sprite Renderer - Компонент Sprite Renderer позволяет вам отображать изображения в виде спрайтов(Sprites), чтобы использовать их и в 2D и в 3D сценах.

Ну хз, по моему очевидно, что это просто обрезанный 3d объект, что бы было удобнее.

Вот поэтому я и сказал, что твои данные катастрофически устарели. 2Д уже давно совершенно отдельный режим, не требующий адских извращений для имитации двухмерности, которыми страдали в первых версиях Юнити.

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

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

Почитал про 2д режим, да, 2-3 года назад даже намека на это не было. Был всратый UI, котоырм никто не пользовался, и все.

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

Может быть, может им просто никто не пользовался, хз.

Комментарий удален по просьбе пользователя

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

Комментарий удален по просьбе пользователя

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

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Это связано с политикой лицензирования юнити. Крупные ААА издатели не готовы отдавать сколько то там процентов с каждой проданной копии игры.

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

Это так же видно на примере не слишком высокобюджетных 3д игр на ПК (выше перечислил) Подобный сегмент на анриле как правило работает намного хуже.

Комментарий удален по просьбе пользователя

А чем разработка игр на юните не является реальными навыками?)

Комментарий удален по просьбе пользователя

Не, понятно, что из-за своей специфики Unity для AAA не используют.
Но блядь, на нем сделаны Subnautica, Cities Skylines, Beat Saber, Risk of Rain 2, Ori and the Blind Forest и ещё куча хороших игр.

Комментарий удален по просьбе пользователя

Потому что шарп проще плюсов. И не надо мне рассказывать сказки про блюпринты.

Комментарий удален по просьбе пользователя

Unity . ничего не выйдет на свет у этого второсортного движка
Unreal Engine . на блюпринтах можешь посидеть

Комментарий удален по просьбе пользователя

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

Комментарий удален по просьбе пользователя

Выше - экспертное мнение человека, который считает Unity - 2d движком.

Комментарий удален по просьбе пользователя

Крупные компании прекрасно разрабатывают игры на Unity.

Комментарий удален по просьбе пользователя

Стратегии серии Endless, Life is Strange: Before the storm, Colin mcRay rally 2013го года, Cities: Skylines, Furi, Wasteland 2, Praey for the Gods, Escape from Tarkov

Это все мобилки?

Комментарий удален по просьбе пользователя

Смелое заявление. Посмотри хотя бы на Ori, который там в blind forest и well of wisps в след году

Комментарий удален по просьбе пользователя

Платформеры не игры 2019го года)

А что можно назвать играми 2019 года с таким подходом? Все жанры вроде старые.

Комментарий удален по просьбе пользователя

"Вызывание восторга" - это какая-то слишком субъективная оценка, вкусовщина. Примеров подобных "игр 2019 года" не будет, насколько я понимаю, ибо всё уже старое.

Комментарий удален по просьбе пользователя

Ты вообще в хеллблейд играл? Что он там нового привнес? Мне очень нравится эта игра, но там нет никаких новых механик, да и старые не самве лучшие. Ладно пубг еще что-то новое сделал, и то, идея баттл рояля не нова. Исходя из твоей логики, фортнайт вообще на нем паразитирует.
В общем-то твое мнение понятно, спасибо.

Не только про него. Юнити предназначен для создания игр. На нем можно сделать как отстой, так и хорошую игру. Все зависит от желания и умения разработчика.

Комментарий удален по просьбе пользователя

Если хочется сделать игру - берёшь готовый движок

Хочется просто кодить по хардкору - c++

я как системный программист с опытом 10 лет, хочу заметить что недостатком шарпов является сборщик мусора, в остальном он ничем не хуже схх. если память использовать аккуратно вы ничего не выйграете. в остальном шарпы новее чем убогий схх. хотите системного хардкора учите D или RUST.

Да да, а еще у твоих программ на плюсах никогда, НИКОГДА не течет память. Сборщик мусора - основной плюс шарпа перед плюсами.ж

в плюсах какраз память охуенно иожет течь, и гц кокраз создавался для того чтоб не текло. чтоб ты знал malloc тоже страницами память забирает, и говнокодом положить его гораздо проще чем gc. в 99% игры используют данные размешенные на стеке и тут у схх и шарпов паритет, в отличие от явы.

Комментарий удален по просьбе пользователя

Там всего-лишь простенький счётчик ссылок

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

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

В целом, лучше использовать Unity.

Дратути net core

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

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

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

Конечно есть Mono Framework, но если честно, то я не видел ни одного реально классного продукта, который был бы написан на нём под Linux.
Юнити на моно.

зачем смотреть на гланды - через зад.
спросил тут Коля бондаря средь ночи.
без DDE/ODBC и даже без Си Шарп
Есть - LUA - говорят:
намного проще

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

Lua не позволяет выйти за пределы Quik, например получить дынные из другого источника данных, приложения или веб страницы, под Lua нет такого количества библиотек, торговых, аналитических и тп. Редактор Lua кода примитивен по сравнению с VS. Почти все торговые инфраструктуры на жабе, плюсах или решетке, большое комъюнити. Список можно долго продолжать.

Цитата
bondar написал:
Lua не позволяет выйти за пределы Quik, например получить дынные из другого источника данных, приложения или веб страницы

Лень искать? гугл в помощь.

p.s.
правильно. изучать LUA C API и программирование на C++ в частности - это тебе на в тапки с..рать на шарпах. Зато отдача потом - всё окупит.

lua даже в сервера встраивают и в маршрутизаторы и причём уже - довольно часто. Бо как просто, быстро и эффективно.

Цитата
тот самый написал:
правильно. изучать LUA C API и программирование на C++ в частности - это тебе на в тапки с..рать на шарпах. Зато отдача потом - всё окупит.

Спорить с Вами не буду, какой то Вы дерзкий, тыкаете, рассуждаете
о дефекации, это многое говорит о Вашем моральном облике. Факт в том что есть гласные и негласные стандарты
в индустрии количественной торговли, которые возникли не спроста, а есть
обобщение опыта десятков тысяч спецов, за десятилетия работы и про lua почти
нигде не говорится, по крайней мере не больше чем про RuLang.

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

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

Базовые навыки

path2-001

Вне зависимости от выбранной сферы разработки существует несколько моментов, которые стоит знать.

Структуры данных и алгоритмы

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

Белкасофт , Удалённо , По итогам собеседования

Вот неплохая книга для начала изучения: Data Structures and Algorithms Made Easy

Базы данных

T-SQL — это язык запросов, используемый в SQL Server. Освойте функции SELECT, INSERT, UPDATE, DELETE, JOIN и GROUP BY.

Вот полезные материалы:

Когда вы работаете с РСУБД, то часто используете системы объектно-реляционного отображения для работы с объектами в базе данных. Существует много таких систем, но самой популярной является Entity Framework.

Материалы для изучения:

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

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

Поэтому все веб-разработчики делятся на 3 группы:

  • Фронтенд-разработчики;
  • Бэкенд-разработчики;
  • Full-stack-разработчики: те, кто занимаются и фронт-, и бэкендом.

В зависимости от ваших предпочтений стоит выбрать один из двух путей. Full-stack-разработчики обычно более востребованы.

Фронтенд

path2-002

Если вы собрались заняться фронтендом, то вам нужно познакомиться с основами HTML, CSS и Javascript.

Материалы для изучения:

Бэкенд

path3-001

Десктоп-разработка

Если вы хотите заняться разработкой приложений под Windows, вам понадобится отличный от предыдущего набор навыков (хотя и они, как ни странно, могут пригодиться). Большинство заданий потребует от вас знания XAML, WPF или Windows Forms.

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

1. Простой и понятный

2. Объектно-ориентированный

3. Типизированный

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

4. Современный

1. Легко начать

2. Широко используется для разработки десктопных и веб-приложений

3. Сообщество

4. Разработка игр

5. Перспективное будущее

1. На CodeChick

2. По книгам

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

Вот несколько книг, которые вам подойдут:

3. По официальной документации

Читайте также: