АвторСообщение
noname
постоянный участник




Сообщение: 2
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 19.03.08 14:05. Заголовок: живой игровой мир


это особое направление для УРК-работ:

пусть все NPC живут своей жизнью, а не ждут ГГ. я подготовил пример, где они могут ходить по всем доступным локациям или не ходить (всего 4-ре персонажа, номер персонажа, которым будет управлять игрок задан в переменной 'игрок')

Спасибо: 0 
Профиль
Ответов - 136 , стр: 1 2 3 4 5 6 7 All [только новые]


qqq



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.08.08 22:28. Заголовок: по-моему я мог и не ..


по-моему я мог и не указать своего мыла при регистрации,
вот мой ящик: ya2500@yandex.ru
более старый (когда я был qwerty) - уже утерян
вышеупомянутый- был когда я был noname.

помница, Корв чё-то высылал на мой ящик и может подтвердить,
что это действительно ящик noname.
ну, может и ещё кто-нибудь.

ПРОСЬБА К АДМИНАМ заключается в следующем:
прошу выслать на ya2500@yandex.ru пароль noname.
а если можно, то
и пароль noname с тяп-ляпа.

если кто переписывался со мной через этот ящик,
то он может в этой теме подтвердить, что это действительно
ящик noname. помница я с этого ящика слал свою оценку
каких-то игр на каком-то конкурсе.

Спасибо: 0 
qqq



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 28.08.08 21:45. Заголовок: помница Корв в теме ..


помница Корв в теме "Akurka (продолжение)" интересовался алгоритмом лабиринта.

:инициализация
invkill
perkill
xmax=15 ; кол-во локаций по горизонтали
xxmax=xmax*2+1
ymax=5 ; кол-во локаций по вертикали
yymax=ymax*2+1
goto предварительное_заполнение
end

:предварительное_заполнение
ycount=1
:yloop_метка_2
xcount=1
:xloop_метка_2
;
world_#xcount$_#ycount$= 2 ; 2 - стена
world_#xcount+1$_#ycount$= 2 ; 1 - пусто
world_#xcount$_#ycount+1$= 2
world_#xcount+1$_#ycount+1$= 0 ; - недообработанная локация
;
if xcount<xxmax then xcount=xcount+2 & goto xloop_метка_2
if ycount<yymax then ycount=ycount+2 & goto yloop_метка_2
goto генерация
end

:генерация
; создаём список активных точек
x_point_1= rnd#xmax$
y_point_1= rnd#ymax$
num_points=1
; выбираем активную точку из списка
cur_point=rnd#num_points$
; выбираем направление сзюв
direction= rnd4
; пытаемся двигаться туда
if direction = 1 then dx=0 & dy = -1
if direction = 2 then dx=-1 & dy = 0
if direction = 3 then dx=0 & dy = 1
if direction = 4 then dx=1 & dy = 0

..........................................................................


end

:отображение
ycount=yymax
:yloop_метка_1
pln
xcount=1
:xloop_метка_1
p #world_#xcount$_#ycount$$
if xcount<xxmax then xcount=xcount+1 & goto xloop_метка_1
if ycount>1 then ycount=ycount-1 & goto yloop_метка_1
pln
end

вот такой кусок проги я пока вымучил- после дельфей на урке непривычно его делать.
варианты реализации могут сильно различаться, но суть алгоритма в следующем:

Спасибо: 0 
noname
постоянный участник




Сообщение: 144
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 21:49. Заголовок: о! пришли свежие раз..


о! пришли свежие разведданые,
пароль теперь известен, а qqq разоблачён и забыт.

так о чём это я? ах, да! алгоритм:

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 145
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:10. Заголовок: 1. генерим шаблон ла..


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

2. создаём список 'активных точек' из одной(пока), выбранной наугад точки. впрочем, без этого тоже можно обойтись, если делать через рекурсии- алгоритм тогда получился бы вообще короткий и простой, но на урке я боюсь (возможно, необоснованно) переполнения буфера в случае большого лабиринта.

3. выбираем наугад одну из 'активных точек' по списку.

4. если рост (потом объясню) из этой точки невозможен- убираем точку из списка. она больше не активна. если нет больше активных точек- ЛАБИРИНТ ГОТОВ. КОНЕЦ. если есть- читай п3
(тут надо учесть внешние границы и/или предельное кол-во локаций - можно заполнять лабиринтом прямоугольный полигон, либо делать бесформенный лабиринт с заранее заданным кол-вом локаций, в хорошем лабиринте хорошо бы объединять эти подходы + различать различные сектора- но об этом в след раз)

5. выбираем наугад одно из возможных направлений роста, (на урке я хотел сделать хуже и проще: генерим наугад направление, если можно туда расти- растём, иначе выбираем след направление- если все 4-ре напр невозможны- читай п4. ) и "растим" лабиринт туда. что это значит?: расти в некотором направлении = пробить стену в этом направлении, что бы попасть в НЕОБРАБОТАННУЮ локацию. после чего соотв стена помечается, как пустое поле, а необраб поле помечается, как пустое поле тоже, но при этом его координаты добавляются в список активных точек.

<продолжение следует>

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 146
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:13. Заголовок: мозги ещё не опухли?..


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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 147
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:24. Заголовок: 6. иди к п3 КОНЕЦ АЛ..


6. иди к п3
КОНЕЦ АЛГОРИТМА.

как оно работает? репортаж с места событий:

вот замечательный наш шаблон 'в клеточку' подсветила активная точка.
пробита стена, и соседняя точка(локация) тоже стала активной.
потом- ещё и ещё.
из каждой активной локации пробиваются стены и идёт расширение лабиринта
на ещё неосвоенные локации (ВАЖНО: только на неосвоенные!!!).
локации, из которых невозможно пробиться к ещё необработанной точке- 'тухнут'
(перестают быть активными).
в итоге получаем наш шаблон в изгрызенном виде, причём изгрызен он так,
что из любой локации, принадлежащей лабиринту, теоретически можно приблуждать в любую другую. есть тупики и развилки, но нет закольцовок.
(хотите закольцовок- пробейте наугад любую внутреннюю стену! а лучше: найдите сначала такую стену, кратчайший путь м/ду локациями, разделёнными которой, будет максимальным- и пробейте её. ну или ещё как-нибудь извратитесь).

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

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 148
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 28.08.08 22:35. Заголовок: кста, тут минут пять..


кста, тут минут пять назад Nex в соседней теме упомянул войну платформ,
а войны могут быть выгодным делом:

интересно, на какой платформе (qsp или urq) раньше будет реализован генератор лабиринтов?
( правда мне он всё равно не нужен, ну может кому другому пригодится )

Спасибо: 0 
Профиль
Хломидоманад
постоянный участник




Сообщение: 215
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 29.08.08 00:15. Заголовок: noname пишет: интер..


noname пишет:

 цитата:
интересно, на какой платформе (qsp или urq) раньше будет реализован генератор лабиринтов?
( правда мне он всё равно не нужен, ну может кому другому пригодится )


Two hours' work. Написал бы хоть сейчас, но нет даже этого времени. Так что кому пригодится, тот и напишет)

Спасибо: 0 
Профиль
staticZ



Сообщение: 4
Зарегистрирован: 14.08.08
ссылка на сообщение  Отправлено: 29.08.08 01:18. Заголовок: На QSP их было уже м..


На QSP их было уже много.

Спасибо: 0 
Профиль
СантиМЭТР



Сообщение: 2
Зарегистрирован: 10.08.08
ссылка на сообщение  Отправлено: 29.08.08 07:20. Заголовок: Мне пригодится!


Спасибо, Безымянный!:) в сути алгоритма пока не разобрался, но уже знаю, куда его приспособить с толком.

Спасибо: 0 
Профиль
Nex



Сообщение: 96
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 29.08.08 07:25. Заголовок: noname генератор лаб..


noname генератор лабиринтов был сделан на QSP очень давно, а первой игрой, где он используется, стал рогалик "Серафим".

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 150
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.08.08 18:30. Заголовок: Nex а я придумал это..


Nex а я придумал этот алгоритм в 10-м классе
33-17=16 лет назад.
вот!

а как насчёт лабиринта с дверьми и ключами к ним?

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 151
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.08.08 19:10. Заголовок: Nex пишет: noname г..


Nex пишет:

 цитата:
noname генератор лабиринтов был сделан на QSP очень давно, а первой игрой, где он используется, стал рогалик "Серафим".


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

так что вопрос реализации алгоритма на куспе или урке остаётся открытым.
p.s.
а алгоритм из Серафима стоит изучить- для широты кругозора.
+ наверняка есть и другие способы простой генерации лабиринтов.
p.p.s.
у qsp-шников отличный архив файлов с описаниями и комментариями!
а урка, видать перестала развиваться давным давно,
и только её изначальная красота кое-как поддерживает её ещё на плаву.
(так же меня до сих пор восхищает задумка Синклера,
но пользуюсь я таки IBM-кой...)
p.p.p.s.
долгой жизни урке!

Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 154
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 29.08.08 22:30. Заголовок: для тех, кто не спит..


для тех, кто не спит:
1. в этой теме чуть выше был описан алгоритм генерации лабиринтов
2. только что скачал из upload-а свою же заготовку,
для которой этот лабиринт мог бы понадобиться.
пока там вместо лабиринта просто несколько стен наугад расставляются.
Uploaded succefully: http://urq.allquests.ru/upload/monst000.qst [10.13 Kb]

суть игры:
---главгерой отстреливает монстров в лабиринте 15х70, который постоянно целиком отображается на экране вместе с расположением 99 монстров.
---безобидные монстры обладают примитивным интеллектом, ходят, огибают препятствия, отдыхают восстанавливая силы (m- ослабленный монстр, M- более здоровый монстр).
---главгерой(смайлик) стреляет, ходит, перезаряжает по одному патрону свой восьмизарядный винчестер, а так же вынужден иногда отдыхать. ослабленных монстров убивает с одного выстрела, более сильных- как повезёт.

игра довольно примитивна, но НЕ шифрована и её код может быть интересен для изучения.

Спасибо: 0 
Профиль
Chicago1920
неизвестный человек




Сообщение: 144
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 30.08.08 07:21. Заголовок: noname спасибо тебе ..


noname спасибо тебе за все! Продолжай в том же духе!! Не пропадай!!!

А что насчет тебя? Ты бы смог убить животное? Человеческое животное... Спасибо: 1 
Профиль
noname
постоянный участник




Сообщение: 162
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 31.08.08 22:37. Заголовок: Takemikazuti твоя сс..


Takemikazuti твоя ссылка не работает

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 181
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.09.08 20:10. Заголовок: следующий пост будет..


следующий пост будет длинным.
ничего не могу поделать- нашёл нового автора: Пётр Бормор.

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 182
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.09.08 20:11. Заголовок: Недобрый сказочник (..


Недобрый сказочник (bormor)
@ 2008-11-15 23:44:00

Трое героев сидели на пригорке, восстанавливая силы после боя. Могучий воин с двуручным топором, тоненькая эльфийка, увешанная амулетами, и рейнджер с висящим за спиной луком.
-Хорошооо!- воин зажмурился на солнышко и потянулся.- Задание выполнили, трофеев набрали. И мне до следующего уровня совсем чуть-чуть осталось.
-А я уже перешла!- похвасталась эльфийка. Она как-раз подсчитывала что-то, чертя палочкой по земле.- Как думаешь, какой мне лучше взять неоружейный навык? Езду верхом или плавание?
-А ты еще не умеешь плавать?- удивился воин.
-Здесь - не умею,- отрезала эльфийка.
-Тогда учись,- посоветовал воин.- Ходить пешком не смертельно, а вот тонуть...
-Ясно,- кивнула эльфийка и снова углубилась в подсчеты.
Воин откинулся на спину и скосил глаза на рейнджера. Тот сидел, обхватив колени и уткнувшись в них лбом.
-О чем задумался?
Рейнджер поднял голову, посмотрел на воина и неопределенно пожал плечами.
-Ничего, ничего, привыкай,- хмыкнул воин.- Поначалу всем трудно, особенно когда в рукопашную. Я, помнится, после своего первого боя вообще ревмя ревел. И после второго, и после третьего. А потом ничего, привык.
-Я убил человека,- прошептал рейнджер.
-Ты убил бандита!- отрезал воин.- Не бери в голову. Гоблин, оборотень, бандит, кентавр - какая разница? Непись она и есть непись.
Рейнджер всхлипнул и отвернулся.
-Я... знаю. Но он... так... на меня посмотрел...
-Ага,- хохотнул воин,- графика здесь на высоте.
-Нет, ты не понимаешь! Он так посмотрел...
-Смотреть они умеют,- не оборачиваясь, сердито заметила эльфийка.- Натурализм, чтоб его... Я у себя в настройках отключила, а то ведь невозможно же! Нервирует. И по ночам потом всякая ерунда снится.
-Не обращай внимания,- посоветовал воин.- В конце концов, это ведь всего лищь игра.
-Игра...- прошептал рейнджер.
-Раньше было лучше,- пожаловалась эльфийка.- Может, не так правдоподобно, зато надежнее, что ли. Порядок был.
-Угу,- подтвердил воин.- А на прошлой неделе, представляешь, беру задание - уничтожить одну банду. Прихожу на место, а банда - тю-тю! Никого нет, все разбежались. Ну, я-то их выследил, конечно, а толку?.. Один устроился в городе помощником кузнеца, двое ушли в монахи, еще один занялся сельским хозяйством... И трогать их запрещено, мэр взял на поруки. Ненавижу, когда квест остается невыполненным! Кого-то, конечно, все-равно достал потом, втихую, но всех разве переловишь? Расползлись, как тараканы.
-Да, с боевками сейчас туго,- согласилась эльфийка.-Монстры поумнели. Я, конечно, понимаю, интеллект интеллектом, но надо же хоть какие-то рамки задавать! Чтобы далеко не уходили, чтобы дрались, а не ловили рыбу... Слышал, кстати, тролли себе целый рыбачий поселок отгрохали? Тролли, прикинь! Обнесли частоколом, поставили башни, выходить не хотят. А мне для эпического посоха нужен глаз нефритового тролля, где я его теперь возьму?
-Ну, если собрать побольше народу, можно попробовать,- задумчиво протянул воин.- Хотя...
-Игра...-рейнджер тихо и невесело рассмеялся.- Всего лишь игра!
-Ну да,- воин бросил на рейнджера недоуменный взгляд.- Игра, конечно.
-Вот ты переживаешь за убитых бандитов,- встряла эльфийка.- А где их трупы? Нету! А на кинжал посмотри, есть следы крови? Тоже нет! Потому что и бандитов никаких не было, это же просто программа.
-Не надо воспринимать игру слишком серьезно,- наставительно поднял палец воин.- Она, конечно, очень похожа на жизнь, специально такой сделана, но по большому счету...
-...это всего лишь игра,- закончил рейнджер.
-Умница,- кивнул воин.- И, кстати, твои бандиты никуда не денутся. Вот уйдем мы с локации, а они опять тут как тут. Должна же игра как-то поддерживать популяцию, а то и правда скоро ни одного монстра не останется.
-Это будут новые? Или те же самые?
-Ну ты и вопросы задаешь!- засмеялся воин.- Ты еще спроси, верю ли я в наличие души у неписей!
-А ты веришь?
-Да её и у людей-то нет,- отмахнулся воин.
-Он атеист,- пояснила эльфийка.- А души у неписей действительно нет.
-Ясно,- тихо произнес рейнджер и снова уткнулся лбом в колени.
-Они только похожи на людей. И ведут себя как люди. Но это потому, что их так запрограмировали. Ты можешь подумать, что непись и правда испытывает боль, или радость, или страх, но всё это одна только видимость, за ней ничего нет. Только единички и ноли, да кое-какой алгоритм. Вот и всё.
-Ага,- подтвердил воин и встал на ноги.- Ну, я уже всё здоровье восстановил. Пойду, пожалуй, у меня в реале сейчас пол-двеннадцатого ночи.
-Спать будешь?- спросила эльфийка.
-Нет, к экзаменам готовиться.
-Я тоже скоро пойду, чуть попозже. У нас еще только восемь с половной, время детское.
-Ты из Питера, что ли?
-Нет, из Хайфы. А ты откуда? Эй, я к тебе обращаюсь! Уснул, что ли?
-А?- рейнджер поднял голову.- Я? Я из Бродервилля... то есть, я хотел сказать...
Договорить он не успел. Свистнул в воздухе двуручный топор, рейнджер коротко вскрикнул, а затем его рассеченное надвое тело замерцало и исчезло. На траве остались только лук, кинжал, да пригоршня монет.
-Ну зачем ты так?- укоризненно произнесла эльфийка.
-Аах, хорошооо!- Воин блаженно потянулся.- Вот и поднялся на уровень... Ты что-то сказала?
-Да нет, ничего особенного. Жалко парнишку. Совсем как настоящий был.
-Брось, нашла о ком жалеть. Он мне сразу не понравился, вялый какой-то. Ты вещи будешь брать?
-Кинжал возьму. А лук мне не нужен.
-Ну тогда лук мне будет, в городе продам. Только не сейчас, а завтра. Мне еще социологию учить.
-Ни пуха ни пера!
-К черту.

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
noname
постоянный участник




Сообщение: 193
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 14.10.08 19:03. Заголовок: Nex пишет: noname г..


Nex пишет:

 цитата:
noname генератор лабиринтов был сделан на QSP очень давно, а первой игрой, где он используется, стал рогалик "Серафим".


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

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

сейчас пишу квест на куспели. она мне начинает нравиться
(хотя и досурка нравится не меньше)
НО подобные сообщения напоминают мне,
что раскрутка куспели- это, в том числе, раскрутка
"гнилой" идеологии.

а мне хочется уюта и штоп было хорошо и не было плохо.
вот.

в "холме фей" тоже лабиринт сделан не по локациям,
а заполняется в массиве, и написан он раньше Серафима,
но причём тут генератор?

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

просто сядь и напиши квест на URQ Спасибо: 0 
Профиль
Nex



Сообщение: 115
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 14.10.08 21:01. Заголовок: noname я всегда имею..


noname я всегда имею в виду то, что пишу.
То, что кто-то иногда понимает меня неправильно, не делает меня неправым или обманщиком.

Приведи хоть один пример, где я соврал. Факты в студию.

Спасибо: 0 
Профиль
Ответов - 136 , стр: 1 2 3 4 5 6 7 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 3
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет