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

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

09.12.2025, 17:46. Показов 20880. Ответов 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
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 20:12
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от XLAT Посмотреть сообщение
не понравилась аналогия дерева нодов с ёлкой? извини, старался, но не угодил.
заметь, я не говорил ни про то, что "не понравилась", ни про то, что "понравилась". Это был просто вопрос. ТЗ просто меняется быстрее, чем мы успеваем переварить.
Сначала ты показал одну игру, потом сказал, что она будет трехмерной, потом начал говорить про какую-то ёлку. Я внимательно слушаю и повинуюсь) Рассказывай дальше.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
11.12.2025, 20:16  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
заметь, я не говорил ни про то, что "не понравилась", ни про то, что "понравилась". Это был просто вопрос. ТЗ просто меняется быстрее, чем мы успеваем переварить.
Сначала ты показал одну игру, потом сказал, что она будет трехмерной, потом начал говорить про какую-то ёлку. Я внимательно слушаю и повинуюсь) Рассказывай дальше.
Ты собираешься делать ИДЕАЛЬНУЮ копию игры, которая будет на видосе?

Базовый пункт в ТЗ - "сделать минимально работающее демо, которое реализует основные механики игры Columns"

разве он был спрятан так глубоко, что его было тяжко считать?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 20:18
Цитата Сообщение от XLAT Посмотреть сообщение
Ты собираешься делать
я пока ничего не собираюсь делать, а просто наблюдаю за ходом твоих мыслей. Параллельно исследую Ogre Next.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
11.12.2025, 20:22
Спасибо за мувики, все что надо увидел. Вполне достойная игрушка для телефона или портфолио, но это все. Зачем затевать проект не имеющий ни творческих ни коммерческих перспектив? Связи с 3D не уловил, физике здесь нечего делать. Спрайты - так спрайты, нужно делать их больше, красивше и (возможно) с какими-то хитростями. А это зависит от артиста/дизайнера, программист - совсем не главный в этой хате. Прошу прощения (понимаю что критиковать легко), но не видно "плодотворной дебютной идеи"

Цитата Сообщение от Mikle Quits Посмотреть сообщение
Обойти это можно только субпиксельным рисованием, то есть "мылить" спрайты.
Может motion blur здесь будет "в масть"? (как вариант)
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
11.12.2025, 20:23  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
я пока ничего не собираюсь делать
прямо удивил - в контексте форума почти всегда никто ничего не собирается делать)))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 20:25
XLAT, кстати, есть хорошая новость. Ogre Next не создает мусорных папок в Documents. Конфиг и логи создаются рядом с исполняемыми файлами.

Качество графики норм, причем fps высокие.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
11.12.2025, 20:31  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
а просто наблюдаю за ходом твоих мыслей.
ок, за ходом моих мыслей можно будет уже следить посредством гитхаба...

Добавлено через 3 минуты
Цитата Сообщение от Royal_X Посмотреть сообщение
Конфиг и логи создаются рядом с исполняемыми файлами.
куча вопросов на форуме Ogre в 2010 году:
"караул, моим юзерам нужно запускать игру под администратором, потому что нельзя сохранить ogre.cfg..."

почему нужно держать ексешки под администратором выше я уже рассказывал ...

Цитата Сообщение от Royal_X Посмотреть сообщение
хорошая новость.
индивидуально хорошая, глобально ни о чем...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 20:54
XLAT, разрабы даже написали подробный манул https://ogrecave.github.io/ogr... ndows.html

Но там есть и авто скрипты, чтобы ничего вручную не делать. В обычном Ogre такого нет)

Добавлено через 18 минут
Igor3D, т.е. ты отказываешься от совместного проекта?

Добавлено через 2 минуты
Цитата Сообщение от Igor3D
но не видно "плодотворной дебютной идеи"
Предложи свою идею. XLAT кое-что написал, но это не означает, что мы прям все тут приступили к разработке. Мы пока на этапе размышления.

Добавлено через 59 секунд
Mikle Quits, ты тоже присоединяйся. Чем больше людей, тем лучше.
0
 Аватар для Mikle Quits
787 / 307 / 17
Регистрация: 21.01.2023
Сообщений: 530
11.12.2025, 21:03
Цитата Сообщение от Royal_X Посмотреть сообщение
окно имеет статический размер 372x656 и изменить его никак
Неверно. Окно имеет размер, зависящий от разрешения рабочего стола, но не больше 576*1024. "На high dpi мониторах" будет больше разрешение, точнее, на high res мониторах. Я тут тоже намеренно избегаю системного масштабирования, но масштабирую сам.
Цитата Сообщение от Royal_X Посмотреть сообщение
используются картинки с разрешением 16х16, тем не менее, игра выглядит красиво даже на 8к мониторе, а все потому, что я использовал интерполяцию по методу Nearest Neighbor.
У меня не даром разрешение игры ограничено 576*1024 - при таком разрешении спрайты отображаются пиксель в пиксель, масштабирование у меня бывает только в сторону уменьшения, и фильтрация даже не билинейная, а круче, если качество и теряется, то ровно на столько, на сколько вообще меньшее изображение потеряет при преобразовании из большего. Фильтрацию осуществляет не API, а я сам в коде. У меня вообще система только отображает на экран готовое изображение, которое я полностью формирую в памяти.

Добавлено через 6 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
ты тоже присоединяйся. Чем больше людей, тем лучше.
Смысл? Не, я за любой движ, только не пойму, как такую маленькую задачу делить на несколько разрабов. Я в одного это писал 2-3 вечера от силы. А составлять ТЗ, делить задачи, согласовывать форматы вызовов - нет, это само больше времени займёт. Вот отдать кому-то работу художника или звуковика - да, но не делить работу программиста. Разве что, в тех случаях, когда это разделение естественно, например, один пилит игру, а второй редактор карт для неё.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 21:03
Цитата Сообщение от Mikle_Quits
Окно имеет размер, зависящий от разрешения рабочего стола,
Напиши формулу выбора размеров окна. Я хочу понять, как на моем мониторе 2880 x 1620 игра имеет разрешение 372x656.

Цитата Сообщение от Mikel_Quits
Вот отдать кому-то работу художника или звуковика - да, но не делить работу программиста.
Игра будет трехмерной. Там нужно будет красивые игрушки сделать. Каждый может по игрушке моделировать и текстурировать.

Если будет описан протокол взаимодействия, то каждый программист может создать отдельный модуль.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
11.12.2025, 21:06  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
кое-что написал, но это не означает, что мы прям все тут приступили к разработке. Мы пока на этапе размышления.
верно.

моя мысля простая - сделать очень простую вещь сначала на одном, потом на втором, потом на третьем...

мне пофик с чего начать, млин, но я уже начал)))

ближайший план такой:
1. порезать на модули.
2. сделать свой модуль.
3. и успокоиться)

Royal_X,
со вторым пунктом - поможешь мне кинуть жребий - какой модуль мне делать.
0
 Аватар для Mikle Quits
787 / 307 / 17
Регистрация: 21.01.2023
Сообщений: 530
11.12.2025, 21:12
Цитата Сообщение от Royal_X Посмотреть сообщение
Напиши формулу выбора размеров окна.
Visual Basic
1
2
  Size = ((Screen.Height * 0.8 / Screen.TwipsPerPixelY)) / 16
  If Size > 64 Then Size = 64
Size - это размер одного спрайта. Размер поля: Size * 9, Size * 16.
Screen.Height измеряется в твипах.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 21:38
XLAT, какой проект лучше - Test2 или myTestColumns?
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
11.12.2025, 22:01  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
какой проект лучше - Test2 или myTestColumns
это не проекты - это шаблоны.

но название шаблона myTestColumns, как бы намекает где будут Колоны))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 22:34
XLAT, все что смог сделать. Не понимаю, чё все наклонено. Я же разместил камеру и сказал ей смотреть в центр координат. С какой стати она повернулась. Кажется, сам будешь на это г* работать)))

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
void BasicTutorial1::setup()
{
 
    ApplicationContext::setup();
    addInputListener(this);
 
    Root* root = getRoot();
 
    SceneManager* scnMgr = root->createSceneManager();
 
    RTShader::ShaderGenerator* shadergen = 
        RTShader::ShaderGenerator::getSingletonPtr();
    shadergen->addSceneManager(scnMgr);
 
    // -- tutorial section start --
 
    Plane plane(Vector3::UNIT_Y, 0);
    MeshManager::getSingleton().createPlane(
        "GroundPlane",
        ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,
        plane,
        1000, 1000, 
        10, 10,
        true,
        1,
        5, 5,
        Vector3::UNIT_Z
    );
 
    // Creating a fucking entity for the ground plane
    Entity* groundEntity = scnMgr->createEntity("GroundPlane");
    scnMgr->getRootSceneNode()->createChildSceneNode()->attachObject(groundEntity);
 
    MaterialPtr groundMaterial = MaterialManager::getSingleton().create(
        "GroundMaterial",
        ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME
    );
 
    groundMaterial->getTechnique(0)->getPass(0)->setDiffuse(ColourValue(0.0, 1, 0.0));
    groundMaterial->getTechnique(0)->getPass(0)->setAmbient(ColourValue(0.0, 0.2, 0.0));
    groundMaterial->getTechnique(0)->getPass(0)->setSpecular(ColourValue(0.1, 0.1, 0.1));
    groundMaterial->getTechnique(0)->getPass(0)->setShininess(16.0);
    groundEntity->setMaterialName("GroundMaterial");
 
 
    Entity* sphereEntity = scnMgr->createEntity("Sphere", "sphere.mesh");
    SceneNode* sphereNode = scnMgr->getRootSceneNode()->createChildSceneNode();
    sphereNode->attachObject(sphereEntity);
    sphereNode->setPosition(0, 100, 0);
    sphereNode->setScale(1.5, 1.5, 1.5);
 
    MaterialPtr orangeMaterial = MaterialManager::getSingleton().create(
        "OrangeMaterial",
        ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME
    );
 
    orangeMaterial->getTechnique(0)->getPass(0)->setDiffuse(ColourValue(1.0, 0.5, 0.0));
    orangeMaterial->getTechnique(0)->getPass(0)->setAmbient(ColourValue(0.3, 0.15, 0.0));
    orangeMaterial->getTechnique(0)->getPass(0)->setSpecular(ColourValue(1.0, 1.0, 1.0));
    orangeMaterial->getTechnique(0)->getPass(0)->setShininess(64.0);
 
    
    sphereEntity->setMaterialName("OrangeMaterial");
 
    scnMgr->setAmbientLight(ColourValue(1, 1, 1));
 
    Light* light = scnMgr->createLight("MainLight");
    light->setType(Light::LT_DIRECTIONAL);
    SceneNode* lightNode = scnMgr->getRootSceneNode()->createChildSceneNode();
    lightNode->attachObject(light);
    lightNode->setPosition(20, 80, 50);
 
    Camera* cam = scnMgr->createCamera("myCam");
    cam->setNearClipDistance(5); // specific to this sample
    cam->setAutoAspectRatio(true);
 
    SceneNode* camNode = scnMgr->getRootSceneNode()->createChildSceneNode();
    camNode->attachObject(cam);
    camNode->setPosition (1000, 1000, 0);
    camNode->lookAt(Vector3(0, 0, 0), Node::TransformSpace::TS_WORLD);
 
    getRenderWindow()->addViewport(cam);
 
    
 
    // -- tutorial section end --
}
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 23:07
XLAT, по поводу мусорной папки предлагаю такое временно решение

добавляем перед #pragma warning(pop) строчку
#include <filesystem>

потом добавляем std::string mConfigPath; и void shutdown();

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class BasicTutorial1
        : public ApplicationContext
        , public InputListener
{
private:
    std::string mConfigPath;
 
public:
    BasicTutorial1();
    virtual ~BasicTutorial1() {}
 
    void setup();
    bool keyPressed(const KeyboardEvent& evt);
    void shutdown();
};
инициализируем строку. Имя игры можно вообще в переменную занести, ведь используем несколько раз.

C++
1
2
3
4
5
6
BasicTutorial1::BasicTutorial1()
    : ApplicationContext("OgreTutorialApp")
{
    mConfigPath = std::string(getenv("USERPROFILE")) +
        "\\Documents\\OgreTutorialApp";
}
вызываем штатный шатдаун, а потом удаляем барахло

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void BasicTutorial1::shutdown()
{
    
    ApplicationContext::shutdown();
 
    try {
        if (std::filesystem::exists(mConfigPath)) {
            std::filesystem::remove_all(mConfigPath);
            std::cout << "Configuration folder deleted: " << mConfigPath << std::endl;
        }
    }
    catch (const std::exception& e) {
        std::cerr << "Failed to delete config folder: " << e.what() << std::endl;
    }
}
В итоге, после закрытия игры удаляется и папка. Это безопасно. После шатдауна эта папка игре не нужна.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
11.12.2025, 23:16  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Не понимаю, чё все наклонено.
ну, я бы начал с того, чтобы тыкнул камеру локально
C++
1
camNode->lookAt(Vector3(0, 0, 0), Node::TransformSpace::TS_LOCAL);
шоб глянуть,
а потом уже начал думать...

Цитата Сообщение от Royal_X Посмотреть сообщение
по поводу мусорной папки предлагаю такое временно решение
я заценю, чуть позже отпишусь...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 23:24
Цитата Сообщение от XLAT Посмотреть сообщение
ну, я бы начал с того, чтобы тыкнул камеру локально
пробовать можно. Но разве родитель наклонен? Ведь, именно в этом случае переход на локальные мог бы помочь. В данном случае, глобальные и локальные координаты должны совпасть. И тут проблема не с положением камеры, а с вращением. Башка у камеры повернута.

Мы задаем положение. А вращение в градусах/радианах мы не пишем. По сути, lookAt это смарт-вращение. Ты указываешь куда она должна смотреть и всё, без указывания углов по всем осям. Но чёт она плохо работает.

Добавлено через 2 минуты
Цитата Сообщение от XLAT Посмотреть сообщение
чуть позже отпишусь...
потом можно сделать так, чтобы игра при запуске читала конфиг из кастомного пути, чтобы каждый раз при запуске заново не настраивать рендерер
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 23:35
Цитата Сообщение от Royal_X Посмотреть сообщение
Мы задаем положение. А вращение в градусах/радианах мы не пишем. По сути, lookAt это смарт-вращение. Ты указываешь куда она должна смотреть и всё, без указывания углов по всем осям. Но чёт она плохо работает.


возможно ось нужно указать


Ладно, ты попробуй разобраться.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3038 / 1054
Регистрация: 01.06.2021
Сообщений: 11,574
11.12.2025, 23:39
XLAT, в худшем случае можно юзать

C++
1
2
3
void Ogre::Camera::rotate   (   const Vector3 &     axis,
const Radian &  angle 
)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2025, 23:39

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru