Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246

Направьте новичка в нужное русло :)

18.02.2017, 23:42. Показов 3137. Ответов 31

Студворк — интернет-сервис помощи студентам
Собственно сразу к вопросу. Имеется очень большое желание начать писать игры на C++. Вот... Пока что всё.
Проблема в том, что пока что прочитал только 100-150 страниц учебника Р.Лафоре 4-е издание. Дошел примерно до классов.
Знаю, что сначала следует выучить язык, а потом только, спустя много времени практики, пробовать что-то делать. Но есть ли возможно учить С++ и делать одновременно, как позволяют на данный момент мои знания, игру? Может кто посоветовать что в этом русле? В идеале хочется сделать игру жанра RPG. Для игры ведь нужен движок? Хочу взять какой-нибудь за основу, пока приглянулся UE4 - из-за блупринта (blueprint) и возможности писать на языке С++. Но вот проблема - скачал я все: Visual Studio + UE4 - а дальше что делать не знаю, могу копипастить видеуроки - но разве это считается разработкой? Я понимаю, что изначально должен быть, в игре жанра RPG, редактор персонажей допустим - то есть одна из сцен, вторая сцена - сам мир, в котором происходят действия? Ну вот как это с помощью текста вывести на экран? Какие команды использовать? Я только и знаю, что cout или cin
В общем , я понимаю, что до разработки игры мне далеко еще ой как! Но может для начала мне кто-нибудь посоветовать что-нибудь дельное? За 2D не хочу браться. Не знаю почему... Может потому,что много спрайтов нужно будет рисовать - а я этого не умею.
Если я что-то не так написал, то просто не разбираюсь в этом еще - поправьте как надо , если что.
Заранее спасибо, жду вашего мнения и советов.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2017, 23:42
Ответы с готовыми решениями:

направьте в нужное русло
такая ситуация. Есть у меня сайт, интернет магазин. Загремел недавно в фильтр яндекса. Как обьясняет яндекс накручивали посещения...

Направьте меня в нужное русло :)
Здравствуйте! Я студент уже 2-ого курса....по специальности электроника автомобилей...но вот на нашей специальности первый год шло...

Пожалуйста, направьте в нужное русло!
Всем привет. Есть вопросы по поводу реализации проекта (вопросы в конце). Появилась необходимость в разработке собственного ПО....

31
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 00:08
На C++ ещё можно писать на двух других таких же бесплатных движках, как UE4:
У них тоже открытые исходники и программирование в Visual Studio. И тоже есть визуальный скриптинг, как Blueprint.

Книжки читать по выбранному движку, официальные туториалы, документацию, искать чужие примеры и в них разбираться/дописывать под себя/улучшать. С миру по нитке. Всё это, конечно, на английском, а на русском очень скудная информация. Пробовать, практиковаться, экспериментировать, ошибаться, искать решения проблем на форумах.

В вашем случае, можно найти какую-нибудь 3D модель с анимациями, загрузить её в движок, найти примеры (посмотреть в книгах/туторах), как написать скрипты, чтобы управлять моделью. Найти туторы, как свой SkyBox загрузить. Интернет поисковик ваш друг!
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 00:13  [ТС]
То есть чтобы работать с движком - мало знать язык C++, нужно еще и выучить документацию к движку? А по поводу- литературу по С++ не подскажете? Просто - я имею только Р.Лафоре ООП 4-е издание - не знаю дельное оно или нет - пока вроде все понятно. Но если читать только сам язык - боюсь начну не понимать что и для чего это все без практики. Заранее спасибо)
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 00:28
Цитата Сообщение от Abomination_25 Посмотреть сообщение
То есть чтобы работать с движком - мало знать язык C++, нужно еще и выучить документацию к движку?
Выучить её невозможно, так как она очень большая и много чего в ваших проектах вам не нужно будет. Нужно учиться в ней ориентироваться. Допустим вы открыли пример из движка, который хотите понять, чтобы использовать в своём проекте, а там будет много разных классов и методов. Вы берёте какой-то класс или метод и читаете в документации, что он делает.

Цитата Сообщение от Abomination_25 Посмотреть сообщение
А по поводу- литературу по С++ не подскажете?
Литература C++ Кроме самого C++, который тоже нужен, есть ещё книги по самому движку. Но они все на английском. Вы можете зайти на amazon.com и в поиске набрать: unreal engine 4 Много книг вышло, а на русский, по-моему, ещё ниодну не перевели.
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 00:32  [ТС]
Спасибо. Буду пробовать. Если что, буду задавать здесь вопросы снова) Еще понимать бы, что такое классы, а что такое методы
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 00:35
Поищите видео уроки на русском на youtube для начинающих. Где больше лайков те и смотрите. Обязательно выполняйте, что показывают, а не просто смотрите.
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 00:43  [ТС]
Спасибо, просто понять - с чего начать сидеть зубрить с++ или же идти читать мануалы/туторы по движку... Вроде и то , и другое нужно)
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 00:50
Да, конечно. Лучше изучать C++, Blueprint и движок вместе.

Есть хорошие места, где много видео туторов для начинающих:
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 10:59  [ТС]
Спасибо) буду пытаться - благо время позволяет еще учить

Добавлено через 9 часов 52 минуты
Еще такой вопрос - по UE4. Там везде в проектах уже готовый персонажи + камеры - то есть код написан, но допустим с нуля его как самому написать? Просто я думал, что этим нужно будем заниматься, а то получается все готово, а как оно работает - никто не говорит) Может я чего-то не понимаю?
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 11:13
Представьте, что не было бы вообще никаких примеров, здесь разработчики постарались, чтобы как-то облегчить нам жизнь. Открывайте код на C++. Берите первую строчку и пытайтесь её понять, найдя её в документации. Когда поняли, что она делает переходите к следующей. И таким образом вы поймёте как работает пример и на основе этого понимания, сможете написать своё с вашим придуманным поведением. Либо какую-то часть кода вы сможете заимствовать, если она вас устраивает. А сначала нужно понять каждую строчку выбранного примера, по документации и статьям из интернета. Не забывайте, что интернет-поисковик наш друг!
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 11:34  [ТС]
Да там это называется классами - и они сам компилируются - а можно как-то вычитать как самому такое написать? Просто не хочется готовое брать - хочется самому создать ту же камеру или своего персонажа с моделькой своей? Я понимаю, что это движок и тут много уже реализовано, но вот мне самое главное с++ код и как писать его. Вот допустим небольшой кусок кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Fill out your copyright notice in the Description page of Project Settings.
 
#include "ssss.h"
#include "MyActor.h"
 
 
// Sets default values
AMyActor::AMyActor()
{
    // Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
    PrimaryActorTick.bCanEverTick = true;
 
}
 
// Called when the game starts or when spawned
void AMyActor::BeginPlay()
{
    Super::BeginPlay();
    
}
 
// Called every frame
void AMyActor::Tick(float DeltaTime)
{
    Super::Tick(DeltaTime);
 
}
И вот как понять почему так?) Понимаю, что мои вопросы слишком тупые - надо идти читать документацию к движку.

Добавлено через 15 минут
Видимо рано мне еще суваться туда, пока не пойму - что такое классы и пока не напишу в самом IDK несколько программ-игр...
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 12:35
Цитата Сообщение от Abomination_25 Посмотреть сообщение
а можно как-то вычитать как самому такое написать? Просто не хочется готовое брать - хочется самому создать ту же камеру или своего персонажа с моделькой своей?
Конечно, можно! Создавайте, вас никто не ограничивает. Если хотите понять как это делается, то очень подробно описано в книгах. Благо, книги появились и стало легче новичкам. Когда UE4 только вышел (пару лет назад), то вот тогда было плохо, потому что не было никаких книг и туторов. Сейчас на youtube много уроков для новичков, где пошагам показывают куда тыкать и что писать. Появилось много платных видео туторов от профи. А самое главное - это книги, так как там намного более подробно описаны основы без которых никуда.
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 14:09  [ТС]
Просто смотрел видеоурок на ютубе про создания клона марио только на С++ с использование SMPL Вроде как( Не знаю даже что такое это - графическое что-то ). Так там вот только Visual Studio с подключенным SMPL Был- и показывалось как открыть окно, как вставить спрайты, и прочее. А в UE4 пока только интерактивность одна для меня - может, конечно стоит найти литературу годную. Но пока мне кажется,что в UE4 больше интерактивности, может сам код не могу найти, или то, что нахожу пугает меня своей сложностью) Мне бы книжку - где описываются все эти ньюансы в игроделе - почему здесь класс создать какой надо, например, как сюда загрузить то, как привязать управление - и какие при этом используются функции или что там используют, при этом не самые сложные, а может с помощью простых команд, или хотя бы последовательно чтобы все это вытекало из самых азов. Я как понимаю - там, в UE4, взаимодействую разные классы( например персонаж, камера, actors и пр.) с помощью какого-то кода, причем тоже написанного языком совсем не для новичка. Вот понимать бы еще каждую функцию, тогда может и пойму почему именно так и почему именно в данный момент они используют ту или иную команду. Хочется как-то дойти до этого самому. Извините за писанину огромную и демотивирующую самого себя Тут можно ссылку на ютуб оставить?
Кликните здесь для просмотра всего текста
https://www.youtube.com/watch?v=6OHMFwQK44k
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 14:56
Я когда два года назад начинал изучать UE4, то было очень сложно осваивать C++ скриптинг в нём, потому что туторов и книг для начинающих не было. После 2-3 месяцев мучений я перешёл на C# и Unity, хотя у меня был опыт С++ 4-5 лет. С Unity и C# пошло нормально, так как Unity намного понятнее и проще и по нему было много туторов, сейчас есть книги на русском. А ещё можно попробовать CryEngine 5 и Lumberyard Может они вам больше понравятся. В Unity графика проще изначально и он хорошо подходит для мобильных. Собранные исполняемые приложения на нём весят намного меньше, чем на других движках.
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 17:01  [ТС]
Просто если у вас был опыт уже какой-никакой большой) А у меня нет его, и уже начал С++ - хочу добить его, а если что, на С# можно пересесть, если в С++ разобраться. Может попробую юнити, но желание работать на UE4 пока очень большое, посмотрим Жалко, что движок ограничен языком во многих случаях) Нашел книжку на англ. сейчас William Sherif - Learning C++ by Creating Games with UE4 - 2015

Просто юнити еще стоит за полную версию денег, а UE4 Бесплатен, если за квартал игра не приносит более 3000$.
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 17:19
Цитата Сообщение от Abomination_25 Посмотреть сообщение
Просто юнити еще стоит за полную версию денег, а UE4 Бесплатен
Unity 5 тоже бесплатный, если за квартал не приносит больше $100000. В платной версии Pro версии просто добавляются несколько дополнительных услуг. У Free и Pro абсолютно одинаковый функционал движка, тут сравнение на русском: https://store.unity.com/ru

Лично я изучаю разработку веб игр. Изучаю WebGL, Canvas 2D API. И ещё некоторые движки в подписи. Мне нравится изучать WebGL, потому что это тоже самое что OpenGL ES 2.0. Мне кажется, полезным изучать математику матриц, игровую физику, язык шейдеров GLSL.
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 17:44  [ТС]
Пока почитаю с++, если не пойдет - попробую Юнити) вроде пока в книге разбираются аспекты такие как структуры на примере характеристик персонажа Пока понятно все)
0
 Аватар для Гром
212 / 131 / 28
Регистрация: 20.03.2009
Сообщений: 1,123
Записей в блоге: 16
19.02.2017, 18:27
1. Изучать движки без знания языка рано. Вы, конечно, можете написать что-то в духе "лет ми спик фром хелло ворлд", но не зная практически никаких возможностей языка и не умея организовывать свой код, ничего действительно стоящего вы просто не сможете написать. Современные движки сильно понижают порог входа в геймдев, но ни в коем случае не облегчают дальнейшее продвижение в нем. В результате сейчас всевозможные сторы переполнены шлаком от игр, видеосервисы - шлаком от туториалов; хорошего же контена по-прежнему на порядки меньше.

2. Лафоре - книжка очень старая. Через семь лет после ее выхода появился стандарт C++ 11, который существенно развил язык. Не то чтобы старый стандарт теперь сильно устарел, но новый сделал C++ значительно лучше, поэтому изучать надо сразу его. Т.е. книжки, вышедшие раньше 2011 года вам по умолчанию не нужны. Книжки, вышедшие позже - в зависимости от. Попробуйте почитать четвертое издание Страуструпа (про 4-е не знаю; про 3-е порой говорят, что оно довольно сложное для чтения; но я, читая 3-е, когда уже знал основы языка, успешно его одолел).

3. Итого, если у вас действительно серьезные планы, то я бы посоветовал вам для начала как следует изучить современный C++ (по крайней мере - C++ 11; к слову, уже есть минорный стандарт C++ 14, и в этом году ожидается выход C++ 17). Обязательно надо освоиться с ООП, стандартной библиотекой (в т.ч. STL) и основными нововведениями новых стандартов (некоторые из них очень легко начать использовать, при этом пользу от них очень много; другие либо сложны в изучении, либо требуются далеко не каждый день - их можно отложить до поры, но помнить про их существование).

После этого имеет смысл изучать движки, начиная с очень простых игр, и затем переходя к играм посложнее. Обязательно запомните: опыт законченной простой игры гораздо ценнее, чем опыт незаконченной более сложной!

Параллельно с изучением движков продолжайте повышать свой уровень программирования (по C++ читайте, например, книжки Мейерса; по программированию вообще - "Совершенный код" МакКоннелла; и разные хорошие статьи в сети).
0
 Аватар для Abomination_25
4 / 4 / 0
Регистрация: 13.12.2016
Сообщений: 246
19.02.2017, 20:14  [ТС]
Спасибо) Буду учить С++ пока) Тоже об этом подумал, просто бывает, что учишь только язык - хочется практики какой-нибудь ЧТо посоветуете из практики?

Добавлено через 1 час 38 минут
По поводу Б.Страуструпа - показалась тяжеловатой для начала мне - пишет для тех, кто уже знаком видимо с С++ или другими языками. Там сразу же почти появляются структуры, постоянно везде в примерах функции использует,даже есть какие-то функции push() и pop() - просто резко вводятся они и он примеры на них решает - ничего не понятно( Так же уже контейнеры какие-то пошли почти в начале... Может есть еще хорошие книги по С++? Просто не могу определиться - у Лафоре было попроще, как по мне. Не говорю, что книга плохая -просто тяжеловата для меня...
0
9948 / 2948 / 497
Регистрация: 05.10.2013
Сообщений: 8,019
Записей в блоге: 242
19.02.2017, 21:32
Если выбрали UE4, то не забывайте изучать Blueprint и делать на нём какие-нибудь практические примеры. Я так понял, что в реальных проектах используют комбинацию Blueprint и C++. Когда вы будете искать работу Junior'ом (то есть стажёром) на UE4, то в требованиях всегда указывают, что нужно быть знакомым, как с основами C++, так и Blueprint. Не забывайте мониторить вакансии Junior'а на UE4, чтобы быть в курсе, что нужно знать.

Добавлено
Цитата Сообщение от Гром Посмотреть сообщение
видеосервисы - шлаком от туториалов; хорошего же контена по-прежнему на порядки меньше.
Особенно на русском. Начинающему, конечно, очень тяжело выбирать. Можно нарваться на тутор, где будет потрачено очень много времени, а в результате окажется, что зря. И что автор не сделал ни одной приличной игры и ту которую делал не довёл до приличного уровня. Лучше смотреть на английском, там значительно больше качественных уроков, но тоже нужно быть очень внимательным и стараться выбирать только самое лучшее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2017, 21:32
Помогаю со студенческими работами здесь

Направьте в русло
Добрый вечер. Упрощу задачу до примитива: 1 сервис, много клиентов. ПО клиентов должно быть мультиплатформенным. Сервис буду...

Направте в нужное русло
Здравствуйте, подскажите в какую сторону двигаться, какие функции мне понадобятся, по какому принципу вообще строить программу Тема...

Направте в нужное русло...
Люди добрые! Прошу Вашего внимания и помощи(подсказки). Имеется сайт, оптимизирован под Google. Хотелось бы услышать Ваше мнение, а...

В нужное русло направить. Двойной интеграл
Здравствуйте. Помогите пожалуйста дорешить двойной интеграл: \int \int y^2cos(\frac{xy}{2})dxdy ограниченный кривыми y=x/2 и...

Перестал работать монитор ноутбука)Направьте новичка)
Взял ноутбук на ремонт модель samsung np-355v5x-901v ru.материнка qmle4 la-8863p.процессор amd a6-4400m series.видео AMD Mobility Radeon...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru