Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/1: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3

Совместное создание игры

08.01.2025, 12:45. Показов 48464. Ответов 942
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий администратора 
Обсуждение вынесено из темы Ищу человека для совместного изучения программирования


Цитата Сообщение от Royal_X Посмотреть сообщение
Вот на моем неигровом ноуте последний UE без проблем запускается и не тормозит даже.
ок.
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать.

собсно что нужно: формально отображать некие графические модели на экране в нужном его месте нужного масштаба,
для теста сойдут спрайты - а потом можно и анимированные модели голых девочек,
на усмотрение геймдиза))

и больше ничаво.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2025, 12:45
Ответы с готовыми решениями:

Для чего создан язык С++?
Для чего создан язык С++????

создан массив
создан массив автовладельцев, для каждого известны Ф.И.О., номер, адрес...,Выяснить есть ли автовладельцы у которых имеются больше 1-ой...

Теория игр, массивы
Есть задание (прикрепил его в виде файла к сообщению). Есть решение для 12-ого варианта на BORLANDC, у меня 2-ой. Я изменил в начале...

942
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,603
14.02.2025, 16:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SmallEvil Посмотреть сообщение
Хотелось поработать совместно. Каждый пишет часть одной программы/системы.
я тут уже писал XLAT, что совместное программирование это когда

XLAT реализует int foo(), а я int bar(), и в конце нам остается return foo()+bar().

По такому принципу мы смогли немного поработать вместе, когда я создал игру на годот, а XLAT написал движок, и каждый не лез в работу другого. До этого я еще давно писал сапера, как на С++, так и на GDScript, и мне не было бы трудно все сделать самому. Но цель эксперимента как раз была в том, делать совместно, подстраивать игру под консольку XLAT.

А вот если подразумевать под совместным программированием - я начал писать код для функции, а ты заверши, то получится бред...

Добавлено через 2 минуты
Цитата Сообщение от SmallEvil Посмотреть сообщение
Где план работы, где взять фрагмент проекта на реализацию?
в том и проблема, что XLAT красиво объяснил принципы совместного программирования, но почему-то он выложил код, когда тот был уже полностью готов, кроме нескольких багов. И что тут другим продолжать? К тому же, он начал писать код, не договорившись, кто и что будет писать. А сейчас жалуется, что никто совместно не пишет.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.02.2025, 16:08
Цитата Сообщение от Royal_X Посмотреть сообщение
А вот если подразумевать под совместным программированием - я начал писать код для функции, а ты заверши, то получится бред...
Не совсем так, конечно.
Но в команде, каждый должен быть готов завершить код другого. (ну или не каждый, а хотя бы один такой должен быть)
Это может быть необходимо по различным причинам.
Включая правку/добавление, или как сейчас называют, уже не помню.
В этом нет ничего страшного.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,603
14.02.2025, 16:13
Цитата Сообщение от SmallEvil Посмотреть сообщение
Но в команде, каждый должен быть готов завершить код другого.
но тут уже нужно комментировать код очень хорошо и порой даже комментов недостаточно, нужна постоянная связь с тем, кто писал код, ведь можешь наткнуться на такое, например:

C++
1
2
3
4
5
6
7
// эта функция возвращает объем сферического коня
double getVolume()
{
    double mass{};
    // тут незавершенный код, который нужно продолжить
    return mass;
}
И вот второй программист окажется в тупике. Он не знает, исправить функцию, которая вместо объема считает массу, или продолжить писать код для массы, а исправить только коммент и название функции.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.02.2025, 16:15
Апдейт к посту №756
Экстремальное_программирование
Это тоже можно попробовать, но нужно пройти сначала знакомство с простым совместным программированием, "каждой тваре по паре" - каждому кодеру по своей задаче.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
14.02.2025, 16:20  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
в том и проблема, что XLAT красиво объяснил принципы совместного программирования, но почему-то он выложил код, когда тот был уже полностью готов, кроме нескольких багов. И что тут другим продолжать?
ну, не совсем так.
изначально была модель и консольный гуй для её(модели) тестирования.
на чем то же мне надо было модель тестировать)

Добавлено через 4 минуты
пацана жалко, но не знаю как помочь
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,603
14.02.2025, 16:21
Цитата Сообщение от SmallEvil Посмотреть сообщение
Экстремальное_программирование
один программист занимается написанием кода, а его напарник в это же время непрерывно просматривает только что написанный код
напарник может поддаться суггестии: первый написал с ошибкой, напарник тоже пропускает данную ошибку, учитывая, что это такая каверзная ошибка, которую допускают даже опытные программисты. Тогда как второй он возможно и не сделал бы такой ошибки, если писал бы сам.

Предлагаю лучше: первый и второй пишут тот же самый код, а третий постоянно проверяет коды и в случае отличий в результате или в применяемых алгоритмах, он выявляет правильный или лучший код, который и оставляет для финального проекта.

Такой метод можно назвать multipass
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
14.02.2025, 16:57
Нужно четко прописывать ТЗ. Что модуль делает, какой интерфейс предоставляет, какие требования по быстродействию, функционалу и пр. В проекте всегда должен быть главный разработчик, который видит всю картину. Каждый разработчик пишет свой модуль руководствуясь ТЗ. Тестировщики проверяют конечные модули. Один разработчик ничего не знает о внутреннем устройстве других модулей. Как-то так. Но для конкретно сапера это избыточно.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
14.02.2025, 17:12  [ТС]
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Нужно четко прописывать ТЗ
что думают об этом те, кто гребет деньги лопатой, т.е. профи:
https://www.youtube.com/watch?... 22&t=3745s

там он полезное сказал: "кодер пишет ТЗ на япе."
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
14.02.2025, 17:49
Цитата Сообщение от XLAT Посмотреть сообщение
кодер пишет ТЗ на япе
Распространенное заблуждение. Если ты пишешь только под себя, то разницы нет, но даже в этом случае через энное количество времени можно забыть некие нюансы прошлой работы. По себе знаю.
Нужен отдельный документ на чистом русском/английском, где прописывается всё, что нужно знать для понимания системы. Понимание системы по коду это как ребус разгадывать - пустая трата времени. Пора уже это понять.
3
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,603
14.02.2025, 18:21
Цитата Сообщение от XLAT Посмотреть сообщение
профи
если он профи, то я шахиншах Млечного Пути)

Сакутин - самопровозглашенный кодер (https://www.youtube.com/watch?v=kalhCVeOHjw&t=64s)

как ты вообще находишь такой мусор? у сакутина отсутствует мозг, банальная логика, а сам он выглядит как петушара из кладбища.
Кто-то в комментах написал "Их компания делает откровенно бездушные , картонные, пустые игры."
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.02.2025, 18:26
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Но для конкретно сапера это избыточно.
Кажется что избыточно, если писать простой сапер.
Но если писать более обобщенные его части, то можно разделить на несколько вполне независимых подзадач.
Хватит по одной на каждого из желающих в этой ветке. (3-5+ задач).
Да и проектировать так же можно вместе.

Например: предлагаю разделить сапер на след. подзадачи:
- Само поле и его элементы. (почему сущность поля отдельно, об этом позже)
- Генератор поля (бомб и прочего). Могу сказать что рандомный генератор очень часто создает логически неразрешимые ситуации, где приходится лишь угадывать с различными шансами 50% 33% и т.д. Для начала пойдет и такой.
- Система возможных событий взаимодействия с полем, включая колбеки.
- Конечная логика/правила игры. Условия победы и поражения и доп. условий, событий.
- GUI, это отдельная задача/тема, которую также можно декомпозировать.

Если достаточно гибко написать эти компоненты, можно создать массу разнообразных "саперов" с минимальными правками и большими отличиями как визуально так и геймплейно.

Теперь посмотрим на первую цитату этого поста. Уже не так однозначно звучит?

Добавлено через 3 минуты
update: особенно учитывая, что стандартный сапер нас особо не интересует, а вид конечного или возможных мы ещё не знаем.
Поэтому обобщенные и по возможности универсальные его части дадут нам или другим свободу експериментировать и фантазировать. Что бы получилась залипательная игрушка на несколько часов/десятков часов/ 50+ игр и т.д.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
14.02.2025, 18:48
Цитата Сообщение от SmallEvil Посмотреть сообщение
Если достаточно гибко написать эти компоненты, можно создать массу разнообразных "саперов" с минимальными правками и большими отличиями как визуально так и геймплейно.
Полностью согласен. Тут простор для самовыражения.
Цитата Сообщение от SmallEvil Посмотреть сообщение
Генератор поля (бомб и прочего). Могу сказать что рандомный генератор очень часто создает логически неразрешимые ситуации, где приходится лишь угадывать с различными шансами 50% 33% и т.д. Для начала пойдет и такой.
Я уже в этой теме выкладывал свою рэндомную генерацию поля и расстановку мин. Правда консольный вариант. XLAT тоже выкладывал свой вариант. А вот как быть с неразрешимыми ситуациями, тут надо думать. И я уже тут писал об этом, что надо бы это учесть, хотя в оригинале это не учитывается. Мне осталось сделать модель поля, то есть формат представления состояния конкретной ячейки. Склоняюсь к одному байту, меньше памяти займет, а состояния выражать при помощи отдельных битов. И функции отрисовки рамок,табло со счетом, секундомера и самого поля.
Хочу еще свои спрайты сделать причем под разный масштаб.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
14.02.2025, 19:18  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Например: предлагаю разделить сапер на след. подзадачи:
переписую на яп:
1.
Цитата Сообщение от SmallEvil Посмотреть сообщение
Само поле и его элементы. (почему сущность поля отдельно, об этом позже)
C++
1
2
3
4
struct Field
{
...
};
2.
Цитата Сообщение от SmallEvil Посмотреть сообщение
Генератор поля (бомб и прочего).
C++
1
2
3
4
struct Logic
{
...
};
3.
Цитата Сообщение от SmallEvil Посмотреть сообщение
Система возможных событий взаимодействия с полем, включая колбеки.
C++
1
2
3
4
struct Controller
{
...
};
4.
Цитата Сообщение от SmallEvil Посмотреть сообщение
правила игры
...должны идти второй строчкой после идеи игры ...
строка текста, согласно которой заполняются выше обозначенные модули.

5.
Цитата Сообщение от SmallEvil Посмотреть сообщение
GUI, это отдельная
namespace gui
{
...
}

мне нравится идея писать ТЗ на япе.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.02.2025, 20:37
Это базовый план.
Потом для каждого из пунктов прописываешь конкретную задачу и интерфейс.
Задачи пишутся текстом. Интерфейс в виде диаграмм. Или же, опять, текстом.

Потом пишутся интерфейсы и всё остальное для выполнения поставленной задачи.
Интерфейс может быть дополнен или изменен с предложениями утвердить их.

ТЗ на ЯП - моя плакать.
XLAT, наверное, то что ты хочешь сказать называется как то по другому.
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
14.02.2025, 21:00  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
наверное, то что ты хочешь сказать называется как то по другому.
ты, наверное, хотел сказать,
что тз не пишутся для кодеров,
тз пишутся для спонсоров, которые по тз определяют какие финансы нужно отслюнявить на команду.

на самом деле, тз пишет геймдизайнер на обычном языке, потому что он не знает яп.

но, тот же Сакутин - молодца, четко уловил, что в геймдеве тз вреден, ибо ограничивает свободный полет фантазии...
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
14.02.2025, 21:04
Цитата Сообщение от XLAT Посмотреть сообщение
что тз не пишутся для кодеров,
Откуда тогда кодер будет знать что кодить?
Или я проспал где то 50 лет, и уже не важно что кодить и как называть?

Так и не понял, желает ли кто совместно пописать и покакать сапера?
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
14.02.2025, 21:17  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Или я проспал где то 50 лет, и уже не важно что кодить и как называть?
из тз, на языке, который можно понять.

Цитата Сообщение от SmallEvil Посмотреть сообщение
Так и не понял, желает ли кто совместно пописать и покакать сапера?
а тз уже готово?

Добавлено через 1 минуту
Цитата Сообщение от SmallEvil Посмотреть сообщение
Так и не понял, желает ли кто совместно пописать и покакать сапера?
да, я пишу сервер на 100500 клиентов для казино-сапера.

Рояль_X ничего, вроде, не пишет - его можно загрузить по полной)
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,603
14.02.2025, 22:29
вам что ТЗ написать?
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
15.02.2025, 01:03
Цитата Сообщение от XLAT Посмотреть сообщение
ты, наверное, хотел сказать,
что тз не пишутся для кодеров,
Цитата Сообщение от XLAT Посмотреть сообщение
из тз, на языке, который можно понять.
Сам себе противоречишь в каждом втором посте.
Русский можно понять?
0
Just Do It!
 Аватар для XLAT
4220 / 2683 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
15.02.2025, 05:46  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Сам себе противоречишь
ок, тогда меня можно не слушать.

моё ключевое:
1. я не против тз в любом виде.
2. текущее: тз существует в виде готовой старой игры.
3. текущее: тз модификация отдаётся на аутсорсинг участнику делающего модуль.
4. 2 и 3 не противоречат, а дополняют друг друга.
5. устанавливается тока интерфейсная часть между модулями для стыкования этих модулей.

Цитата Сообщение от Royal_X Посмотреть сообщение
вам что ТЗ написать?
вместо этого вопроса уже бы само тз сюда бы написал)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2025, 05:46

Решение матричных игр. Есть у кого такая программа написанная уже...
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?

Запуск приложений(старых игр) в оконном режиме
День добрый, подскажите, хотелось бы реализовать свое желание запуска старых игр windo`вых(типа StarCraft) в оконном режиме, с чего начать,...

Алгоритм календаря игр (например в футболе)
необходимо составить календарь футбольных матчей, допустим есть 6 команд char *teams = {"TEAM A","TEAM B","TEAM...

Движок для игр
Всем привет!!!, хотел узнать возможно ли создать движок на C++ чтобы экспортировать модели из 3ds max а после в самом движке можно было...

Выбор IDE для создания 2D игр
Здравствуйте. Задача сделать пака 2ух – мерные драчки загружая в проект анимацию-как удар(ы) и реакция на удар...(лучше всего секвенцию...


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

Или воспользуйтесь поиском по форуму:
760
Закрытая тема Создать тему
Новые блоги и статьи
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru