Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/516: Рейтинг темы: голосов - 516, средняя оценка - 5.00
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168

Создание игры(2d)

12.05.2009, 21:08. Показов 103609. Ответов 423
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301

Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно)

Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был.

________________________________________ ________________________________________ _________________________
Основные моменты
Вычисление угла поворота персонажа в зависимости от положения курсора мыши
То же
Поворот изображения(тут еще как смещать точку поворота)
Делаем пули
Все еще непонятки с пулями
Начинаем вычисление коллизий
Идея про то, как это должно быть
Как это должно быть реализовано
Как повернуть массив точек(регион)?
А тут код(в нем есть глюк. Потом есть исправленная версия)
Находим столкновение региона и линии. Исправленная версия столкновения регионов
Как это должно выглядеть в принципе?
Начинается долгое обсуждение того как делать редактор уровней
...
...
Первый вариант редактора
Снова эти пули
Функция которая бьет изображения на мелкие куски(тайлы)
Версия редактора
Загрузка сохранение
Еще версия
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2009, 21:08
Ответы с готовыми решениями:

Создание игры
Извините за очередную тему подобного рода, но все же не могу не спросить: Мечтаю о создании игры, пусть и очень простой.. Сейчас для меня...

Создание игры
Доброго времени суток! Лабораторная работа - сделать игру. Есть идея. Нужны любые советы, коментарии, пожелания и критика. Спасибо! ...

Создание игры
Люди есть у кого нибудь исходники игры на подобие игр от ALAWAR, что бы разобрать и поучиться на этом примере? Или подскажите где можно...

423
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
15.11.2009, 12:01
Студворк — интернет-сервис помощи студентам
Мне интересно, вы тут топой создаёте какую-то непонятную 2D игру...
Ну как, что-нить создали ????
В определённый момент надо взглянуть на результаты с другой стороны... есть результаты ?
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
15.11.2009, 13:08  [ТС]
Есть:
1.Редактор карт:
-Написан алгоритм обработки переходных таилов.
-Сохранение/Загрузка уровня.
-Объекты пока не доделаны.
2.Движок:
-Загрузка уровня.(Если создадите в редакторе свой,то чтоб поиграть в него просто перезапишите его поверх старого Game\Levels\test.lvl)

Значит вопрос с сохранение String объекта остаётся незакрытым.
Следующий вопрос,кто будет смотреть игру,надо что то делать с передвижением ГГ.Потому,пока управлять им очень неудобно,в сравнение просто сыграть во флеш игру,которая в шапке.
Вложения
Тип файла: rar Svalker_KTYJIX_15.11.09.rar (841.5 Кб, 84 просмотров)
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
15.11.2009, 16:24  [ТС]
И ещё вопрос к знатокам - на чём лучше программировать на 2009 билдере или на 2007?
0
Программист TH
 Аватар для DanUnited
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
15.11.2009, 17:16
И ещё вопрос к знатокам - на чём лучше программировать на 2009 билдере или на 2007?
А ты видишь разницу ? Разница есть всё же: CB2007 более глучный чем 2009

Добавлено через 12 минут
Хм, очень неплохо, а каков общий ваш алгоритм при редактировании карты и её составлении ?
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
15.11.2009, 17:57  [ТС]
Мм...а поточнее можешь сказать (:
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
25.11.2009, 22:10  [ТС]
Так народ доделал скролинг, кто хочет может посмотреть.

Вопрос кто нибудь может рассказать, как лучше хранить информацию об объектах?

Моя идея пока сделать так:
Есть папка "configs", где хранятся .txt файлы, в которых описана подробная информация об объекте.
Вложения
Тип файла: rar Svalker_25_11.rar (303.4 Кб, 50 просмотров)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
25.11.2009, 22:16
Без каталога GFX программа, мягко говоря, встала раком
Наиболее удобный вариант хранения инфы об объектах - это и вправду тестовый файл, потому как его можно крутить-вертеть и настраивать как угодно. Но при этом немного усложняется процесс распарсивания файла
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
25.11.2009, 22:32
В принципе да, если хватает времени и ума, то можно сделать и текстовый конфигурационный файл. Парсить проблематично, занимает много места, зато редактировать можно даже в блокноте.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
25.11.2009, 22:52
Посмотри, как это сделано в FreeCraft (сейчас оно называется Wargus) http://wargus.sourceforge.net/
Вот тут исходники. Смотри каталог scripts, далее, например, каталог orc

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
local GruntStill = UnitStill
local GruntMove = {"unbreakable begin","frame 0", "move 3", "wait 2", "frame 5", "move 3", "wait 1",
    "frame 5", "move 3", "wait 2", "frame 10", "move 2", "wait 1",
    "frame 10", "move 3", "wait 1", "frame 0", "move 2", "wait 1",
    "frame 0", "move 3", "wait 2", "frame 15", "move 3", "wait 1",
    "frame 15", "move 3", "wait 2", "frame 20", "move 2", "wait 1",
    "frame 20", "move 3", "wait 1", "frame 0", "move 2", "unbreakable end", "wait 1",}
local GruntDeath = {"unbreakable begin", "frame 45", "wait 3", "frame 50", "wait 3", "frame 55", "wait 100",
    "frame 55", "unbreakable end", "wait 1",}
 
DefineAnimations("animations-grunt", {
  Still = GruntStill,
  Move = GruntMove,
  Attack = {"unbreakable begin", "frame 25", "wait 3", "frame 30", "wait 3", "frame 35", "wait 3",
    "frame 40", "attack", "sound grunt-attack", "wait 5", "frame 0", "wait 10",
    "frame 0", "unbreakable end", "wait 1",},
  Death = GruntDeath,
})
Если осилишь этот язык описания (lua) - дальше будет жить проще
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
26.11.2009, 09:05
Та луа прикрутить к билдеру достаточно просто. Качаешь с официального сайта, компилируешь(можно даже и без этого), lib файлы преобразовуешь в билдеровский формат(COFF2OMF.exe), а потом просто используешь.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
27.11.2009, 00:41  [ТС]
Отака, можешь объяснить по подробнее. Опиши всё, что надо сделать, чтоб Lua 5.1 заработал в C++ Builder, очень прошу.

Облазил сегодня весь гугл, и ничего дельного по теме с билдером не нашёл, так что думаю это информацию будет интересна не только мне.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
27.11.2009, 10:17
Хорошо. На выходных постараюсь написать. Создам отдельную тему в которой все распишу.
1
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
27.11.2009, 21:39
Смотри сюда:https://www.cyberforum.ru/cpp-... 68085.html
2
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
28.11.2009, 10:46
Цитата Сообщение от KTYJIX Посмотреть сообщение
Так народ доделал скролинг, кто хочет может посмотреть
Цитата Сообщение от Evg Посмотреть сообщение
Без каталога GFX программа, мягко говоря, встала раком
Так ты выложишь рабочую версию или как?
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
28.11.2009, 18:16  [ТС]
Прости Evg, не понял суть того сообщения (:
Вот нормальная версия:
Вложения
Тип файла: rar Svalker_25_11.rar (404.8 Кб, 70 просмотров)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
28.11.2009, 18:31
Работает, только наблюдается несимметричность. К левому и верхнему краю подходит вплотную, а к нижнему и правому - нет. Видимо где-то на -1 ошибся (или "<" вместо "<=")

Кстати, тебе пора исходники под svn держать. А то такое имя архива наводит на мысль, что у тебя их уже целая куча
0
18 / 18 / 1
Регистрация: 24.09.2009
Сообщений: 98
30.11.2009, 18:51

Вот есть код чтения данных из файла через FILE
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
#include "stdio.h"
 
AnsiString ReadConfigs(AnsiString filename)
{
char t1[256];
char t2[256];
AnsiString s1,s2;
int i1,i2,i3;
if(!FileExists(filename)) return "0";
 
FILE* file=fopen(filename.c_str(),"r");
 
//-----Initial-----------------
fscanf(file,"%s",&t1);
s1=t1;
if(s1!="init") return "0";
ZeroMemory(&t1,sizeof(t1));
s1="";
 
//-----Count of parametrs------
fscanf(file,"%s %s",&t1,&t2);
s1=t1;
if(s1=="count_of_parametrs") i1=StrToInt(t2);
else return "0";
ZeroMemory(&t1,sizeof(t1));
ZeroMemory(&t2,sizeof(t2));
s1="";
 
for(int i=0;i<i1;i++)
{
fscanf(file,"%s %s",&t1,&t2);
s1=t1;
if(s1=="Width") i2=StrToInt(t2);
if(s1=="Height") i3=StrToInt(t2);
ZeroMemory(&t1,sizeof(t1));
ZeroMemory(&t2,sizeof(t2));
s1="";
}
 
i1=0;
 
//-----Count of includes-------
fscanf(file,"%s %s",&t1,&t2);
s1=t1;
if(s1=="count_of_includes") i1=StrToInt(t2);
else return "0";
ZeroMemory(&t1,sizeof(t1));
ZeroMemory(&t2,sizeof(t2));
s1="";
 
for(int i=0;i<i1;i++)
{
fscanf(file,"%s %s",&t1,&t2);
s1=t1;
if(s1=="include_"+IntToStr(i+1))
{
s2+=t2;
if(i!=i1-1) s2+=" ";
}
ZeroMemory(&t1,sizeof(t1));
ZeroMemory(&t2,sizeof(t2));
s1="";
}
 
//-----End---------------------
fscanf(file,"%s",&t1);
s1=t1;
if(s1!="end") return "0";
ZeroMemory(&t1,sizeof(t1));
s1="";
 
fclose(file);
delete file;
 
delete t1;
delete t2;
 
return IntToStr(i2)+" "+IntToStr(i3)+" "+s2;
}
Функция возвращает 4 значения в AnsiString, в таком виде: 1024 640 data/configs/moduls.txt data/configs/textures.h
Мне надо разбить эти 4 значения, чтоб получилось вот так:
C++
1
2
3
4
int Width=1024;
int Height=640;
AnsiString="data/configs/moduls.txt";
AnsiString="data/configs/textures.txt";
Добавлено через 12 минут
Нашёл решение, но через Memo1->Lines->DelimetedText; а хотелось бы как-нибудь обойтись без него.
0
18 / 18 / 1
Регистрация: 24.09.2009
Сообщений: 98
08.12.2009, 20:43
Люди добрые, помогите, у меня редактор при тестах(своих), сжирает ооочень много памяти, где то 250мб. Ссылка на редактор в шапке. Заранее спасибо.
Вложения
Тип файла: rar new_edit (2).rar (342.9 Кб, 15 просмотров)
0
18 / 18 / 1
Регистрация: 24.09.2009
Сообщений: 98
08.12.2009, 20:47
Упс... Редактор с небольшой ошибочкой. Вот новый.
Вложения
Тип файла: rar new_edit (2).rar (342.9 Кб, 21 просмотров)
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
13.12.2009, 18:44  [ТС]
Вопрос по поводу Unicode, господа знатоки.
Ситуация такая, надо вывести русский текст через Canvas.
Для этого делаем так:

C++
1
2
3
4
5
6
7
String text = "Фыва";
SetBkMode(Back->Canvas->Handle,TRANSPARENT);
Back->Canvas->Font->Name = "Fixedsys";
Back->Canvas->Font->Size = 10;
Back->Canvas->Font->Charset = UNICODE_CHARSET;
Back->Canvas->Font->Color = clWhite;
Back->Canvas->TextOut(0, 0, text);
Запускаем, билдер начинает ругаться на то, что нет никакого UNICODE_CHARSET, тогда вопрос, как же мне русские буквы водить?

Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2009, 18:44

Создание игры
Здравствуйте форумчане, мой вопрос состоит в том. Я молодой парень, который знает языки C++, C# и т.д. Ести небольшой интерес к созданию...

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

Создание игры
Посмотрел как сейчас на коленке люди клепают инди игры под андроид\иос e.t.c. Созрел вопрос - куда двинуть, что использовать чтобы написать...

Создание игры на C++
Скажите , а можно ли создавать игры на С++? Если да , то буду рад увидеть примеры как это все реализовать и где можно. Возможно это С++...

Создание 3д игры
Извиняюсь, если такая тема уже была, не нашел. Хочу написать свою игрушку. Игрушка по типу что то gta sa. Но со своим смыслом и тп. Я готов...


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

Или воспользуйтесь поиском по форуму:
320
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru