С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.82/39: Рейтинг темы: голосов - 39, средняя оценка - 4.82
Flanidub
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 19
1

Можно ли на C# писать игры?

07.10.2014, 21:02. Просмотров 7912. Ответов 20
Метки нет (Все метки)

Доброго времени суток, подскажите если не сложно где? И в каких областях прменяется c#?В частности игровая индустрия интересует подходит ли данный язык для этих целей? Можно ли писать на нем хорошие игры ? Поримаю вопрос звучит двояко зависит от рук но я имею ввиду хорошего качества как современные игры можно ли?)И если да то какие сопутствующие в этом деле технологии можно использовать?Я понимаю возможно это уже много раз обсуждалось но все же подскажите очень расчитываю на вашу помощь, заранее благодарен!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2014, 21:02
Ответы с готовыми решениями:

Можно ли писать на C# браузерку?
Здравствуйте! Скажите, можно ли написать браузерную многопользовательскую...

Можно ли писать на С++ под .NET?
Я так понимаю что фреймворк - это платформа, которую нужно устанавливать в...

Можно ли писать WEB-приложения
Здравствуйте, начинаю изучаю шарп и параллельно возникла идея для создания...

Можно ли писать под Linux на C#?
Прошу меня простить за, возможно, глупый вопрос. Можно ли писать под Linux...

Можно ли писать программы под winMobile 6.5
Здравствуйте! Подскажите пожалуйста как на vs2010 кодить программки под...

20
Монфрид
1212 / 1022 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
07.10.2014, 22:17 2
смотря какие игры. Тетрис без проблем напишите, а вот Крязис - вряд ли. Или он тормозить будет сильно.
На компилируемых языках не пишут серьёзные игры, ибо в играх нужна производительность, и каждая лишняя миллисекунда в отрисовке какой нибудь текстуры будет катастрофичной. Потому их пишут на c, c++.
0
Монфрид
1212 / 1022 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
08.10.2014, 09:31 3
Цитата Сообщение от Kote Посмотреть сообщение
Не на компилируемых, а на компилируемых в промежуточный код (типа C#) и интерпретируемых,
да, вы всё верно написали
0
jetyb
171 / 169 / 73
Регистрация: 26.10.2012
Сообщений: 514
Завершенные тесты: 1
15.10.2014, 08:19 4
Например движок Unity в том числе поддерживает и язык C#. В нем C# является самым распространенным языком.
Собственно и тут есть подветка посвященная unity
http://www.cyberforum.ru/unity/
Хорошую игру при наличии прямых рук на нем сделать можно.

и каждая лишняя миллисекунда в отрисовке какой нибудь текстуры будет катастрофичной
Быстродействие скриптов там конечно важно, но на передний план там выходят 3d вещи (нагрузка на видеокарту, кол-во вызовов отрисовки, кол-во объектов на сцене)
0
tezaurismosis
Администратор
Эксперт .NET
8612 / 3898 / 730
Регистрация: 17.04.2012
Сообщений: 8,678
Записей в блоге: 14
15.10.2014, 15:08 5
Точно знаю, что Bastion на C# написан. Считаю, что для игр такого плана и внешнего вида язык подойдёт. Крузис вряд ли на пишут на Шарпе, но вам всё-равно в домашних условиях такое не написать.
0
MIRAMIX
#MRoose
3 / 3 / 3
Регистрация: 22.02.2013
Сообщений: 380
29.10.2014, 00:20 6
смотря какие.даже проги стараются писать на плюсах чтобы не зависеть от фркймворка.
чтобы писать ААА как Far Cry и тп известные мега игры то шарп ни в коем случае.вот с юнити хоть такие и не создать ел можно.
я кстати как раз стал за5иматься игродельством.вот накачал книги по советам для изучения директх а далее фигня)
если хотите могу помогать местами по теории
0
inturizt
Заблокирован
09.12.2014, 11:49 7
> И в каких областях прменяется c#?
В основном разработка десктопного ПО под винду.
Ко всему остальному приспособлен плохо.

> В частности игровая индустрия интересует подходит ли данный язык для этих целей?
Ну вообще вполне можно на C# игру написать.

И, думаю, проще, чем на С++.
Но, думаю, работать медленнее будет.

Может, стоит написать какую-то часть игр на C#, какую-то - на чем-то нативном и объединить.
Как с программами часто делают - GUI на том, что поудобнее, а ядро на том, что работает побыстрее и декомпилируется потяжелее.

Точно не уверен, ибо не игродел.
0
MicM
825 / 484 / 324
Регистрация: 29.12.2009
Сообщений: 1,106
Завершенные тесты: 1
28.12.2014, 19:18 8
На XNA можно неплохие игры писать
0
_lunar_
1452 / 1368 / 185
Регистрация: 03.05.2011
Сообщений: 3,184
Завершенные тесты: 1
03.01.2015, 01:23 9
высоко бюджетные игры пишут на С++ по одной простой причине - этот язык даёт доступ к аппаратной составляющей компьютера (видеокарте (GPU, память), процессору (ассемблерные вставки), прямой доступ к оперативной памяти). Чем меньше всяких буферов, подгрузок/загрузок, тем быстрее программа общается с компьютером (а это и есть залог отличной оптимизации на любом железе). Именно поэтому огромными силами ведётся разработка низкоуровневых API, таких как AMD Mantle, DirectX 12 и OpenGL Next (частью которого возможно станет Mantle), целью которых увеличить вызовы на отрисовку draw call с 10000 (максимум для DirectX 11) до 50000-70000 (максимум для Mantle) и естественно убрать все эти буферы (оставив прямой доступ к памяти видеокарты и саму отрисовку). Писать драйвер на столь низком уровне под языки высокого уровня это маразм. Поэтому на шарпе..., да создавать игры можно - косынку, стратегию, что-то типа Limbo (2D игры с потрясающим освещением), но экшены (упомянутый crysis, battlefield и прочее) просто не целесообразно.
0
insite2012
Модератор
Эксперт .NET
4865 / 3818 / 1096
Регистрация: 12.10.2013
Сообщений: 11,095
Записей в блоге: 2
03.01.2015, 19:42 10
Цитата Сообщение от _lunar_ Посмотреть сообщение
создавать игры можно
Цитата Сообщение от _lunar_ Посмотреть сообщение
но экшены (упомянутый crysis, battlefield и прочее) просто не целесообразно.
Позвольте с вами не согласиться. Возможно, дело идет к тому, что как раз на платформе .NET и будут писаться игры. Есть такая игра - FarCry4. Она из новых, хороший экшен. Так вот, я любитель игр. И как всякий любитель, естественно скачал ее и установил. Ну и попробовал ради интереса открыть библиотеки из установленной игры через IlDasm. И что вы думаете - многие из них (не все, но многие) свободно открываются и декомпилируются, что говорит о том, что в этой игре был (частично) использован управляемый код. Эта игра выпущена компанией Ubisoft, одной из лучших в этом деле, и не думаю, что они не знали что делали. Так что посмотрим что будет дальше, у меня предположение, что не зря они начали переходить на эту платформу.
0
_lunar_
1452 / 1368 / 185
Регистрация: 03.05.2011
Сообщений: 3,184
Завершенные тесты: 1
04.01.2015, 11:42 11
Цитата Сообщение от insite2012 Посмотреть сообщение
Есть такая игра - FarCry4
да есть. Я тоже её скачал и поиграл. Ну, во-первых, оценить её производительность не могу, т.к. в последнее время игры от Ubisoft это что-то с чем-то по отношению к оптимизации (даже на топовом железе игра дёргается и фризит в большей степени вне зависимости какие настройки графики выставлены).

Цитата Сообщение от insite2012 Посмотреть сообщение
открыть библиотеки из установленной игры через IlDasm
я не декомпилировал их и не разбирал их код, но могу предположить, что скорее всего эти библиотеки отвечают за какой-нибудь GUI, интерфейс, меню, в общем то, что не нагружает движок игры. Сам экзешник и его основные компоненты (библиотеки, отвечающие за рендер, свет, шейдеры и прочее) конечно же написаны на C\C++, по причинам описанным мною выше.

Цитата Сообщение от insite2012 Посмотреть сообщение
как раз на платформе .NET и будут писаться игры
я не спорю, возможно когда-нибудь и будут писать игры на .NET (здесь даже есть свои плюсы - GUI проще делать, чем на WinAPI, да и вообще уйти от апишных функций). Просто на данный момент, при создании игры, C# будет являться, грубо говоря, "обёрткой". А это неминуемо приведёт с снижению производительности. Стоит дождаться .NET Native и уже тогда анализировать походит ли платформа .NET для замены C++
0
insite2012
Модератор
Эксперт .NET
4865 / 3818 / 1096
Регистрация: 12.10.2013
Сообщений: 11,095
Записей в блоге: 2
04.01.2015, 12:57 12
Цитата Сообщение от _lunar_ Посмотреть сообщение
даже на топовом железе игра дёргается и фризит
У меня железо не топовое, но на средних настройках работает без тормозов. Если ставить выше - то да, лагает, не спорю. Но вот на таком железе работает отлично.
Цитата Сообщение от _lunar_ Посмотреть сообщение
я не декомпилировал их
Я тоже код не разбирал. Но если вам интересно, можете посмотреть сами. Вот скрин только одной из библиотек. Как видите, там много всего.
Цитата Сообщение от _lunar_ Посмотреть сообщение
возможно когда-нибудь и будут писать игры на .NET
Я тоже именно так думаю, именно из-за этой причины, что вы и указали:
Цитата Сообщение от _lunar_ Посмотреть сообщение
GUI проще делать, чем на WinAPI, да и вообще уйти от апишных функций
1
Миниатюры
Можно ли на C# писать игры?   Можно ли на C# писать игры?  
_lunar_
1452 / 1368 / 185
Регистрация: 03.05.2011
Сообщений: 3,184
Завершенные тесты: 1
04.01.2015, 13:15 13
Цитата Сообщение от insite2012 Посмотреть сообщение
можете посмотреть сами
да, кое-что интересное для меня там есть - свет, pipeline, hardwareinfo, математика. Действительно стоит посмотреть что же есть в этих библиотеках
1
insite2012
Модератор
Эксперт .NET
4865 / 3818 / 1096
Регистрация: 12.10.2013
Сообщений: 11,095
Записей в блоге: 2
04.01.2015, 13:30 14
Цитата Сообщение от _lunar_ Посмотреть сообщение
Действительно стоит посмотреть что же есть в этих библиотеках
Обязательно посмотрите) Я тоже нашел несколько интересных для себя реализаций, которые потом можно будет использовать))) В папке с установленной игрой, папка bin, почти половина библиотек на .NET и открываются дизассемблером.
0
MIRAMIX
#MRoose
3 / 3 / 3
Регистрация: 22.02.2013
Сообщений: 380
04.01.2015, 20:57 15
insite2012, Вы декомпилировали dll от Far cry???а чем?и выходит они написаны на c#?
0
insite2012
Модератор
Эксперт .NET
4865 / 3818 / 1096
Регистрация: 12.10.2013
Сообщений: 11,095
Записей в блоге: 2
04.01.2015, 21:11 16
Цитата Сообщение от MIRAMIX Посмотреть сообщение
Вы декомпилировали dll от Far cry???
От FarCry4, если быть совершенно точным.
Цитата Сообщение от MIRAMIX Посмотреть сообщение
а чем?
ILSpy, IlDasm, NetReflector.
Цитата Сообщение от MIRAMIX Посмотреть сообщение
выходит они написаны на c#?
Да, многие из них написаны на языке платформы .NET.
0
DoroViska
1 / 1 / 1
Регистрация: 17.01.2015
Сообщений: 8
21.01.2015, 10:52 17
Для C# уже стоко всего понаделали что ты можешь crysis 4 написать на нём.
RUST и все игры на unity3D сделаны на C#
GDFS движок для игр от UBISOFT сделаны на C#
Minecraft сделан на java каторая в 7 раз тормазнутей чем C# но при этом это не помешало нотчу построить Катедж за 324 700 000$.
Качай OpenGL Tao и Mono и штампуй движок на C#
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
21.01.2015, 11:06 18
Цитата Сообщение от Монфрид Посмотреть сообщение
На компилируемых языках не пишут серьёзные игры, ибо в играх нужна производительность,
Именно потому и пишут на компилируемых, что нужна производительность.

Добавлено через 2 минуты
Цитата Сообщение от inturizt Посмотреть сообщение
И, думаю, проще, чем на С++.
Но, думаю, работать медленнее будет.
Сложнее.

Добавлено через 53 секунды
Цитата Сообщение от _lunar_ Посмотреть сообщение
высоко бюджетные игры пишут на С++ по одной простой причине - этот язык даёт доступ к аппаратной составляющей компьютера
Не даёт.

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

Добавлено через 1 минуту
Цитата Сообщение от _lunar_ Посмотреть сообщение
Поэтому на шарпе..., да создавать игры можно - косынку, стратегию, что-то типа Limbo (2D игры с потрясающим освещением), но экшены (упомянутый crysis, battlefield и прочее) просто не целесообразно.
Стратегию?! А ничего, что для этого надо иметь нормальный доступ к динамической памяти и не к стандартным контейнерам, а в рамках специфики задачи? И что они очень даже требовательны к производительности?

Добавлено через 6 минут
Цитата Сообщение от insite2012 Посмотреть сообщение
В папке с установленной игрой, папка bin, почти половина библиотек на .NET и открываются дизассемблером.
А ничего, что дизасемблеры открывают как раз натив?
0
insite2012
Модератор
Эксперт .NET
4865 / 3818 / 1096
Регистрация: 12.10.2013
Сообщений: 11,095
Записей в блоге: 2
21.01.2015, 11:21 19
Цитата Сообщение от taras atavin Посмотреть сообщение
дизасемблеры открывают как раз натив?
В данном контексте под "дизассемблером" подразумевалось "IlDasm" (или Reflector).
0
_lunar_
1452 / 1368 / 185
Регистрация: 03.05.2011
Сообщений: 3,184
Завершенные тесты: 1
21.01.2015, 19:03 20
Цитата Сообщение от taras atavin Посмотреть сообщение
Не даёт.
обосновать не хотите? Я тоже могу много рассказать чего на заборе написано.

Цитата Сообщение от taras atavin Посмотреть сообщение
Ассемблерные вставки - это уже средство смешения с другим языком.
и что? к чему вообще этот комментарий? Обзовите это хоть "доздропермой" смысл от этого не поменяется.

Цитата Сообщение от taras atavin Посмотреть сообщение
А ничего, что для этого надо иметь нормальный доступ к динамической памяти и не к стандартным контейнерам, а в рамках специфики задачи?
абсолютно ничего. Не всегда нужен доступ к динамической памяти.

Цитата Сообщение от taras atavin Посмотреть сообщение
И что они очень даже требовательны к производительности?
стратегии разные бывают, или у вас все игры требовательны к производительности? Начнём пожалуй с ресурсов (игрового контента), что мешает использовать текстуры с меньшим разрешением? Во-вторых, раз речь о стратегиях - можно спокойно забыть о высокополигональных моделях окружения и персонажей. Уберите динамические тени и поставьте менее прогрессивное сглаживание (или вообще масштабирование), вот вам и производительность.
0
21.01.2015, 19:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 19:03

Можно ли писать Extended stored procedures на C#
Подскажите, please, а можно ли писать расширенные хранимые процедуры для SQL...

Можно ли на .NET писать приложения под Android
Можно ли на .NET писать приложения под Android? Если да то как?

Можно ли писать программы под Iphone используя C#
можно ли писать программы под iphone используя C# и VisualStudio если да то как


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru