Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3

Давайте сделаем игру Columns

09.12.2025, 17:46. Показов 17827. Ответов 315
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Igor3D Посмотреть сообщение
Какие есть предложения?
давай лучше игру запилим
например, ТЗ https://disk.yandex.ru/d/l7-X5wW48Zn9Ig

так как тут все кодеры-одиночки, то каждый пилит сам - полностью всю игру, но есть другой вариант,

который гораздо прогрессивнее:

порезать игру на модули - каждый пилит свою часть.

затем части складываются в одно целое, которое и есть целевая программа - игра.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2025, 17:46
Ответы с готовыми решениями:

Господа программисты есть идея создать игру. Давайте объединимся
Итак есть идея создать онлайн игру. Игра платная, приносящая доход владельцам. Предложение такое:...

Может соберемся и сделаем игрушку?
Вообщем. Предлогаю отписаться здесь всем энтузиастам и желающим. Не спрашивайте про диздоки и всё...

Может соберемся и сделаем что-нибудь вместе?
Предлагаю вполне закономерную для веб-программистов идею создать какой-нибудь(какой после...

315
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
20.12.2025, 19:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от XLAT Посмотреть сообщение
ретурн 0 пропал, караул!
у меня было норм

Добавлено через 7 минут
но как заново скачал (со всеми обновлениями, а не только моими), да вижу, что пропал

Добавлено через 12 минут
XLAT, смог найти причину?
0
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
20.12.2025, 19:51  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
смог найти причину?
выяснил, что ui не при делах...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
20.12.2025, 19:57
XLAT, из недавних моих действия, кроме ui, я только в inspector.h добавил
C++
1
2
3
4
5
case OgreBites::SDLK_F12:
    if (ui.trayMgr) ui.trayMgr->areFrameStatsVisible()
        ? ui.trayMgr->hideFrameStats()
    : ui.trayMgr->showFrameStats(TrayLocation::TL_BOTTOMLEFT);
break;
но и это тут ни при чем

Добавлено через 3 минуты
XLAT, ураа, я нашел причину

Добавлено через 17 секунд
виноват умный указатель у Well

Добавлено через 16 секунд
если поменять на обычный указатель, то проблема исчезает
1
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
20.12.2025, 20:04  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
но и это тут ни при чем
вот эта гадость , благодаря которой я заставил игру делать НОВУЮ игру F4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
///----------------------------------------------------------------------------|
/// "well.h"
///----------------------------------------------------------------------------:
#ifndef WELL_H
#define WELL_H
#include "figure.h"
 
 
///---------|
/// Modules.|
///---------:
namespace mdl
{   
    ///------------------------------------------------------------------------|
    /// Три стенки корзины. (+дно)
    ///-------------------------------------------------------------- Well3Wall:
    struct  Well3Wall : Base
    {      ~Well3Wall  ()
            {   destroy(); /// <---------------------------------...
            }
Добавлено через 6 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
если поменять на обычный указатель, то проблема исчезает
запулишь, пока я чай пью?
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
20.12.2025, 20:35
Цитата Сообщение от XLAT Посмотреть сообщение
запулишь, пока я чай пью?
ок, но разве это решение? имею в виду, утечки не будет?

Добавлено через 4 минуты
Цитата Сообщение от XLAT Посмотреть сообщение
запулишь,
готово

Добавлено через 10 минут
при нажатии на F4 ошибка

Code
1
ERRORFATAL: Ogre::ItemIdentityException::ItemIdentityException: Mesh with the name LeftWall already exists. in ResourceManager::add at D:\!!!pro-cyber\ogre-master\OgreMain\src\OgreResourceManager.cpp (line 153)
видимо, новая игра пытается создать LeftWall, но она уже существует из первой игры

Добавлено через 12 минут
XLAT, кстати, если ты примешь пул без просмотра, то возможно получишь медальку YOLO
https://github.com/drknzz/GitH... me-ov-file
1
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
20.12.2025, 20:59  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
ERRORFATAL
добавил delete(well);

теперь есть и ретурн 0 и Новая игра F4
1
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
20.12.2025, 21:24  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
счётчик уже помог мне определить, что диагонали не считает ...
исправил минус на плюс: очепятка копипасты:
теперь всё гуд считает:


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

простейшую по дефолту анимации думаю сделать через скейлинг...

если они будут исчезать мгновенно, то это бдуте низкосортным трешаком)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
20.12.2025, 22:09
Цитата Сообщение от XLAT Посмотреть сообщение
что нужно сделать
1. ты не мог бы немного увеличить скороть движения фигурки при нажатии влево/вправо с удерживанием клавиши?

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


3. Также, на мой взгляд, нужно увеличить размеры игрового поля. Нужно хотя бы иметь 3 фигурки в высоту (это 15 элементов) и наверное вместо 7 столбцов, нужно сделать 9 или еще больше. Иначе просто будет не очень играбельно.

А еще лучше, можно укоротить фигуру, сделать по 4 элемента.

4. Еще, я заметил, что игра имеет серьезные недостаток: в режиме DX11 игра не запускается и выдает исключение
Code
1
ERRORFATAL: Ogre::RenderingAPIException::RenderingAPIException: Vertex Shader 5065762f6de7ca111700c39faef971f7_VS consumes semantic NORMAL0 but no such VertexElement provided in Ogre::D3D11VertexDeclaration::getD3DVertexDeclaration at D:\!!!pro-cyber\ogre-master\RenderSystems\Direct3D11\src\OgreD3D11VertexDeclaration.cpp (line 94)
Это неприемлемо, особенно, когда игра будет в первую очередь для винды. Какой-то меш или материал неправильно настроен.

5. Нужно удалить лишние источники света, немного исправить свет окружения и тени, добавить нормальный SkyBox или SkyDome.
1
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
20.12.2025, 22:46  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
увеличить скороть
speed ---> speed * 2

Цитата Сообщение от Royal_X Посмотреть сообщение
нет места для генерации новый фигурки
11 ---> 15

Цитата Сообщение от Royal_X Посмотреть сообщение
нужно сделать 9 или еще больше
7 ----> 11

Цитата Сообщение от Royal_X Посмотреть сообщение
сделать по 4 элемента.
5 ---> 4

Royal_X,
вот тя и задача - сделать панель для конфигуратора, где бы были эти 4 поля.

пока будет так:
- запуск программы - выскакивает конфигуратор игры - вбиваются туда настройки - запуск игры.

---

но у меня с физикой траблы - с наскока тяп-ляп не получается - нужно фокусироваться на физике...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
20.12.2025, 22:52
Цитата Сообщение от XLAT Посмотреть сообщение
но у меня с физикой траблы - с наскока тяп-ляп не получается - нужно фокусироваться на физике...
ладно, пока доведи игру до рабочего состояния, потом эти маленькие фиксы сделаем
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
20.12.2025, 22:56
Цитата Сообщение от XLAT Посмотреть сообщение
где бы были эти 4 поля
игра должна быть простой. Такие настройки это излишество. Хотя, одобряю написание такого кода, который позволяет в любое время очень быстро настроить игру путем смены нескольких констант.

я когда-то давно делал игру с подробными параметрами и потом очень пожалел



Вот ты где-нибудь в играх Google Play видел, чтобы в игре Водопродчик были такие детальные настройки? Вот и я не видел.

Нужно просто выбрать самые правильные параметры (размеры игрового поля, количество элементов в фигуре) и так и оставить.
1
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
20.12.2025, 23:11  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
очень быстро настроить игру путем смены нескольких констант.
для этого в игре и существует конфиг-гейм,
в основном для разраба,
но кое-чо и юзверю перепадёт)

Добавлено через 51 секунду
Цитата Сообщение от Royal_X Посмотреть сообщение
потом эти маленькие фиксы сделаем
дык, готово же - гляди в новом пуле...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
21.12.2025, 13:33
XLAT, у меня произошел такой баг: фигура остановилась в воздухе, хотя внизу было свободное место, а дальше, как в ни чем не бывало, игра продолжилась, т.е. сгенерировалась новая фигурка.

0
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
21.12.2025, 19:12  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
у меня произошел такой баг: фигура остановилась в воздухе,
я переписал физический движок полностью + написал доку по движку в свободном стиле,
сделал проще, а значит понятнее + убрал все костыли и привел его к согласованному единообразию.

старый код физики полностью ВЫКИНЕТСЯ НА СВАЛКУ.

осталось новый двиг подключить к фигуре+колодцу...

аа, + ещё дописать новый колбек на проверку содержимого колодца ...

щас я сделал пуш(работает по старому) - следующий пуш будет не скоро)) пока не закончу всю интеграцию))
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
21.12.2025, 20:36
Цитата Сообщение от XLAT Посмотреть сообщение
старый код физики полностью ВЫКИНЕТСЯ НА СВАЛКУ
да я сразу понял, что старый код был мусорным. Все логические вычисления должны быть в целых, поскольку элементы выровнены в игре по сетке. Не должно быть ненужных проверок на каждом кадре на столкновения и прочую ахинею, ведь ты наперед знаешь, будет ли там фигура/граница или нет. Т.е. вся инфа держится в массиве целых. А плавное движение это просто красивая интерполяция между известными координатами.
0
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
22.12.2025, 02:33  [ТС]
Цитата Сообщение от XLAT Посмотреть сообщение
пока не закончу всю интеграцию))
закончил.

Цитата Сообщение от Royal_X Посмотреть сообщение
Не должно быть ненужных проверок на каждом кадре на столкновения
проверок не было на каждом кадре:
- проверка при нажатии клавиши.
- при падении - на следующем галсе.
это база.

щас ещё есть бажок - если дернуть в сторону над лежащими, то фигура продолжает падать,
то есть ещё есть не хватка в проверках))

Цитата Сообщение от Royal_X Посмотреть сообщение
А плавное движение это просто красивая интерполяция между известными координатами.
эх, красивая эта мысль, что и мне приходила в голову,
но "красиво было на бумаге, а забыли мы про овраги")
0
 Аватар для Mikle Quits
781 / 298 / 17
Регистрация: 21.01.2023
Сообщений: 512
22.12.2025, 07:52
Вот типичная ситуация, когда пользователи движков натыкаются на необходимость что-то прописать самому
Ну, возьмите физику из моего кода, который у вас в прототипе, там же исходник в комплекте, всё очень просто и без неожиданностей.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6260 / 2980 / 1050
Регистрация: 01.06.2021
Сообщений: 11,046
22.12.2025, 10:13
Цитата Сообщение от Mikle_Quits
Вот типичная ситуация, когда пользователи движков натыкаются на необходимость что-то прописать самому
Неуместная реплика по двум причинам:

1. Почти весь код этой игры, в том числе код, отвечающий за логику/физику, пишется XLAT в одиночку, который не является "пользователем движков". Чувак, ты попал мимо. XLAT, наоборот, является ярым противником движков. По крайней мере, я не припомню ни одной игры, сделанной им на каком-то движке.

2. Я вот использую движки, когда это уместно, хотя я тоже иногда пишу игры без движка. Причем, игру, похожую на твою, я мог бы запросто за несколько часов написать на WinAPI.
Но меня упоминать вообще некорректно, поскольку в этой игре я за физику и логику вообще не отвечаю. Я лишь для этой игры реализовал пару классов по просьбе XLAT: снег и вывод текста в UI. Причем, он меня попросил об этом не потому, что он сам не мог написать это, а потому, чтобы не отвлекаться от более важных задач.

Цитата Сообщение от Mikle_Quits
возьмите физику из моего кода
Ну это уже как XLAT решит. Но я не уверен, что твой код чем-то ему поможет. Мне, например, это напоминает ситуацию, когда ребенок, который видит, что папа ремонтирует машину, предлагает ему в качестве помощи свою детальку от машины в лего. Я имею в виду, не уверен, что твой код для 2д игры поможет XLAT в его 3д игре.
Ну а если реально хочешь помочь с этим проектом, то я уже написал тебе, что можешь присоединиться к проекту. Тебе для этого лишь нужен гитхаб. Кодом владеет XLAT, поэтому если есть идеи и предложения, то можешь сделать форк и создать потом пулы (как я это делаю), а XLAT потом решит - принять их или отклонить.
0
 Аватар для Mikle Quits
781 / 298 / 17
Регистрация: 21.01.2023
Сообщений: 512
22.12.2025, 10:44
Цитата Сообщение от Royal_X Посмотреть сообщение
если реально хочешь помочь с этим проектом
При таком отношении:
ребенок, который видит, что папа ремонтирует машину, предлагает ему в качестве помощи свою детальку от машины в лего
вряд ли возникнет желание.
Цитата Сообщение от Royal_X Посмотреть сообщение
код для 2д игры поможет XLAT в его 3д игре
А игровая механика там тоже будет 3D?
0
Just Do It!
 Аватар для XLAT
4215 / 2675 / 656
Регистрация: 23.09.2014
Сообщений: 9,099
Записей в блоге: 3
22.12.2025, 10:46  [ТС]
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Ну, возьмите физику из моего кода,
у вас не настоящее пространство - оно по горизонтали дискретно на размер жемчужины.
когда фигура может мгновенно телепортироваться из одной точки пространства в другую точку пространства,
то это говорит нам о том, что фигура плюёт на ту физику нашего пространства, к которой мы все привыкли)

Цитата Сообщение от Royal_X Посмотреть сообщение
Я вот использую движки, когда это уместно,
1. тупо отдели низкоуровневую часть в своём прожекте от высокоуровневой части в отдельный модуль А.
2. и А можешь называть движком.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2025, 10:46
Помогаю со студенческими работами здесь

В развитие темы совместного проекта(может соберемся и сделаем что-нибудь вместе)
Возникла тут интересная, как мне кажется, идея. Извиняюсь что создаю отдельную тему, но боюсь иначе...

Давайте отыщем "Грааль"
Думаю, что в условиях нынешней экономической ситуации, эта тема будет актуальна. Предлагаю...

Давайте напишем соц.сеть. Объединяемся.
Короче давайте напишем двиг.соц.сети. Как это будет происходить? Открываем закрытый форум. В...

А давайте свою операционку забабахаем
Есть желающие операционку на полном энтузиазме делать?

Сюжет и название игрушки
Сюда постим по предложениям создания игрушки. Сюжету и названию.


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

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

Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru