0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 10

Изучение программирование по ходу создания игр

02.02.2018, 21:28. Показов 3225. Ответов 36

Студворк — интернет-сервис помощи студентам
Добрый вечер, форумчане. У меня есть цель - создать игру. Да, многие начинают заниматься этим, но, опять же, у многих не хватает терпения => пропадает желание заниматься программированием. Не нужно думать, что я являюсь представителем такого контингента.
Читаю книгу Герберта Шилдта "Самоучитель C++ Шаг за шагом", смотрю в ютубе специализированные каналы, в частности "simplecode" (Не рекламирую! Для таких же начинающих, как я, советую). Материал весь понимаю, стараюсь применять полученные знания на примерах.
Вопрос в чем: Хотелось бы найти ментора, который сможет мне помочь в изучении программирования, а именно: дать советы при разработке приложений, объяснить материал, который не понятен мне.
По поводу вознаграждения... Я студент, вознаграждать нечем. Я думаю, самое ценное вознаграждение - знания, полученные мною от вас, а также готовые проекты под вашем руководством, дорогие форумчане.
Почему же обратился сюда. Денег не полноценные курсы нет. Поэтому, не нужно писать, что здесь никто помогать мне не будет, у каждого свои заботы, копи деньги на курсы. В общем, выкручивайся сам. Если никто не отзовется, то придется
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.02.2018, 21:28
Ответы с готовыми решениями:

Изучение С/С++. Олимпиадное программирование
Здравствуйте. Сейчас учусь на первом курсе, изучаю С, потом перейду на С++. В будущем планирую участвовать в олимпиадах по...

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

Самостоятельное изучение 1с программирование
Всем доброго времени суток! Знающие люди посоветуйте, как лучше выучить 1с программирование(8х), может книгу какую-то стоящую, или...

36
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
08.02.2018, 17:36
Студворк — интернет-сервис помощи студентам
COKPOWEHEU, А типа средствами WinAPI она не такая же чтоли? И там и там реализована инстантная отрисовка полного набор 2D примитивов и более другого набора для 2D быть не может априори пока оно 2D и пока отрисовка не отложенная. При этом даже если отрисовка отложенная набор примитивов останется тем же.
0
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,080
Записей в блоге: 242
08.02.2018, 18:37
Изучение программирование по ходу создания игр - C++
Забыл написать. Если научитесь рисовать квадраты и стирать их, то уже можно начать писать: змейку, понг, арканойд и т.д.

У этого человека хороший канал для начала: https://www.youtube.com/user/FamTrinli/

Создание игр на C++: Марио (платформер)

youtube
1
 Аватар для COKPOWEHEU
4130 / 2708 / 433
Регистрация: 09.09.2017
Сообщений: 12,041
09.02.2018, 10:08
Fulcrum_013, это о чем вообще, о сравнении графики под DOS и Windows что ли?
Для вывода через BGI не нужна ни долгая инициализация (привет, создание и опрос окна в WinAPI), ни непривычные функции (отлов оконных событий против привычного консольного ввода). Простейшая инициализация графики в TurboC выглядит так
C
1
2
3
4
5
6
7
#include <grapgics.h>
int main(){
  int dv = DETECT, mv;
  initgraph(&dv, &mv, "../BGI");
 
  closegraph();
}
(пишу по памяти). А вот приводить полный код инициализации и опроса окна средствами WinAPI я тут не рискну дабы не отпугнуть ТСа. На самом деле, для разработки именно игр лучше либо воспользоваться готовой библиотекой (glut, sdl, sfml), либо написать свою (обертку вокруг WinAPI, X11 или тех же glut, sdl, sfml).
0
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,080
Записей в блоге: 242
09.02.2018, 11:12
Цитата Сообщение от astantez Посмотреть сообщение
С графикой еще вообще не работал, пишу только арифметические задачки, взятые в интернете, книге и с канала в
youtube
Как вариант, для графики можно использовать: OpenGL либо DirectX

Добавлено через 19 минут
Цитата Сообщение от Hitoku Посмотреть сообщение
Можно начать с банального Unity (C#) или Unreal Engine 4 (C++). Уроков по всему этому делу туча
Дополню, что есть ещё два популярных бесплатных игровых движка для игр AAA-класса на C++: CryEngine 5 и Lumberyard

Но раз прозвучало, что:
Цитата Сообщение от astantez Посмотреть сообщение
Хотелось бы начать с самого начала, т.е. пока не лезть в игровой движок.
То можно начать с чего-то простейшего (намного проще, чем тетрис) - игра Понг на чистом OpenGL + GLUT 2D Pong Game Правда, здесь устаревшая версия OpenGL. С 2004 года стали использовать шейдерный, когда вышел OpenGL 2.0. Но для первого знакомства пойдёт.
1
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.02.2018, 16:12
COKPOWEHEU, Ну как бы это на голых WinAPI инициализировать что то вручную надо. Да и то не много. При пользовании же фреймверков типа VCL от того же борланда рисуй себе спокойно на канвасе любого контрола вообще без инициализации. А если на битмапке так и в bmp файл сохранить/загрузить одним вызовом.
0
 Аватар для COKPOWEHEU
4130 / 2708 / 433
Регистрация: 09.09.2017
Сообщений: 12,041
09.02.2018, 16:35
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
COKPOWEHEU, Ну как бы это на голых WinAPI инициализировать что то вручную надо. Да и то не много.
У меня вышло (со всем оформлением) 85 строк на WinAPI и 88 строк на X11. Против 3-х через BGI.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Да и то не много. При пользовании же фреймверков типа VCL от того же борланда рисуй себе спокойно на канвасе любого контрола вообще без инициализации.
Там совсем другой подход, разновидность конечного автомата. Нет основного цикла программы, надо писать обработчики для каждого события. Да много отличий от консольных программ к которым привык ТС.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.02.2018, 16:39
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
У меня вышло (со всем оформлением) 85 строк на WinAPI и 88 строк на X11.
И примерно 20 тыс строк для GL
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Да много отличий от консольных программ к которым привык ТС.
К ним все равно придется привыкать.

Добавлено через 54 секунды
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
надо писать обработчики для каждого события.
Шейдер то же принципиально ничем от обработчика события не отличается. Раз уж в графику полез придется это осваивать.
0
 Аватар для COKPOWEHEU
4130 / 2708 / 433
Регистрация: 09.09.2017
Сообщений: 12,041
09.02.2018, 19:11
Со временем придется, конечно. Но вот сейчас, когда он не знает с чего начать, не стоит бросать в омут подоконных приложений. Пусть начнет с чего-то простого и почти привычного, получит удовольствие от решенной задачи. А уж потом будут и opengl и winapi (надеюсь, не будет, потому что это ужас) и все остальное
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.02.2018, 19:25
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
(надеюсь, не будет, потому что это ужас)
Да кривое оно это есть. Но при правильном оборачивании средствами ООП и колеса круглыми становятся и ужасного ничего нет.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Пусть начнет с чего-то простого и почти привычного, получит удовольствие от решенной задачи
Окно в котором можно рисовать сразу визуалстудия создает по шаблону. Клавиши/мышу опрашивать можно через GetAsyncKeyState и GetCursorPos что гораздо удобнее чем через getc. При этом мышу под доску без юзанья апи драйвера и делегата на прерывание средствами асма лучше не пытаться. Со звуком еще веселее будет.
0
 Аватар для COKPOWEHEU
4130 / 2708 / 433
Регистрация: 09.09.2017
Сообщений: 12,041
09.02.2018, 22:09
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Но при правильном оборачивании
При правильном оборачивании оно превращается в те же glut/sdl/sfml или, скажем, QT. В виндовой версии там все равно где-то в недрах WinAPI, но он тщательно замотан слоями абстракций.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
При этом мышу под доску без юзанья апи драйвера и делегата на прерывание средствами асма лучше не пытаться. Со звуком еще веселее будет.
Да не скажи, int 33h штука не слишком сложная, благо требуется всего пара прерываний: включение, выключение и получение координат / кнопок. Но в любом случае, DOS'овые игры далеко не всегда предполагают наличие мыша. Для тех же тетрисов или змеек это не нужно точно. Вот со звуком да, будет сложнее. Но и тут: пусть сначала напишет те же тетрис или змейку чтобы почувствовать себя игроделом. А уж потом переносит на современные платформы и обвешивает свистелками
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.02.2018, 22:18
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Да не скажи, int 33h штука не слишком сложная, благо требуется всего пара прерываний: включение, выключение и получение координат / кнопок.
А так же организация очереди событий совмещенной с событиями клавы и т.д. В общем все подкапотные дела WinAPI в собственном исполнени. Т.е. собственноручное наматывание тех же слоев абстракций только не на апи обмотку а на голое железо.

Добавлено через 2 минуты
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Но и тут: пусть сначала напишет те же тетрис или змейку чтобы почувствовать себя игроделом.
Ну не знаю. Под Доской я сразу с 3D начал. Причем с вывода формул вращения. Пусть почувствует себя сразу математиком. Куда более полезное в таких делах ощущение.
0
 Аватар для COKPOWEHEU
4130 / 2708 / 433
Регистрация: 09.09.2017
Сообщений: 12,041
10.02.2018, 01:42
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Т.е. собственноручное наматывание тех же слоев абстракций только не на апи обмотку а на голое железо.
А зачем? По началу это вообще не нужно, а потом все равно на современные системы переходить. Впрочем, не помню чтобы у меня были подобные проблемы.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну не знаю. Под Доской я сразу с 3D начал. Причем с вывода формул вращения. Пусть почувствует себя сразу математиком. Куда более полезное в таких делах ощущение.
Я этим скорее закончил знакомство с DOS'ом - написанием трехмерной графической библиотеки. Для понимания бесценно.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
10.02.2018, 11:33
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Для понимания бесценно.
Не то слово. Зная что у GL/DX под капотом вопросов к чему та или иная матрица точно не возникает. Правда если именно под DOS там ассемблерных вставок больше чем кода на плюсах.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А зачем? По началу это вообще не нужно, а потом все равно на современные системы переходить.
Ну когда этим занимался - современной системой был графический оконный фреймверк под дос собственной разработки. Опять же понимание что там у винды и фреймверков визуальной разработки под капотом тоже здорово помогает.
0
 Аватар для Alexandr_1982
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 473
Записей в блоге: 4
10.02.2018, 11:56

Не по теме:

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


Шилдт не поможет(возьмите что-нибудь посерьезнее) и ролики с ютуба не помогут.
Знаете ли многомерные массивы, передачу массивов в функции, сохранение данных в массиве после возврата из функции, указатели, использование файлов, двоичное чтение файлов, чтение текстовых файлов, запись в двоичный файл, чтение из двочного файла.
Вам нужно изучить структуры и классы (запись структур в файл, чтение структур из файлов, конструктор, деструктор, методы, перегрузка методов, наследование, полиморфизм, ООП, паттерны, виртуальные функции) и такую структуру данных, как список (односвязный или двусвязный). Добавление элементов в начало, конец в середину списка, объединение списков, уничтожение списков. На основе списков создаются "умные" указатели.
Выделение памяти динамическое (оператором new или функцией malloc).
Простейшая реализация буфера, строки.
Из системного программирования нужно понять, что такое куча (heap) и научиться использовать оперативную память и многопоточность.
Для начала попробуйте сделать что-нибудь типа первого варкрафта или первой цивилизации или первых героев или простейший платформер (в общем, что-нибудь что нравится), хотя я сомневаюсь, что получится.
На основе WinAPI, OpenGL, DirectX.
Создание окон, рисование в окнах, элементы управления, использование клавиатуры, мыши.
Это нужно поставить Windows SDK, DirectX SDK. Попробуйте читать документацию DirectX.
Графика спрайтовая, двухмерная, анимация спрайтов, загрузка текстур.
Генерация ландшафта, например 3dsmax.
Создание текстур вручную (вам нужно самим делать текстуры и анимацию в Paint.
Шейдеры.
Посмотрите тьютуриалы на сайте www.rastertek.com/tutindex.html
1
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
10.02.2018, 12:48
Цитата Сообщение от Alexandr_1982 Посмотреть сообщение
Посмотрите тьютуриалы на сайте www.rastertek.com/tutindex.html
Перед этими туторами а тем более шейдерами и т.д. лучше освоить хотя бы вот эту мурзилку по линейной алгебре.
1
9954 / 2956 / 497
Регистрация: 05.10.2013
Сообщений: 8,080
Записей в блоге: 242
10.02.2018, 15:33
Мне эта тема напомнила фрагмент из юморески:
Кликните здесь для просмотра всего текста
0
 Аватар для vlisp
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,413
10.02.2018, 15:43
Майкл Доусон - Изучаем С++ через программирование игр
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2018, 15:43

Изучение веб-программирование
Добрый день! Несколько недель тому назад я начал изучать веб-программирование, по программе: http://www.codecademy.com/ После того как...

С чего начать изучение создания сервисов?
Доброго всем вечера:) Уважаемые форумчане, подскажите с чего лучше начать изучение создание сервисов. Желательно что-нибудь сразу...

Изучение математических наук для разработки звуковых игр
Здравствуйте. Ситуация следующая. Ещё начиная с начальной школы, есть проблемы с математикой. С десятичными дробями, обыкновенными...

Изучение ionic + angular js. Программирование мобильных приложений
Программирование мобильных приложений на фреймворке ionic и angular js довольно перспективное направление. Огромный плюс в том, что...

Групповое изучение программирование с основ без преподавателя
Суть: Студенты 3 курса Специальность: информационно вычислительная техника, после третьего курса &quot;Аналитики&quot; С с божьей...


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

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

Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru