Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,051
Записей в блоге: 3

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

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

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

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

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

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

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

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

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

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

290
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
20.12.2025, 19:48
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от XLAT Посмотреть сообщение
ретурн 0 пропал, караул!
у меня было норм

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

Добавлено через 12 минут
XLAT, смог найти причину?
0
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,051
Записей в блоге: 3
20.12.2025, 19:51  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
смог найти причину?
выяснил, что ui не при делах...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
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
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,051
Записей в блоге: 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
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
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
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,051
Записей в блоге: 3
20.12.2025, 20:59  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
ERRORFATAL
добавил delete(well);

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


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

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

если они будут исчезать мгновенно, то это бдуте низкосортным трешаком)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
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
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,051
Записей в блоге: 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
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
20.12.2025, 22:52
Цитата Сообщение от XLAT Посмотреть сообщение
но у меня с физикой траблы - с наскока тяп-ляп не получается - нужно фокусироваться на физике...
ладно, пока доведи игру до рабочего состояния, потом эти маленькие фиксы сделаем
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
20.12.2025, 22:56
Цитата Сообщение от XLAT Посмотреть сообщение
где бы были эти 4 поля
игра должна быть простой. Такие настройки это излишество. Хотя, одобряю написание такого кода, который позволяет в любое время очень быстро настроить игру путем смены нескольких констант.

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



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

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

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

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

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

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

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

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

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

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

Цитата Сообщение от Royal_X Посмотреть сообщение
А плавное движение это просто красивая интерполяция между известными координатами.
эх, красивая эта мысль, что и мне приходила в голову,
но "красиво было на бумаге, а забыли мы про овраги")
0
 Аватар для Mikle Quits
769 / 286 / 17
Регистрация: 21.01.2023
Сообщений: 454
22.12.2025, 07:52
Вот типичная ситуация, когда пользователи движков натыкаются на необходимость что-то прописать самому
Ну, возьмите физику из моего кода, который у вас в прототипе, там же исходник в комплекте, всё очень просто и без неожиданностей.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6189 / 2891 / 1042
Регистрация: 01.06.2021
Сообщений: 10,600
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
769 / 286 / 17
Регистрация: 21.01.2023
Сообщений: 454
22.12.2025, 10:44
Цитата Сообщение от Royal_X Посмотреть сообщение
если реально хочешь помочь с этим проектом
При таком отношении:
ребенок, который видит, что папа ремонтирует машину, предлагает ему в качестве помощи свою детальку от машины в лего
вряд ли возникнет желание.
Цитата Сообщение от Royal_X Посмотреть сообщение
код для 2д игры поможет XLAT в его 3д игре
А игровая механика там тоже будет 3D?
0
Just Do It!
 Аватар для XLAT
4204 / 2662 / 654
Регистрация: 23.09.2014
Сообщений: 9,051
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru