С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 8
1

Можно ли создать неплохую игру с 3d графикой?

29.02.2016, 11:24. Показов 4464. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток покорители кода! Бородатому дяде взбрендило в голову стать игроделом. И первый шаг к этому для меня - изучение языка программирования. Просмотрев (скорее всего) не особо много информации, начал изучение языка С. Он мне понравился сразу и я уже в мечтах грезил о том, как я делаю игру "ну просто круть!". Я знал, что этот язык достаточно сложный в плане масштабности. Но это не пугало. Спустя некоторое время начал сталкиваться с трудностями, на вопросы которых не мог найти ответа и целесообразность создания игр на языке С. Поэтому хотел написать список этих вопросов. Опыта у меня, я думаю около 1% от полного изучения С. И перед этим, хотел так сказать поделиться своими рассуждениями. Скорее всего я где-то не прав.
Я прошелся по многим языкам на тему игроделания. И меня немного огорчило, что даже игры с не особо хорошей (по нынешним меркам) графикой по типу Warcraft 3, написаны на языке С++. Кроме змейки и тетриса на С чтот не нашел. Язык Си он же структурный, по идее на нем можно написать то, что на С++ нельзя. А что-то простое на С++ может оказаться кучей строк кода на С? Если мои рассуждения не верны, напишите! Мне дико понравился этот язык (Си) своим синтаксисом. Я понимаю, что лучшим языком для моих целей это С++, но не лежит сердце у меня к нему. Язык С# мне приглянулся, я бы под каким-нибудь Юнити уже бы возился с графикой, да и сам язык говорят относительно прост. Но говорят он кушает много ресурсов, обработка медленнее чем у С++ (не знаю как с си), что он больше направлен на софты. Остальные языки (Lua, питон итд) пока не привлекают.
Не закидывайте меня, я стараюсь как могу искать инфу в свободное время, которого не особо много, да и работаю в другой сфере, но настроен серьезно!) И так вот список мучающих меня вопросов. Если скините ссылки на понятное объяснение, буду прыгать и вЫзжать!
И так вот вопросы (По умолчанию Си):
1 Можно ли на языке си вообще создать неплохую игру с 3d графикой?
2 Можно ли к си прикрутить движок по типу юнити 3д? (Скорее всего неправильно сформулировал)
3 Как создать оболочку для программы по типу окна проводника: свернуть, развернуть, закрыть. Где-то
встречал, не могу вспомнить и найти название этой ерундовины.
4 Как связать код на языке С и другой язык? (К примеру скрипт на Lua)
5 Подключив по типу OpenGL, графику полностью отрисовывать самому?
6 Поддерживает ли Си вставку персонажей созданных в 3d max?
7 Можно ли вставлять графические части с рисунков?
8 Сильно ли заметна пониженная производительность игр на С#?
И как тут "оттабулировать" текст?)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.02.2016, 11:24
Ответы с готовыми решениями:

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

Можно ли создать простые видео игры с хорошей графикой для веб?
Я учу C# Windows Forms уже два года и у меня есть пару простых вопросов. Могу ли я сделать простые...

Можно ли на вб создать красивую 3д игру?
Можно ли на вб создать красивую 3д игру?С использованием Open Gl ActiveX и тд.На подобе гта са или...

Можно ли в макромедии создать онлайн игру?
Можно ли в макромедии создать онлайн игру?

4
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
29.02.2016, 11:52 2
Цитата Сообщение от Какаш-кодер Посмотреть сообщение
1 Можно ли на языке си вообще создать неплохую игру с 3d графикой?
Quake III Arena помните? Вот вам ответ

Вообще на си можно написать все. Было бы желание, мозги и время.
1
9 / 9 / 7
Регистрация: 25.01.2016
Сообщений: 39
29.02.2016, 16:12 3
1.Конечно можно написать и на Си, но сложнее, так как Си процедурный, и любую 3д игру проще писать с использованием классов, поэтому все и пишут на плюсах.
2.Юнити нет насколько знаю , там С#,Boo (python синтаксис)и JS.Но можно найти движки со внутренним си подобным языком,или библиотеки графические типо Ogre3d но он на си++,можно найти аналоги.Так же можно самому начать без движка еще изучать Opengl, создать пару тетрисов, и глядишь поймешь что к чему.
3.Не совсем понял тебе окно создать нужно? Типо консольные программы надоели и нужно окно?
4.методы есть, но слишком много чтобы тут рассказывать, тебе лучше с основами разобраться сначало.
5.Да полность.создавая примитивы, накладывая текстуру в ручную,управляя светом.
6.файлы из макса содержат данные о структуре модели в своем формате, который сначало тебе нужно будет расшифровать потом посредством си языка передать на отрисовку в Opengl, это если очень просто.
7.Не совсем понятно, типо часть рисунка вырезать и наложить на куб?
8.Больше зависит от игры,целей и стиля программирования, все нужно учитывать, если брать один и тот же проект на си и шарп то конечно си намного выиграет, но в шарпе скорость разработки на 2\3 помоему повысится.
1
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
29.02.2016, 17:48 4
Цитата Сообщение от Какаш-кодер Посмотреть сообщение
А что-то простое на С++ может оказаться кучей строк кода на С?
Это правда, но есть и обратная сторона, си мал и прост. Хотя многое придется велосипедить, в итоге времени будет потрачено меньше чем на преемлемое освоение c++.
Цитата Сообщение от Какаш-кодер Посмотреть сообщение
3 Как создать оболочку для программы по типу окна проводника: свернуть, развернуть, закрыть. Где-то
встречал, не могу вспомнить и найти название этой ерундовины.
GTK, например, кросс. А так, для венды юзай winapi, там чисто сишый интерфейс.
Цитата Сообщение от Какаш-кодер Посмотреть сообщение
4 Как связать код на языке С и другой язык? (К примеру скрипт на Lua)
Вопрос не однозначный, но если я понял правильно то любой язык программирования не может называться таковым, если он не умеет FFI. Дернуть сишный код можно из любого языка, это первая фича, которую авторы к языку прикручивают.
Остальные вопросы касаются графики. На форуме кстати раздел есть отдельный.

Добавлено через 3 минуты
Цитата Сообщение от McFair Посмотреть сообщение
Си процедурный, и любую 3д игру проще писать с использованием классов, поэтому все и пишут на плюсах
Во-первых на плюсах пишут вовсе не поэтому, а потому что тонны легаси и качественный нейтив сопоставимый с си кодом. Во-вторых с использованием классов вообще ничего писать не проще и никогда не будет. Ищи простоту в списках и лямбда-исчислении.
1
0 / 0 / 0
Регистрация: 04.02.2016
Сообщений: 8
01.03.2016, 07:41  [ТС] 5
Добавлено через 30 минут
Цитата Сообщение от HighPredator Посмотреть сообщение
Вообще на си можно написать все. Было бы желание, мозги и время.
Желание есть, мозгов нету, время буду искать >< Благодарю!
Цитата Сообщение от McFair Посмотреть сообщение
Так же можно самому начать без движка еще изучать Opengl, создать пару тетрисов, и глядишь поймешь что к чему.
Чувствую придется писать движок самому
Цитата Сообщение от McFair Посмотреть сообщение
7.Не совсем понятно, типо часть рисунка вырезать и наложить на куб?
Да, отрисовать объект и оттекстурировать его, наложив изображение.
Цитата Сообщение от cyber-satyr Посмотреть сообщение
GTK, например, кросс. А так, для венды юзай winapi, там чисто сишый интерфейс.
Благодарствую! Это я и имел в виду
Цитата Сообщение от McFair Посмотреть сообщение
8.Больше зависит от игры,целей и стиля программирования, все нужно учитывать, если брать один и тот же проект на си и шарп то конечно си намного выиграет, но в шарпе скорость разработки на 2\3 помоему повысится.
Неплохим выбором наверное будет совмещение их. Основу писать на шарпе, а на Си докручивать фитчи?)
0
01.03.2016, 07:41
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2016, 07:41
Помогаю со студенческими работами здесь

Можно ли создать online- игру на PHP?
Можно ли создать online- игру на PHP? Или без других технологий не обойтись?

Что прочитать, чтобы можно было создать 2d игру?
Видел книги по программированию на Directx, но в названии книги написано создание 3d игр (хотя...

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как создавать приложения для iOS/iPhone
InfoMaster 12.01.2025
Введение в разработку iOS-приложений Разработка приложений для iOS открывает огромные возможности в мире мобильных технологий. С каждым годом количество пользователей iPhone и iPad растет,. . .
Как использовать Kotlin в Android разработке
InfoMaster 12.01.2025
Язык программирования Kotlin, разработанный компанией JetBrains, стал неотъемлемой частью современного мира Android-разработки. Первоначально представленный в 2011 году, Kotlin был официально. . .
Использование Go (Golang) в backend разработке
InfoMaster 12.01.2025
Язык программирования Go (Golang), разработанный компанией Google, стал важным инструментом для разработчиков программного обеспечения, особенно в области бэкенд-разработки. С момента своего. . .
Как работать с Laravel в PHP
InfoMaster 12.01.2025
Введение в Laravel Laravel представляет собой современный PHP-фреймворк с открытым исходным кодом, который значительно упрощает и ускоряет процесс разработки веб-приложений. Этот фреймворк был. . .
Как программировать под HCL Notes и создавать свои продукты на ее основе
InfoMaster 11.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой мощную платформу для разработки корпоративных приложений, которая сочетает в себе функции электронной почты, календаря,. . .
Как работать с SVN (Subversion)
InfoMaster 11.01.2025
Введение Система контроля версий является неотъемлемой частью современного процесса разработки программного обеспечения. Она обеспечивает управление изменениями в коде, позволяет отслеживать. . .
Использование GraphQL в JavaScript
InfoMaster 11.01.2025
Введение в GraphQL и его преимущества В современной разработке веб-приложений эффективный обмен данными между клиентом и сервером играет ключевую роль. GraphQL представляет собой язык запросов и. . .
Администрирован­­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru