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

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

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

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

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

youtube
1
 Аватар для COKPOWEHEU
4127 / 2705 / 433
Регистрация: 09.09.2017
Сообщений: 12,030
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
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,075
Записей в блоге: 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
4127 / 2705 / 433
Регистрация: 09.09.2017
Сообщений: 12,030
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
4127 / 2705 / 433
Регистрация: 09.09.2017
Сообщений: 12,030
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
4127 / 2705 / 433
Регистрация: 09.09.2017
Сообщений: 12,030
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
4127 / 2705 / 433
Регистрация: 09.09.2017
Сообщений: 12,030
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
9953 / 2954 / 497
Регистрация: 05.10.2013
Сообщений: 8,075
Записей в блоге: 242
10.02.2018, 15:33
Мне эта тема напомнила фрагмент из юморески:
Кликните здесь для просмотра всего текста
0
 Аватар для vlisp
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,416
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
Ответ Создать тему
Новые блоги и статьи
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru