Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 23.01.2018
Сообщений: 10

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

02.02.2018, 21:28. Показов 3192. Ответов 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
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,030
Записей в блоге: 242
08.02.2018, 18:37
Изучение программирование по ходу создания игр - C++
Забыл написать. Если научитесь рисовать квадраты и стирать их, то уже можно начать писать: змейку, понг, арканойд и т.д.

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

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

youtube
1
 Аватар для COKPOWEHEU
4057 / 2692 / 432
Регистрация: 09.09.2017
Сообщений: 12,005
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
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,030
Записей в блоге: 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
4057 / 2692 / 432
Регистрация: 09.09.2017
Сообщений: 12,005
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
4057 / 2692 / 432
Регистрация: 09.09.2017
Сообщений: 12,005
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
4057 / 2692 / 432
Регистрация: 09.09.2017
Сообщений: 12,005
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
4057 / 2692 / 432
Регистрация: 09.09.2017
Сообщений: 12,005
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
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,030
Записей в блоге: 242
10.02.2018, 15:33
Мне эта тема напомнила фрагмент из юморески:
Кликните здесь для просмотра всего текста
0
 Аватар для vlisp
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,412
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
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru