PDA

Просмотр полной версии : Конкурс игр на бейсике



Страницы : [1] 2

baxter
15.03.2014, 01:53
ZX Basic Game Compo

Конкурс игр на zx бейсике объявляю открытым.
Я определился наконец то с правилами. Отдаю предпочтение чистому бейсику без пользовательских кодовых вставок. Всё таки жанр который выберет один участник требует набор процедур отличный от жанра другого участника. А собирать библиотеку процедур которая устроит всех..., короче, тогда уж на асме писать.
Работы должны быть сданы до нового 2015го года. Будет время отладить свои игры, а может написать ещё одну-две:). Тем более на носу легендарный конкурс 'Твоя Игра 5'. Результаты будут объявлены через месяц.

1е место - ZX Spectrum +3;
2е место - ZX Spectrum +2;
3е место - ZX Spectrum 48+.

Правила:
- игра должна бить написана на встроенном ZX бейсике 48(1982)/128(1986);
- не разрешается использование вызовов ассемблерного кода, за исключением подпрограмм ПЗУ;
- использование памяти ограничено стандартными 128к;
- ограничений по жанру нет.

Группа в Вконтакте - vk.com/zxbgc (http://vk.com/zxbgc)

Почтовый ящик - darth_baxter@mail.ru

Rindex
15.03.2014, 02:05
Собственно поэтому сделал опрос: нужен ли конкурс игр на бейсике?

Нет! Если хочешь, можешь участвовать в буржуйском конкурсе CSSCGC 2014 - http://www.mykeweb.co.uk/csscgc2014/

Там таких игр полно. У нас игры надо делать как на Retro Games Battle 2014 или вообще не делать.

psb
15.03.2014, 03:19
У нас игры надо делать как на Retro Games Battle 2014 или вообще не делать.
то-то ты не делаешь;)
не надо людям запрещать ТВОРИТЬ!!! вспомни ААА-пати первое, тоже было мнение, что не надо делать отстойных дем, тем не менее, там был успех, всем понравилось!

null_device
15.03.2014, 03:24
нужен ли конкурс игр на бейсике?

Почему бы и нет.

Rindex
15.03.2014, 03:31
не надо людям запрещать ТВОРИТЬ!!! вспомни ААА-пати первое, тоже было мнение, что не надо делать отстойных дем, тем не менее, там был успех, всем понравилось!

Ты хоть одну можешь назвать, вот так сразу, не заглядывая на сайт ААА, чтобы найти список тех дем. Я не могу. Я их просто не помню. А тут предлагается конкурс игр. Ну и кому он нужен будет, кроме самих авторов? Я же сказал, вон буржуйский конкурс есть. 99.9% игр - просто шляпа. Но там и выбор большой, они их почти каждый день новые клепают.

А так делайте, никто ведь не запрещает. Но я в такое играть точно не буду.

psb
15.03.2014, 05:59
Ты хоть одну можешь назвать, вот так сразу, не заглядывая на сайт ААА
могу, но причем тут это? никому не интересно, помнишь ли их ты. или я. зато я помню ту атмосферу! было прикольно, а значит оно точно стоит того.

Reobne
15.03.2014, 06:44
Я так понимаю, что на чистом бейсике, без вставок машинного кода, без компиляции. Чисто на встроенном интерпретаторе.
Правильно я понял условия конкурса?

denpopov
15.03.2014, 07:03
Пора вспоминать UDG-графику..

baxter
15.03.2014, 08:38
Я так понимаю, что на чистом бейсике, без вставок машинного кода, без компиляции. Чисто на встроенном интерпретаторе.
Правильно я понял условия конкурса?
Конкурса ещё нет, так что правила обсуждаемы. Но, думаю да, на чистом бейсике.

AAA
15.03.2014, 08:58
нет не нужен

null_device
15.03.2014, 08:59
Конкурса ещё нет, так что правила обсуждаемы. Но, думаю да, на чистом бейсике.

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

Я так понимаю, что на чистом бейсике, без вставок машинного кода, без компиляции. Чисто на встроенном интерпретаторе.

denpopov
15.03.2014, 09:21
нет не нужен
что, не нужны даже демки на бейсике?

baxter
15.03.2014, 09:26
Зато относительно легко реализуется мой любимый жанр - пошаговая стратегия. Можно как вариант использовать загружаемые расширения бейсика, лазер басик, например.

null_device
15.03.2014, 09:44
Можно как вариант использовать загружаемые расширения бейсика, лазер басик, например.

Насколько, мне не изменяет склероз - он "не дружит" со 128 бейсиком. И занимает кучу памяти. Это один из основных недостатков диалектов бейсика.
Сюда же, можно отнести использование PRO-DOS. А там и до (NEW)Supercode с компилляторами не далеко.

Reobne
15.03.2014, 09:46
Конкурса ещё нет, так что правила обсуждаемы.

и кстати игрушку на нём (бейсике) несколько лет пилю
Вот надо такие правила, чтобы эта игрушка не пропала, но и не померкла на фоне других. :)

Например, запретить USR, POKE, неизвестные читерские приёмы приводящие к выполнению своего ассемблерного кода, работу с внешним носителем.
Или POKE разрешить, но только в экран, выше CLEAR, и в системную переменную, отвечающую за UDG графику.
Или POKE разрешить везде, но только чтобы не приводила к выполнению левого ассемблерного кода.

AAA
15.03.2014, 09:51
что, не нужны даже демки на бейсике?

Сколько раз ты возвращался к просмотру тех уже сделанных дем на бейсике?
Правильно - ни разу. Это просто потеря времени. Надо делать красивый продукт, с графикой, музыкой и эффектами. А не заниматься идиотизмом.

И ваабще все эти бесконечные пати, начиная с провального нелегетимного радикального дихальта винтер уже порядком надоели. Толку от таких мероприятий нуль.
Радости зрителям никакой. Обсуждение обсуждения и обсуждения ААА. Если приглядется то все пати обсуждают три человека:

низложенный гоблин
Краш нахир
ААА

Остальные смотрят и молча жуют капустку.

Обсуждение ЛВД на дихальте заняло главную часть пати.

Недавно было позороно провальное мероприятие Какоса никакоса. Что туда не писали свой бейсик? Парень просил прислать хоть что то....



Нет сил смотреть на то как загибается росская демо сцена и певращается в сплошной Хоой программ. Мы скатились до уровня форевера и Алкоголь пати. В таких условиях ААА пришлось углубится в хардварную составляющую и занятся коллекционированием и изучением возможностей других платформ.

Пазор всем!

Reobne
15.03.2014, 09:57
Пазор всем!
Повторные просмотры не нужны.
Обсуждение ради обсуждения не нужно.
Боязнь позора не нужна.
Боязнь провала не нужна.

Нужно делать новое и/или смотреть новое, в этот момент получать удовольствие.
Больше нового!

AAA
15.03.2014, 10:00
Нужно делать новое и/или смотреть новое, в этот момент получать удовольствие.
Больше нового!
сядь и делай. Кто же не дает? Пати то зачем нужно. Сделал, выложил в форум, обсудим. А пати к чему? Зачем искусствено высасывать из пальца, то чего нет.

denpopov
15.03.2014, 10:13
Сколько раз ты возвращался к просмотру тех уже сделанных дем на бейсике?

ну не знаю.... у ХПрг есть crapmo похожая на написанную бейсике. Чисто поржать.


Мы скатились до уровня форевера и Алкоголь пати
Ты сам тому способствовал, про АААпати - ни слова, даже вопросы здесь возникали.
НГ гифт скинул оргам дихальта, бросил денежки и забыл. В итоге было два НГ гифта, которые смешали с демокомпо.

нашел один проект игры в архивах, Гоблин когда-то пробовал вернуть игрушку. Если бейсик осилю, то дождусь конкурса.

---------- Post added at 10:11 ---------- Previous post was at 10:10 ----------


Повторные просмотры не нужны.
Почему же? хороший пример тому, на что не стоило бы равняться.

---------- Post added at 10:12 ---------- Previous post was at 10:11 ----------


Надо делать красивый продукт, с графикой, музыкой и эффектами.
Хорошо, с графикой ты поможешь, к тебе уже обращались. А с музыкой что? Бегать по музакерам просить разрешения на использование чиптюна?

---------- Post added at 10:13 ---------- Previous post was at 10:12 ----------


неизвестные читерские приёмы приводящие к выполнению своего ассемблерного кода
Ну это край ваще, нс ждет второе CSS CGC:v2_dizzy_facepalm:

goodboy
15.03.2014, 10:16
Например, запретить USR, POKE, неизвестные читерские приёмы приводящие к выполнению своего ассемблерного кода

замучаешься анализировать программы присланные на конкурс.
(например поставишь BreakPoint на отслеживание запуска кода в ram,
а программа будет напрямую обращаться к процедурам из rom)

baxter
15.03.2014, 10:19
ААА, собственно поэтому опрос. Конкурс - это всегда озарт соревнования, попытка сделать лучше, порвать шаблон.

Kakos_nonos
15.03.2014, 10:21
Я за. Может даже поучавствую.

AAA
15.03.2014, 10:24
ААА, собственно поэтому опрос. Конкурс - это всегда озарт соревнования, попытка сделать лучше, порвать шаблон.

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

baxter
15.03.2014, 10:29
Лёха, спасибо:)

Reobne
15.03.2014, 10:45
замучаешься анализировать программы присланные на конкурс.
(например поставишь BreakPoint на отслеживание запуска кода в ram,
а программа будет напрямую обращаться к процедурам из rom)
Это как с допингом в спорте, только проще. В спорте допинг в крови могут найти только "иксперты". А тут любой понимающий бейсик может найти нарушение и объявить.
Важно официально запретить, а анализировать работы это второй вопрос.

---------- Post added at 12:45 ---------- Previous post was at 12:42 ----------


сядь и делай. Кто же не дает? Пати то зачем нужно. Сделал, выложил в форум, обсудим. А пати к чему? Зачем искусствено высасывать из пальца, то чего нет.
Это игра. Жёсткие рамки. Мне интересно что получится и кто что сможет сделать.

baxter
15.03.2014, 10:49
Вот именно, преследуется соревновательный интерес.

Eltaron
15.03.2014, 11:10
Например, запретить USR, POKE, неизвестные читерские приёмы приводящие к выполнению своего ассемблерного кода, работу с внешним носителем.
А как без своего ассемблерного кода клаву опрашивать? Не через INKEY$ же.

Reobne
15.03.2014, 11:12
Не через INKEY$ же.
Не нравитя INKEY, есть INPUT. :)

Eltaron
15.03.2014, 11:13
Не нравитя INKEY, есть INPUT. :)
Конкурс текстовых адвентюр? :)

null_device
15.03.2014, 11:17
А как без своего ассемблерного кода клаву опрашивать?

Есть команда чтения из порта (клавиатурного, в том числе) и системная переменная LAST_K в которой лежит "код" последней нажатой клавиши.

Alex Rider
15.03.2014, 11:21
Я за конкурс, может, даже поучаствую. Мое мнение про ограничения: надо запретить только разработку ассемблерного кода для самой игры. В этому случае можно использовать тучу тулов и ассемблерного кода, зарелиженных до конкурса, а именно:

Laser-, Beta-, Mega- и прочие бэйсики;
[New]SuperCode и аналогичные либы;
тулы, не требующие программирования, но генерящие выходной код, например, мой SpriteGrabber;
специально разработанные и утвержденные оргами для конкурса пакеты подпрограмм (например, проигрывание фоновой AY-музыки из 128-й страницы, загрузка музыки в GS, печать хитрых символов через PRINT#, поддержка расширенных экранов клонов и так далее).


Это позволит сделать зрелищную BASIC-игру, использующую возможности железа, недоступные из обычного BASIC'а. При этом вся логика игры останется на BASIC, автор игры не напишет ни одной строчки кода на асме, обеспечится равенство участников и игры будут ни разу не унылыми.

denpopov
15.03.2014, 11:32
и системная переменная LAST_K в которой лежит "код" последней нажатой клавиши.
а как Cursor Joystick будет выглядеть, если нажаты влево-вверх или влево-огонь?

null_device
15.03.2014, 11:34
denpopov, в случае отслеживания нажатия сразу нескольких клавиш, поможет только чтение из порта(ов). LAST_K - не более чем, аналог команды CODE INKEY$.

Eltaron
15.03.2014, 11:36
Есть команда чтения из порта (клавиатурного, в том числе) и системная переменная LAST_K в которой лежит "код" последней нажатой клавиши.
LAST_K с KSTATE такой же "невариант" как и INKEY$ (два одновременных нажатия как?), а дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго - арифметического AND нет, вычитание зовёт калькулятор и насилует пятибайтный формат.

Если выдать всем участникам пару стандартных процедур - опрос клавы и вывод спрайта, игры станут в 10 раз быстрей. Спрайты, скажем, из инфоркомовской "Динамической графики" - вполне себе олдскул, и из бейсика пользоваться просто.

denpopov
15.03.2014, 11:49
LAST_K с KSTATE такой же "невариант" как и INKEY$ (два одновременных нажатия как?), а дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго - арифметического AND нет, вычитание зовёт калькулятор и насилует пятибайтный формат.

ой ли? я на Атари делал аналог, выйдет тормозно.

null_device
15.03.2014, 11:50
дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго

Можно, но опять же не быстро и не просто. Именно поэтому я писал, про невозможность написания динамических игры на "чистом" бейсике.

Alex Rider
15.03.2014, 11:51
а дербанить значения из порта на отдельные биты на бейсике дико неудобно и долго - арифметического AND нет, вычитание зовёт калькулятор и насилует пятибайтный формат.
Для Kempston- и Sinaclair-джойстиков из порта читается 32 возможных значения - что мешает сделать массив с номерами строк для перехода по каждому возможному значению? А, если выкинуть опрос "огня", который, как правило, обрабатывается отдельно, получится 16 значений всего.

alone
15.03.2014, 11:57
Ты забыл про три старших бита, которые надо откинуть по MOD (которого в спектрумовском бейсике нет).
LET i=IN ...:LET i=i-(32*INT (i/32))

null_device
15.03.2014, 12:07
На бейсике "раскидывание" на биты, однобайтового десятичного значения, можно организовать в виде подпрограммы (строки 2 и 30 служат для ввода и вывода значения):


2 INPUT n
...
8 DIM b(8)
10 IF n>127 THEN LET n=n-128: LET b(8)=1
12 IF n>63 THEN LET n=n-64: LET b(7)=1
14 IF n>31 THEN LET n=n-32: LET b(6)=1
16 IF n>15 THEN LET n=n-16: LET b(5)=1
15 IF n>7 THEN LET n=n-8: LET b(4)=1
20 IF n>3 THEN LET n=n-4: LET b(3)=1
22 IF n>1 THEN LET n=n-2: LET b(2)=1
24 LET b(1)=n
...
30 FOR i =1 TO 8: PRINT AТ 0, i; b(i): NEXT i

Можно организовать программу несколько иначе (отказаться от массива). Данный вариант показывает общий принцип, что это можно реализовать довольно коротко и просто. ;)
----
В отличии от "циклопической" программы из книжки: "Как написать игру..."


10 DIM J(5)
20 LET JOY=IN 31
30 FOR N=1 TO 5
40 LET JOY=J0Y/2
50 LET J(N)=(JOY<>INT JOY): LET JOY=INT JOY
60 NEXT N
70 PRINT AT 0,0;
80 FOR N=5 TO 1 STEP -1
90 PRINT J(N);
100 NEXT N
110 GO TO 20

Reobne
15.03.2014, 12:07
Прикладываю образец ввода с клавиатуры и кемпстон мыши в бейсике.
Смотреть LIST, запустить RUN. :)

Глубоко надеюсь, что старшие разряды не будут скакать на вашем эмуляторе. :)

AAA
15.03.2014, 12:08
ААА, собственно поэтому опрос. Конкурс - это всегда озарт соревнования, попытка сделать лучше, порвать шаблон.

Человек. у тебя в подписи есть компьютер CPC, расскажи о нем, сними видео как он работает. Он у тебя с флешки? А демы ты на нем смотерл? А где купить? А сколько стоит? Я бы с флешкой хотел....

Alex Rider
15.03.2014, 12:11
Ты забыл про три старших бита,
Я про них не забывал, просто решил, что опытные чтецы из портов итак про это знают. В любом случае, откидывание 3 старших битов вместе с чтением из массива в разы быстрее, чем раздербанивание битов по одному.

Eltaron
15.03.2014, 12:13
Коротко и просто. ;)
Не так и просто, тут на сравнениях и вычитаниях идёт работа с пятибайтными числами через калькулятор. Ассемблерный вариант будет раз в 100 быстрее.

Alex Rider
15.03.2014, 12:15
Коротко и просто.
Но медленно. Для динамичной игры критично. Кстати, во всяких Laser- и Beta-Basic'ах эта проблема, как и куча другиз, решени, за что их рантайм можно и потерпеть в памяти. Умели бы они еще и графику из страничек тянуть...

Reobne
15.03.2014, 12:15
Не так и просто, тут на сравнениях и вычитаниях идёт работа с пятибайтными числами через калькулятор. Ассемблерный вариант будет раз в 100 быстрее.
Зачем бег с препятствиями, ведь без препятствий быстрее?

Alex Rider
15.03.2014, 12:16
Не так и просто, тут на сравнениях и вычитаниях идёт работа с пятибайтными числами через калькулятор. Ассемблерный вариант будет раз в 100 быстрее.

Ассемблерный вариант будет раз в 100 быстрее из-за отсутствия интерпретации. А числа - да, пятибайтные, но арифметика в этом случае будет такая же, как на ассемблере, ибо числа целые.

Бука
15.03.2014, 12:21
Прикладываю образец ввода с клавиатуры и кемпстон мыши в бейсике.

Запустил Unreal и EightyOne.

На первом 255, на втором 191 без нажатия. С нажатием 254, 190 и 187. О_о

И по экрану рандомные пиксели и там, там...:confused_std:

Reobne
15.03.2014, 12:28
Запустил Unreal и EightyOne.

На первом 255, на втором 191 без нажатия. С нажатием 254, 190 и 187. О_о

И по экрану рандомные пиксели и там, там...
Всё верно. С клавиатурных портов берём младшие 5 бит. Пиксель не рандомен, а согласно движению мышки.

null_device
15.03.2014, 12:30
Ассемблерный вариант будет раз в 100 быстрее.
Если чуть-чуть "допилить" программу, чтобы ее "понимал" компилятор - тоже будет быстрее. Но, в данном случае, речь не об этом.


Для динамичной игры критично.
Динамичная игра на "голом" бейсике - это, что-то новое! :D

---------- Post added at 16:30 ---------- Previous post was at 16:29 ----------


На первом 255, на втором 191 без нажатия.

Бит состояния порта магнитофонного входа... ;)

Бука
15.03.2014, 12:34
Динамичная игра на "голом" бейсике - это, что-то новое! :D


Смотря какая. Помню, как по этой http://www.worldofspectrum.org/infoseekid.cgi?id=0005244 прогить учился 21 год назад. ;) Писал потом клон "Питона" с ПК8000, еще кучу всякой фигни. ;)

Конечно "метал мэн" не выйдет, но емнип испанцы год назад выкатывали вполне годную барсик-игру.:smile:

baxter
15.03.2014, 12:34
Человек. у тебя в подписи есть компьютер CPC, расскажи о нем, сними видео как он работает. Он у тебя с флешки? А демы ты на нем смотерл? А где купить? А сколько стоит? Я бы с флешкой хотел....
Да, машинка супер! Хочу прикупить контролёр мыши+сд. Демки пока на дискеты пишу. Дема бетмен, зараза, не работает, вроде пзушку заменить надо.

null_device
15.03.2014, 12:42
испанцы год назад выкатывали вполне годную барсик-игру

Можно ссылку?


Писал потом клон "Питона" с ПК8000, еще кучу всякой фигни.

Многие проходили через написание "пионерских" программок. Сам таким занимался. ;)

Бука
15.03.2014, 12:55
Можно ссылку?


Да где-то тут и видел. http://www.worldofspectrum.org/infoseekid.cgi?id=0027226 - точно на Zx Basic, но не она.

В той герои были 4*4 емнип знакоместом.

Hacker VBI
15.03.2014, 13:05
Я ни за ни против.
Пописать - интересно, а играть будет, скорее всего, нет.
А обрезать возможности компилирование игр не стоит, лучше к готовой компо-версии прикладывать исходник для просмотра, да и всё.

baxter
15.03.2014, 13:09
Интересно, а существуют компиляторы которые понимают rand 15619:rem:... ?

trefi
15.03.2014, 13:12
Да где-то тут и видел. http://www.worldofspectrum.org/infoseekid.cgi?id=0027226 - точно на Zx Basic, но не она.

В той герои были 4*4 емнип знакоместом.

Souls ? http://zx.pk.ru/showthread.php?t=21411

null_device
15.03.2014, 13:18
а существуют компиляторы которые понимают rand 15619:rem:... ?

Загрузка чего-либо через BDI? Мне такие неизвестны.
Что мешает изначально писать в виде отдельных модулей - когда необходимо, сделать выход из компиллированного кода в бейсик, перейти на строку с загрузкой кодового блока, и повторно вызвать скомпилированную программу (а в самой программе предусмотреть пропуска ненужных модулей)? Посмотрите, как я это сделал в игре Червы (http://zx.pk.ru/showpost.php?p=426515&postcount=12).

ZX_NOVOSIB
15.03.2014, 13:21
Не совсем понимаю, для чего опрос? Конкурс либо делать (но тогда никакой опрос не нужен), либо не делать (тогда тоже опрос не нужен).

Но раз уж сделали опрос, то я не понимаю проголосовавших "Нет, не нужен". Если бы с вас насильно, принудительно требовали деньги, или принуждали писать на бэйсике, и вы бы голосовали "Нет, не нужен", то тогда я бы понял. Но так как с вас не требуют деньги и не принуждают писать, то в чем смысл голосовать "Нет, не нужен"? Честно, не пойму :) Толи я такой дурак непонятливый, толи проголосовавшие "Нет, не нужен", третьего варианта нет :)

Бука
15.03.2014, 13:22
Souls ? http://zx.pk.ru/showthread.php?t=21411

Оно.:wink:

AAA
15.03.2014, 13:23
Да, машинка супер! Хочу прикупить контролёр мыши+сд. Демки пока на дискеты пишу. Дема бетмен, зараза, не работает, вроде пзушку заменить надо.

Понил, я видел к ней флешку с проводом. Буду искать тогда готовое все сразу, мож себе на днюху куплю. хотя и так у меня вот так )))
https://www.youtube.com/watch?v=pDnwwoba414&list=UU0srkpn9eZfqrickI_O16Sw

baxter
15.03.2014, 13:35
когда необходимо, сделать выход из компиллированного кода в бейсик, перейти на строку с загрузкой кодового блока, и повторно вызвать скомпилированную программу
Кстати, в МеталМане пдгрузка уровней делается из бейсика:)

---------- Post added at 13:35 ---------- Previous post was at 13:30 ----------

ZX_NOVOSIB, опрос сделан для выяснения нужно ли это хоть кому то. Нет смысла организовывать конкурс, если он интересен только оргу.

ZX_NOVOSIB
15.03.2014, 13:45
опрос сделан для выяснения нужно ли это хоть кому то. Нет смысла организовывать конкурс, если он интересен только оргу.
Если орг и спонсор - это одно лицо, тогда этому лицу должно быть абсолютно пофигу, интересен ли конкурс хоть кому-то ещё. Вполне достаточно, что это интересно самому лицу, а участники и зрители автоматически подтянутся :)

То есть, если взять и организовать конкурс, то это автоматически вызовет интерес, и вариант "он интересен только оргу" попросту становится невозможен.

Вариант "он интересен только оргу" гипотетически возможен. Но! Только до той поры, пока конкурс не объявлен, а призовой фонд не назначен. Как только конкурс объявлен, вариант "он интересен только оргу" сразу, автоматичски исчезает.

Reobne
15.03.2014, 14:18
нужно ли это хоть кому то
Если рамки будут достаточно узкими, то готов и поучаствовать.
А если с лазер-бейсиком или с компиляцией или со вставками в машинных кодах, тогда я только зритель.

goodboy
15.03.2014, 14:23
Что мешает изначально писать в виде отдельных модулей - когда необходимо, сделать выход из компиллированного кода в бейсик, перейти на строку с загрузкой кодового блока, и повторно вызвать скомпилированную программу (а в самой программе предусмотреть пропуска ненужных модулей)?
ещё многие забывают про рамдиск в 128ом бейсике.
вот скомпилированная с бейсика игрушка+РамДиск
http://www.worldofspectrum.org/infoseekid.cgi?id=0018540

Бука
15.03.2014, 14:27
ещё многие забывают про рамдиск в 128ом бейсике.
http://www.worldofspectrum.org/infoseekid.cgi?id=0018540

В рамдиске хорошо заставки держать, массивы. Load! "map" screen$ работает за полсекунды. :wink:

Но вот писать в 128к режиме - ужос нах. Лучше уж в 48м или в BASINe. :biggrin:

alone
15.03.2014, 14:28
Не на всех спектрумах, даже 128К и выше, прошит 128 бейсик. Его часто заменяли на глюксервис или какой-нибудь командер.

gobuka
15.03.2014, 14:42
Не на всех спектрумах, даже 128К и выше, прошит 128 бейсик. Его часто заменяли на глюксервис или какой-нибудь командер.
Благодаря чему глючит и не запускается некоторая часть софта.

alone
15.03.2014, 14:48
Небольшая часть. Некоторые из таких софтов лечатся POKE 23388,16.

goodboy
15.03.2014, 15:12
Некоторые из таких софтов лечатся POKE 23388,16.
а некоторые (перехватывающие процедуру на im1) вообще не работают

wl[illusion]
15.03.2014, 17:21
Слушайте, были же хорошие игры на Бейсике, я вот в своё время очень зарубался в Диктатора и ещё какие-то похожие на него.

SaNchez
15.03.2014, 17:26
;689259']Слушайте, были же хорошие игры на Бейсике, я вот в своё время очень зарубался в Диктатора и ещё какие-то похожие на него.

Да тот-же Souls, для меня так вообще лучшая игра 2013:v2_dizzy_heart: Но специально ограничиваться бейсиком... Я так вообще zx-basic не знаю:D

denpopov
15.03.2014, 17:27
;689259]я вот в своё время очень зарубался в Диктатора
ну акцент на простые игрушки заглох..видимо из-за разговора демок

Rindex
15.03.2014, 17:28
;689259]Слушайте, были же хорошие игры на Бейсике, я вот в своё время очень зарубался в Диктатора и ещё какие-то похожие на него.

Если ты сейчас сделаешь Диктатор 2, в него тоже играть никто не будет. Сейчас, как сказал ААА, надо брать графикой. От себя добавлю, что ещё и музыкой с эффектами и атмосферой игры, т.е. продуманным сюжетом. Всё это не совместимо с играми на бейсике.

denpopov
15.03.2014, 17:30
Если ты сейчас сделаешь Диктатор 2, в него тоже играть никто не будет.
напиши и придумай "Майдан!"

SaNchez
15.03.2014, 17:35
напиши и придумай "Майдан!"

Вот и правила конкурса:D

Rindex
15.03.2014, 17:38
напиши и придумай "Майдан!"

Это типа а-ля УФО2, только ещё более развёрнутая, с элементами игры из Диктатора? Вы в роли, ну допустим, "вежливых людей", "Беркута", национального отряда обороны юго-восточных регионов Украины, российского отряда десанта, или ещё кого, выступаете против упырей с майдана в лице "правого сектора" и остальных бандеровцев. Задача: освободить всю страну от этой нечести. Чтобы это сделать, надо не только использовать военную силу, а ещё и экономически им перекрыть денежные потоки из других стран, недружественных вам.

Вот вам наброски сценария для игры. А вы говорите, что политика не расползётся в другие разделы форума. ;)

SaNchez
15.03.2014, 17:42
Это типа а-ля УФО2

Ну ты это сильно:D Текстовая адвентюра - уже хорошо!

baxter
15.03.2014, 17:50
Дополнил первый пост.

alone
15.03.2014, 18:01
а некоторые (перехватывающие процедуру на im1) вообще не работают
Это какие, например?

Rindex
15.03.2014, 18:03
Ну ты это сильно

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


Текстовая адвентюра - уже хорошо!

Кому она нужна без графики? Убери из ЗН всю графику с музыкой, и сделай там графику на бейсике линиями, и в неё никто бы и не играл никогда, кроме автора и его друзей.

SaNchez
15.03.2014, 18:07
Кому она нужна без графики? Убери из ЗН всю графику с музыкой, и сделай там графику на бейсике линиями, и в неё никто бы и не играл никогда, кроме автора и его друзей.

Ну почему, если на злобу дня, да еще остроумно... А вот в ЗН не играл, каюсь, не зацепило.

Rindex
15.03.2014, 18:17
Ну почему, если на злобу дня, да еще остроумно...

На злобу дня уже есть игра - Theatre Europe (http://www.worldofspectrum.org/infoseekid.cgi?id=0005224). Поиграй, очень познавательно. Только не забудь активировать ядерные ракеты (там есть такая опция) словом MIDNIGHT SUN. А то, когда НАТО уже почти загонишь в Атлантический океан, или у них войск почти не останется, то они сразу ракеты запускают.


А вот в ЗН не играл, каюсь, не зацепило.

Зря. Для того времени это был супер-хит. Да и сейчас по уровню загадок она уделывает многие игры "на раз". Жаль продолжение так и не вышло (на РС не в счёт, там шляпа какая-то получилась).

Хорошист
15.03.2014, 19:13
[b .

Бука
15.03.2014, 19:44
На злобу дня уже есть игра - Theatre Europe (http://www.worldofspectrum.org/infoseekid.cgi?id=0005224). Поиграй, очень познавательно. Только не забудь активировать ядерные ракеты (там есть такая опция) словом MIDNIGHT SUN. А то, когда НАТО уже почти загонишь в Атлантический океан, или у них войск почти не останется, то они сразу ракеты запускают.

Оч. хорошая игра. Только там есть хитрый алгоритм победы над амерами: из всего сброда там две амерских армии (очень крутых, очень). За их уничтожение комп обижается и сжигает ядреной бомбой два города Советского Блока. Но вот если их вовремя вынести, то потом всяких бельгийцев=франков-итальянцев выносить легко и просто. Т.к. американцев уже нет, то за их унижение в ближке комп не обижается, и все ядренбатоны не пуляет.

В результате на емнип 15 день в европе нет ни одной дивизии нато, а армии ВД стоят возле Парижа. Это на высшем уровне сложности, могу снапов выложить. :wink:

Rindex
15.03.2014, 20:30
Rindex, и чё не спим ? Пошли в скайп .

Завсегда. :)

baxter
15.03.2014, 21:09
С правилами все согласны? Какие установить сроки?

Бука
15.03.2014, 21:16
С правилами все согласны? Какие установить сроки?

Т.к. летом будет не до игр, то до конца мая. Или уж до НГ. :wink:

Поправка: до конца июня.

denpopov
15.03.2014, 21:28
Поправка: до конца июня.
заодно и график демопатей не забудьте.

null_device
15.03.2014, 21:32
С правилами все согласны?

- не разрешается использование вызовов ассемблерного кода;

Т.е. никакого компиллятора, проигрывателей музыки и расширений стандартного бейсика (ProDos, NEWSupercode, Laser basic)? :(

---------- Post added at 01:32 ---------- Previous post was at 01:32 ----------


- ограничений по жанру нет.

Предыдущий пункт, все же накладывает сильные граничения на выбор жанра (Дыже быстро вывести картинку на экран, нельзя без кодовых процедур).

baxter
15.03.2014, 21:40
Т.е. никакого компиллятора, проигрывателей музыки и расширений стандартного бейсика

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

Бука
15.03.2014, 21:44
(Дыже быстро вывести картинку на экран, нельзя без кодовых процедур).

Я 10мес. назад "Хоббита" и "Холмса" тщательно прошел. И меня совсем не напрягало то, что картинка там рисуется секундами (машкодом).

Хотя может быть есть смысл разрешить LDIR экрана (или кусков) из буфера.
Т.к. чисто технически не запрещено делать это же командами рамдиска. (по третям вообще элементарно). Хотя мне это особо не нужно. ;)

null_device
15.03.2014, 21:48
Лучше тогда сделать несколько групп:

1. Игра на бесике. Без применения расширений и вызовов ассемберного кода.
2. То же самое, но использований коротких процедур ассемберного кода (NEW Supercode, распаковщики, плейеры и т.п.). С условием написания основы "движка" на бейсике.
3. То же самое, но с использованием расширений стандартного бейсика (Mega\Beta\Laser BASIC...).
4. То же самое, но с использованием компиллятора, с приложением исходников (Laser Basic Compiller, TOBOS, MCoder).

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

Alex Rider
16.03.2014, 13:10
Лучше тогда сделать несколько групп:
Имеется в виду несколько конкурсов? Не уверен, что наберется столько игр.

1. Игра на бесике. Без применения расширений и вызовов ассемберного кода.
ИМХО, такие игры будут весьма унылы - без нормальной графики, музыки...


2. То же самое, но использований коротких процедур ассемберного кода (NEW Supercode, распаковщики, плейеры и т.п.). С условием написания основы "движка" на бейсике.
Вот это уже разумно вполне. Если еще перед конкурсом (или сразу после его начала) опросить авторов на предмет машкодовых модулей, нужных им для создания красивых эффектов, и реализовать их силами жюри/сочуствующих, будет вообще здорово. Разумеется, модули общего назначения типа плееров, опросчиков клавы/мыши, скроллов и т.п.

3. То же самое, но с использованием расширений стандартного бейсика (Mega\Beta\Laser BASIC...).
На самом деле, это примерно то же, что и предыдущий пункт. Laser - это набор машкодовых подпрограмм, со слегки измененным синтаксисом их вызова. Beta- и Mega-Basic - да, дают заметное преимущество в плане простоты разработки и скорости выполнения, но сильно ограничивают объем программы. Не вижу сильного смысла отделять игры на них от игр с регалментированным набором машкодовых вызовов.

4. То же самое, но с использованием компиллятора, с приложением исходников (Laser Basic Compiller, TOBOS, MCoder).
Предлагаю запретить компиляцию. Ибо некомпилированные игры не смогут составить конкуренцию компилированным из-за колоссальной разницы в скорости.
PS После конкурса можно же выпустить компилированный релиз?

Reobne
16.03.2014, 13:30
Мне кажется музыку можно и потом добавить, если игра будет того достойна.
А без музыки проще работать жюри. Оценивать именно программистость.
Да и некоторым конкурсантом проще не чувствовать себя ущемлёнными будет. Тем у которых с музыкой напряжёнка. То есть более равные условия.

Alex Rider
16.03.2014, 13:46
Да и некоторым конкурсантом проще не чувствовать себя ущемлёнными будет. Тем у которых с музыкой напряжёнка. То есть более равные условия.
Музыки, говорят, навалом. На текущем игроконкурсе проблем с музыкой не было. А впечатление от игры с музыкой и без сильно разные. И потом, есть еще проблема с качественной графикой. Графику тоже предлагаете отменить из-за сложностей с ее доставанием? Кстати, с графикой на бэйсике все еще интереснее - найдется ли художник, который вместо scr-файла отдаст в игру кусок программы из PLOT, DRAW и CIRCLE?

baxter
16.03.2014, 13:48
Вот это уже разумно вполне. Если еще перед конкурсом (или сразу после его начала) опросить авторов на предмет машкодовых модулей, нужных им для создания красивых эффектов, и реализовать их силами жюри/сочуствующих, будет вообще здорово. Разумеется, модули общего назначения типа плееров, опросчиков клавы/мыши, скроллов и т.п.
Ну что ж, давайте определимся с набором машкодовых подпрограмм. Что на это скажут другие потенциальные участники?

Reobne
16.03.2014, 13:52
Лучше оценивать замысел, кодинг, играбельность. Без музыкальных впечатлений.

---------- Post added at 15:52 ---------- Previous post was at 15:48 ----------


Ну что ж, давайте определимся с набором машкодовых подпрограмм. Что на это скажут другие потенциальные участники?
Если для всех будет один набор, то это справедливо. Только он не должен быть узко специализированным. И должен быть хорошо документирован.

Бука
16.03.2014, 14:14
1) Процедура опрос клавиатуры или джойстиков, одинаковая всем.

Использование например let inkey = USR addr
У меня в сканах журналов такая где-то была, но еще не проверял.

2) Звуки/музыка - не стоит. Будем BEEPать и PLAYить! :rolleyes_std:

3) Копирование экрана из памяти и обратно LDIRом. Аналогичный сервис дает Бейсик-128. Заставку мгновенно выводить.

Все вроде. Если больше - то это уже будет не ZX-BASIC.

---------- Post added at 14:14 ---------- Previous post was at 14:01 ----------

А, вспомнилось еще: в Бейсике ZX81 была команда SCROLL, сдвигющая экран вверх на знакоместо. На Спектруме её убрали, но вызов по USR 3582 остался. Его постоянно использовали в куче бейсик-игр 80х. :wink:

Так что может быть добавить еще скролл экрана по знакоместам?

Reobne
16.03.2014, 14:18
Так можно продолжать долго. :)
Вывод спрайта.
Преобразование текстовой строки в список индексов найденных в словаре, для текстовых адвентюр.
Рисование 3D обьекта... :)

denpopov
16.03.2014, 14:21
Рисование 3D обьекта...
и Elite-пошаговая стратегия:)

Бука
16.03.2014, 14:24
Так можно продолжать долго. :)
Вывод спрайта.
Преобразование текстовой строки в список индексов найденных в словаре, для текстовых адвентюр.
Рисование 3D обьекта... :)

Ага. :wink:

Открыл сейчас Step-By-StepProgrammingZXSpectrumAndZXSpectrum (4 тома, на WOSе есть) - глаза разбежались.

Столько приятных процедурок с вызовом из Барсика через DEF FN(аргументв куча) = USR addr, что аж глаза разбегаются. :cool_std:

Но надо остановится. За минимум предлагаю принять опрос управления, т.к. через INKEY$ наискосок управлять нереально.

jerri
16.03.2014, 15:43
Бука, опрашивай порты

IF IN(65278) AND 1 THEN ...

null_device
16.03.2014, 16:07
Предлагаю запретить компиляцию. Ибо некомпилированные игры не смогут составить конкуренцию компилированным из-за колоссальной разницы в скорости.
PS После конкурса можно же выпустить компилированный релиз?

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

Alex Rider
16.03.2014, 18:16
IF IN(65278) AND 1 THEN ...
В Basic'е AND логический, а не арифматический.

Ну что ж, давайте определимся с набором машкодовых подпрограмм.
Мое мнение очень простое. Можно использовать любой скомпилированный в данный момент код. То есть, при разработке игры на BASIC'е запроещено разрабатывать любой код на ассемблере и/или использовать чужой код, зраелиженный после старта конкурса, за исключением специально заказанного участниками и разработанного кода (типа, сделаем быстреноко пакет NewSuperCode2014).

let inkey = USR addr
И чего ты этим добьешься? Чем это отличается от let i = IN addr?
По поводу машкода для опроса надо думать. Первая пришедшая идея - сделать DEF FN S(A$) = USR addr, возвращать из опросника факт нажатия/ненажатия, а в переменную с именем в первой буквы VAL$ A$ класть строку с полным списокм нажатых клавиш.

---------- Post added at 18:13 ---------- Previous post was at 18:08 ----------

А еще более кправильный вариант придумали разработчики Спектрум-BASIC'а, точнее BIOS. LET A$=INKEY$#<номер потока>. А поток открывается кодом при старте программы.

---------- Post added at 18:16 ---------- Previous post was at 18:13 ----------


Можно использовать любой скомпилированный в данный момент код.
Тихо сам с собою... Не подумал, что такое правило позволяет надрать любого кода из игр, систем и других уже придуманных программ. С другой стороны, хочется разрешить всякие SuperCode, распаковщики, скомпилированные музыки, в общем, любых сушествующих библиотек и кода, который генерят тулы (кроме компиляторов).

baxter
16.03.2014, 18:17
То есть, при разработке игры на BASIC'е запроещено разрабатывать любой код на ассемблере и/или использовать чужой код, зраелиженный после старта конкурса, за исключением специально заказанного участниками и разработанного кода
Вот. Какие процедуры включим в набор разрешённых?

Alex Rider
16.03.2014, 18:23
Нужен обзор того, чего есть на эту тему... Я кроме [New]SuperCode и распаковщиков не знаю что еще есть готового. Ну да, SpriteGrabber еще есть мой :) Неплохо бы еще определиться со списком нужного "заказного" кода специально для конкурса. Для этого предлагается конкурс начать, зарегистрировать участников, спросить что им надо, принять решение о домустимости надобного и пообещать разарботать "заказной" код за месяц-два, к примеру. Олсо остался нерешенным вопрос с использованием хитробэйсиков.

baxter
16.03.2014, 19:08
Использование расширений бейсика, думаю, не будет разрешено. Необходимые процедуры: музплеер, выводилка спрайтов, опрос клавы/джоя/мыши. Остольное можно сделать посредством zx басика, имхо.
Призовой фонд - 5 тыс деревянных (надеюсь будет больше) и фирменный +2. Так что конкурсу быть.

---------- Post added at 19:08 ---------- Previous post was at 18:57 ----------

Если предложений по необходимым процедурам не будет, нарою сам и положу сюда.

drbars
16.03.2014, 19:08
Следующий конкурс, игры на C ? :)

baxter
16.03.2014, 19:10
Следующий конкурс, игры на C ? :)
Да. Для ПЦ:)

denpopov
16.03.2014, 19:12
Следующий конкурс, игры на C ?
http://1.bp.blogspot.com/-bP6k59dMHBI/UnQmzKaljjI/AAAAAAAAZUA/3ZDsMcXw4d0/s400/grumpy-cat-8141_preview_zps9177ab07.png

Alex Rider
16.03.2014, 19:18
Необходимые процедуры: музплеер, выводилка спрайтов, опрос клавы/джоя/мыши.
Будут ограничения по памяти? Это я к тому, что серьезная BASIC-программа может занять все доступные 40+К, и места под музыку и графику не останется. Вот тогда-то и будет полезен набор процедур, которые и сами находятся в страницах, и данные для них находятся в страницах. Опять же, на 128к можно сделать MERGE! (если мержуемый кусок поместится до RAMTOP).

baxter
16.03.2014, 19:27
Будут ограничения по памяти?
Нет.

---------- Post added at 19:27 ---------- Previous post was at 19:21 ----------

Alex Rider, кинь ссылку с твоим грабером.

Alex Rider
16.03.2014, 20:11
Тут он (http://zx.pk.ru/showthread.php?t=17811)

---------- Post added at 20:04 ---------- Previous post was at 20:02 ----------


Нет.
То есть, можно загрузить бэйсиком кучу графики в метр Profi, переключать страницы OUT'ами и вызывать из них распаковщики картинок? ;)

---------- Post added at 20:11 ---------- Previous post was at 20:04 ----------

Вспомнился еще кошерный тул: В, кажется, 93-м сборнике ZX-Ревю был листинг проги ABS для создания адвентюр на BASIC'е. В нем есть машкодовая часть для перехода по локациям без тупняка. Предлагается к разрешению. Еще можно позволить машкодовые тулы для русификации (а-ля смена фонта "на лету") и для перехвата ошибок. Из всяких Инфоркомовских график тулы тоже есть неплохие, если сочтете перебором содание окошек/раочек, то хоть filler'ы позвольте, в Бэйсике вообще альтернатив нету.

baxter
16.03.2014, 20:17
Я с нетерпением жду поддержку хобетных файлов в эводос стандартного конфига Эволюшн. Грузить бейсик файлы с флешки, код/графику в любую часть 4м озу. Блин, это будет круто! Но это интересно только владельцам zxEvo. Так что ограничемся 128к.

Бука
16.03.2014, 20:18
Еще можно позволить машкодовые тулы для русификации (а-ля смена фонта "на лету")

Для этого вообще никаких тулов не надо - грузим фонты в ОЗУ и переключаем через POKE.

Alex Rider
16.03.2014, 20:30
Для этого вообще никаких тулов не надо - грузим фонты в ОЗУ и переключаем через POKE.
Да, согласен. Это надо при наборе программы, а для пользовательского ввода не подойдет.
Как вариант: пригодится ли машкод, создающий дополнительные потоки и позволяющий печатать всякие хитрости? Типа букв двойной вышины/ширины, других каких эффектов при выводе, букв из разных знакогенераторов/наборов UDG в одном операторе, из знакогенераторов, расположенных в страницах (для увеличения свободной памяти под программу)?

---------- Post added at 20:30 ---------- Previous post was at 20:24 ----------

Еще вопросы по допущениям. Стоит ли разрешить использование всякие тюнеров кода (типа, генераторы DATA 0,0,..., где в 5-байтном представлении лежат реальные числа)? Как насчет всяких SOS-2006, SOS от буржуев с фиксами ошибок и дополнительными плюшками?

Бука
16.03.2014, 20:41
Пример печати хитростей, машкода 0.00%.

Но будет работать лишь в режиме 48к без подключенного ZX-Printer(ну это малоактуально).

З.Ы. У меня на реальном "Пентагоне128" работало даже в 128к, в эмуле виснет.

З.З.Ы. Почему форум не грузит SNA/Z80?

goodboy
16.03.2014, 20:57
Пример печати хитростей
всего лишь вывод буфера принтера на экран

baxter
16.03.2014, 21:53
Еще вопросы по допущениям. Стоит ли разрешить использование всякие тюнеров кода (типа, генераторы DATA 0,0,..., где в 5-байтном представлении лежат реальные числа)? Как насчет всяких SOS-2006, SOS от буржуев с фиксами ошибок и дополнительными плюшками?
Это лишнее. Бейсик 82го, 86го в случае 128го.

Alex Rider, интересная тулза. Приложи краткое описание к граберу. Возьмём его в оборот.
Остаётся плеер и опрашивалка.

Alex Rider
16.03.2014, 21:55
Приложи краткое описание к граберу.
Вот ты интересный... Разработка грабера умерла на этапе создания хелпа :) Ладно, постараюсь в течение рабочей неделе переварить RoadMap в какой-никакой Help.

psb
16.03.2014, 22:18
Я с нетерпением жду поддержку хобетных файлов в эводос стандартного конфига Эволюшн.
а зачем нужны хобеты-то для этого?? просто обычные файлы.

baxter
16.03.2014, 22:28
Вся соль в том, что бы грузить стандартные файлы прямо с фатов, не используя костыли типа образов диска.

psb
17.03.2014, 02:31
дык хобета и есть костыль! образ хоть и не диска, но файла на диске, с лишней инфой. желание чтения простых файлов - это-то понятно.

DenisGrachev
17.03.2014, 08:13
Делайте уже на стандартном Басике с УДГ через DATA. Так будет ТРУ!
UPD: запустил, написал пару строчек на Басике, аж слеза пробила :) Может вам какую пену подкину, для массовки :)

denpopov
17.03.2014, 08:32
Может вам какую пену подкину, для массовки
не проснулся до конца и прочитал "дему":)

DenisGrachev
17.03.2014, 08:45
не проснулся до конца и прочитал "дему
Ну, когда - нибудь и "дему", чем чёрт не шутит, тока не на Басике ;)

drbars
17.03.2014, 08:58
Впомнил игру на басике в которую давно рубался http://www.worldofspectrum.org/infoseekid.cgi?id=0005140

Andrew771
17.03.2014, 09:44
Делайте уже на стандартном Басике с УДГ через DATA. Так будет ТРУ!
Да, лучше только этим ограничиться. Иначе программа будет состоять из одних RANDOMIZE USR и машкода - формально подходит под Бейсик :)

null_device
17.03.2014, 09:57
Знаю, загоняю в жесткие рамки, но думаю так интересней будет обходить ограниченность зх бейсика.

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

Eltaron
17.03.2014, 10:05
Вот как выглядит движок на одном бейсике. Тут нет ничего, только опрос клавы (QAOP) через INKEY$ и вывод 4 символов через PRINT. Скорость отсутствет, чтобы перегнать спрайт в правый край нужно зажать кнопку вправо секунд на 5. Можно чуть оптимизировать стирание (старая и новая области всегда перекрываются), но значительного выигрыша это не даст.
Вот уж действительно только пошаговые стратегии делать.

Andrew771
17.03.2014, 10:24
можно разрешить только процедуру вывода спрайтов, причем только одну утвержденную реализацию.

Reobne
17.03.2014, 10:32
можно разрешить только процедуру вывода спрайтов, причем только одну утвержденную реализацию.
Если разрешить в маш.коде вывод спрайтов - победит один участник, если разрешить вывод эллипса - другой, если 3D-box-а, то третий. Если музыку, то четвёртый. Так что конкурс нужно проводить так: сначала жюри определяет победителя, потом разрешаем то, что нужно ему, потом устанавливаем сроки, все пишут игры, и объявляется победитель. :)

jerri
17.03.2014, 10:32
Ну вы блин даете
учитесь как народ игры писал в 1985 году
На чистом басике. (http://www.worldofspectrum.org/infoseekid.cgi?id=0024323&loadpics=3)

goodboy
17.03.2014, 10:44
а мне в юности вот эта нравилась http://www.worldofspectrum.org/infoseekid.cgi?id=0005628

Бука
17.03.2014, 11:03
Без ножа режете. :(
пока не возникло ни одной мысли, что можно написать не выходя за текущие рамки.

Я наоборот полночи ворочался, идей в голову полезли. Да, Барсик медленный... но там много фич есть. :wink:
Вот только со временем хз как будет.

По выводу спрайтов/заливке - не стоит. А то еще чего-нить захочется сразу же. :cool_std:

---------- Post added at 11:03 ---------- Previous post was at 11:00 ----------


Вот как выглядит движок на одном бейсике. Тут нет ничего, только опрос клавы (QAOP) через INKEY$ и вывод 4 символов через PRINT. Скорость отсутствет,

...потому что сделано фигово. Я могу в пару раз быстрей сделать, но не скажу как. :wink:

null_device
17.03.2014, 11:23
Скорость отсутствет, чтобы перегнать спрайт в правый край нужно зажать кнопку вправо секунд на 5. Можно чуть оптимизировать стирание (старая и новая области всегда перекрываются), но значительного выигрыша это не даст.

Написано, в целом - не очень оптимально. Все "сьедают" операторы GO SUB , ненужные пересылки между переменными с длинными именами и логические операторы.
Не сильно выигрывая в скорости, можно написать это же кусок, намного проще.


учитесь как народ игры писал в 1985 году

Весьма неплохо, если делать скидку на бейсик. Хотя, для 85 года - не очень играбельно, в 82-83 еще может быть.

Бука
17.03.2014, 12:08
Не сильно выигрывая в скорости, можно написать это же кусок, намного проще.

Ладно, вот еще проще и шустрей:
:cool_std:

null_device
17.03.2014, 12:29
Бука, быстро и просто. Одно НО: при перемещениии, спрайт "моргает" как ненормальный.

Бука
17.03.2014, 12:40
[b]спрайт "моргает" как ненормальный.

Это потому, что он слишком быстро бегает. ;)

В игре такого мерцания уже не будет.ъ

З.Ы. А у тебя символы ABCD в G режиме или просто буквы? Если не использовать UDG то печатает лучше, кажись.:confused_std:

Eltaron
17.03.2014, 13:24
Мужики, погодьте, мы ж не выводилку одного спрайта пишем, а движок. В мой код без изменения структуры и логики легко всандаливается управляемый компьютером персонаж. Для того и подпрограммы, для того и "лишние" переменные.

Reobne
17.03.2014, 13:28
Вариант с большими массивами, но с выбором управления. :)

psb
17.03.2014, 13:29
Иначе программа будет состоять из одних RANDOMIZE USR и машкода
был вроде еще способ через def fn ... usr xxx :) так что randomize не круто и не обязательно:)

Splinter
17.03.2014, 14:14
USR это функция, которую можно прикрутить к любому оператору использующему числовые операнды. Например можно легко сделать BORDER USR XXXXX, или DIM A(USR XXXXX). Единственное, почему для вызова процедур в кодах используется RANDOMIZE - отсутствие влияния на выполняемую программу в бейсике, в то время, как все остальные операторы будут принимать за значение содержимое пары BC по выходу из процедуры. Если же выход из кодов не планируется, то можно вовсе намудрить что то вроде LIST USR или #OPEN USR.

Andrew771
17.03.2014, 15:02
Если разрешить в маш.коде вывод спрайтов - победит один участник, если разрешить вывод эллипса - другой, если 3D-box-а, то третий.
ну в играх на басике процедура вывода спрайтов намного больше нужна, чем всё остальное. Вряд ли на кругах и эллипсах игра будет прикольной :)
Так что можно, например, взять процедуру PTBL из книги "Как написать игру на ассемблере" и только ее разрешить использовать.

null_device
17.03.2014, 15:07
почему для вызова процедур в кодах используется RANDOMIZE - отсутствие влияния на выполняемую программу в бейсике

Черта лысого! Команда RANDOMIZE n задает начало последовательности для оператора RND. Что в некоторых случаях делает ее и без того "не совсем случайной".


Например можно легко сделать BORDER USR XXXXX

Если на выходе из кодовой процедуры в ВС будет "лежать" значение, которое не переваривает оператор - получим остановку с выводом сообщения об ошибке.

Если уж, так хочется, можно для этих целей использовать локальную переменную, значение, которой не критично на данном участке программы (к примеру, переменную "отработавшего" цикла): LET z= USR n

---------- Post added at 19:07 ---------- Previous post was at 19:04 ----------

Пойду писать игру на бесике... ;)

denpopov
17.03.2014, 15:15
LET z= USR n
или PRINT USR 0 ;)

null_device
17.03.2014, 15:19
или PRINT USR 0

PRINT USR n - "гадит" на экран. USR 0 - вообще приводит к одному, весьма интересному "документированному эффекту". :D

drbars
17.03.2014, 15:42
Предлагаю опрос клавиш повесить на прерывания, и из массива брать переменные состояния нажатий клавиш. Иначе перекрёстное нажатие клавиш не получится красиво реализовать.

#00 - клавиша нажата
#FF - клавиша не нажата.

Вот, держите процедурку:



ORG #8000

KEYS_ISR:
PUSH HL
PUSH DE
PUSH BC
PUSH AF
LD HL,KEY_MAP
LD DE,KEY_MAP+1
LD BC,40
LD (HL),L
LDIR
LD B,40
LD HL,KEY_MAP
LD DE,KEYTAB
SCANLP LD A,(DE)
IN A,(#FE)
INC DE
EX DE,HL
AND (HL)
EX DE,HL
INC DE
JR Z,$+4
LD (HL),#FF
INC HL
DJNZ SCANLP
POP AF
POP BC
POP DE
POP HL
EI
RET

KEYTAB DB #FD,1 ;#14
DB #7F,16 ;#23
DB #FE,8 ;#21
DB #FD,4 ;#16
DB #FB,4 ;#0C
DB #FD,8 ;#17
DB #FD,16 ;#18
DB #BF,16 ;#19
DB #DF,4 ;#11
DB #BF,8 ;#1A
DB #BF,4 ;#1B
DB #BF,2 ;#1C
DB #7F,4 ;#25
DB #7F,8 ;#24
DB #DF,2 ;#12
DB #DF,1 ;#13
DB #FB,1 ;#0A
DB #FB,8 ;#0D
DB #FD,2 ;#15
DB #FB,16 ;#0E
DB #DF,8 ;#10
DB #FE,16 ;#22
DB #FB,2 ;#0B
DB #FE,4 ;#20
DB #DF,16 ;#0F
DB #FE,2 ;#1F
DB #EF,1 ;#09
DB #F7,1 ;#00
DB #F7,2 ;#01
DB #F7,4 ;#02
DB #F7,8 ;#03
DB #F7,16 ;#04
DB #EF,16 ;#05
DB #EF,8 ;#06
DB #EF,4 ;#07
DB #EF,2 ;#08
DB #7F,1 ;#27
DB #BF,1 ;#1D
DB #FE,1 ;#1E
DB #7F,2 ;#26

ORG #8100
KEY_MAP:
DS 41,#00

KEY_A EQU KEY_MAP+#00
KEY_B EQU KEY_MAP+#01
KEY_C EQU KEY_MAP+#02
KEY_D EQU KEY_MAP+#03
KEY_E EQU KEY_MAP+#04
KEY_F EQU KEY_MAP+#05
KEY_G EQU KEY_MAP+#06
KEY_H EQU KEY_MAP+#07
KEY_I EQU KEY_MAP+#08
KEY_J EQU KEY_MAP+#09
KEY_K EQU KEY_MAP+#0A
KEY_L EQU KEY_MAP+#0B
KEY_M EQU KEY_MAP+#0C
KEY_N EQU KEY_MAP+#0D
KEY_O EQU KEY_MAP+#0E
KEY_P EQU KEY_MAP+#0F
KEY_Q EQU KEY_MAP+#10
KEY_R EQU KEY_MAP+#11
KEY_S EQU KEY_MAP+#12
KEY_T EQU KEY_MAP+#13
KEY_U EQU KEY_MAP+#14
KEY_V EQU KEY_MAP+#15
KEY_W EQU KEY_MAP+#16
KEY_X EQU KEY_MAP+#17
KEY_Y EQU KEY_MAP+#18
KEY_Z EQU KEY_MAP+#19

KEY_0 EQU KEY_MAP+#1A
KEY_1 EQU KEY_MAP+#1B
KEY_2 EQU KEY_MAP+#1C
KEY_3 EQU KEY_MAP+#1D
KEY_4 EQU KEY_MAP+#1E
KEY_5 EQU KEY_MAP+#1F
KEY_6 EQU KEY_MAP+#20
KEY_7 EQU KEY_MAP+#21
KEY_8 EQU KEY_MAP+#22
KEY_9 EQU KEY_MAP+#23

KEY_SPC EQU KEY_MAP+#24
KEY_ENT EQU KEY_MAP+#25

KEY_CS EQU KEY_MAP+#26
KEY_SS EQU KEY_MAP+#27

denpopov
17.03.2014, 15:43
PRINT USR n - "гадит" на экран.
ну это мало кому мешает, наверное. Но набирать быстрее.

Бука
17.03.2014, 15:46
Пойду писать игру на бесике... ;)

Написал за 5 минут, после обеда.

Юзает команду SCROLL(от ZX81) в виде USR 3582. (кривой скроллер из ПЗУ, потому атрибуты и мерцают).:rolleyes_std:

Splinter
17.03.2014, 16:20
Черта лысого! Команда RANDOMIZE n задает начало последовательности для оператора RND. Что в некоторых случаях делает ее и без того "не совсем случайной".


Верно-верно. Я хотел написать "видимое отсутствие влияния", но упустил в процессе набора.

Кстати, очень интересная получится фишка, если запутать ход выполнения через GOTO USR XXXXX, а в процедурах перед RET задавать в BC номер строки куда нужно перейти. Есть сложность только с вызовом процедуры из разных мест программы, но это тоже решается. :)

Бука
17.03.2014, 16:48
Очень интересная фишка задавать процедуры через DEF FN.

Вот смотрю в книжке пример - рисование треугольника машкодом. DEF FN t(x,y,p,q,r,s), весит 80 байт. Вызывается FN(x1,y,x2,y2,x3,y3) - где x y координаты трех точек.

З.Ы. Но все-таки конкурс на ZX-Basic, не на асемблер. ;)

Бука
17.03.2014, 20:00
Сваял карту. Да, "Герои М&М" на барсике не взлетят. :biggrin:

Скорость еще так себе, но вот как раскрашивать? :confused_std:
Все идеи медленноваты будут...

baxter
17.03.2014, 21:26
Бука, попробуй грабер Алекс Райдера. Интересно на сколько быстрее будет.

Бука
17.03.2014, 21:31
попробуй грабер Алекс Райдера.

Наверно я что-то пропустил. Это где?
Но тут дело не в граблении. Вопрос, как быстро цветовые атрибуты вывести.

Безумная идея - а если в массиве будут цветовые токены перед элементами пейзажа - взлетит?
Надо их вспомнить, лет двадцать не мучал. ;)

З.З.Ы. Немного оффтопа на тему ГероевМММ. Лет десять назад видел образ диска с кучей арта от НоММ2, сконверченного для ZX. Хз где, у себя не нашел, на VTRDOS тоже. Там даже не дема была - просто листалка картинок.

goodboy
17.03.2014, 21:35
Сваял карту. Да, "Герои М&М" на барсике не взлетят.

Скорость еще так себе, но вот как раскрашивать?
Все идеи медленноваты будут...

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

psb
17.03.2014, 21:38
Вызывается FN(x1,y,x2,y2,x3,y3) - где x y координаты трех точек.
вооот! а то принт, бордер, лет... спрайты выводить милое дело!

baxter
17.03.2014, 21:49
Наверно я что-то пропустил. Это где?
Но тут дело не в граблении. Вопрос, как быстро цветовые атрибуты вывести.

http://zx.pk.ru/showpost.php?p=689975&postcount=88
Спрайты в цвете выводятся.

Бука
17.03.2014, 21:54
скролл карты выглядит вполне прилично.

Да, раза в 4 шустрей. Но это компилятор (кстати какой? BASinовский я так и не вкурил). Будем иметь ввиду, но чем меньше кода на конкурсе, тем лучше.

Попробовал массив сделать с кодами цветности перед символом - печатает ? и пробелы. Пичалька... :frown:
И посимвольно выводить пытался, и строкой. Кажется это одна из известных ошибок ПЗУ. Цветовые коды нужны были для работы с телетекстом, а эту фичу так и не допилили. (планировался чисто текстовый режим 40*24).

---------- Post added at 21:54 ---------- Previous post was at 21:49 ----------


Спрайты в цвете выводятся.
Из машкода...:rolleyes_std:

Alex Rider
17.03.2014, 21:58
Бука, попробуй грабер Алекс Райдера.
А что им там выводить? Если он будет им выводить спрайты по одному, лучше не станет.

---------- Post added at 21:58 ---------- Previous post was at 21:56 ----------


Спрайты в цвете выводятся.
Без специальных ухищрений один цвет на спрайт. Либо одинаковые разноцветные спрайты хранить повторно, либо менять файл спрайтов с помошью хитрых POKE.

baxter
17.03.2014, 22:01
А что им там выводить? Если он будет им выводить спрайты по одному, лучше не станет.
Избавляемся от команды принт.

drbars
17.03.2014, 22:01
Ну зачем изобретать велосипед, есть Laser Basic... пользуйтесь на здоровье! Игру уровня Буратино — запросто!
Зачем к велосипеду приделывать костыли? :)

Бука
17.03.2014, 22:08
Ну зачем изобретать велосипед, есть Laser Basic...
Зачем к велосипеду приделывать костыли? :)

Именно. На Спеке Паскаль есть. И вроде даже С.:wink:

А тут смысл весь - на голом бейсике с мануалом "из коробки" чего хорошего сваять. Примерно как в детстве на реальной железяке! :v2_dizzy_vodka2:

drbars
17.03.2014, 23:11
Напоминает паралимпиаду =)

baxter
17.03.2014, 23:22
Смотрим первый пост.

Alex Rider
17.03.2014, 23:32
Добавил сюда (http://zx.pk.ru/showthread.php?t=17811) мануал по SpriteGraber.

wl[illusion]
17.03.2014, 23:45
Я пропустил большую часть ваших дискуссий тут (простите), но суть я уловил. Вы считаете, что на бэйсике нельзя сделать хорошую игру с графикой и музыкой, допустим, что для проигрывания AY-музыки нужно сделать плеер на ассемблере. Вторая проблема бэйсика - скорость работы и ограниченные возможности в графике (попиксельное смещение уже не сделать, да и вывод по маске тоже).
Кого-то это сильно останавливает? И раньше не фреймовые игры делали, ну и хорошо, пошаговые стратегии или логические игры на бэйсике более чем реально написать, проблема с графикой... в далёком 95-96ом году я это решал загрузкой нескольких шрифтов-спрайтов и переключением между ними для вывода графики, где-то тут можно найти мою поделку «Микроша (http://zx.pk.ru/showpost.php?p=46549&postcount=10)» (очень упрощённый и коротенький like Dizzy), да это ужас, но я тогда и программировать не умел. Уверен, что многие могли бы неплохие игры поделать на Бэйсике, пусть с вашими ретробаттлами им не сравниться (меня по правде говоря там ни одна игра не зацепила, но это моё субъективное мнение), но вполне может у кого-то получиться что-то дельное.
Какие варианты игр мне кажутся наиболее реалистично реализуемые:
1. пошаговые стратегии любого уровня сложности (в те же старые времена у меня была поделка в стиле Laser Squad-подобных, игра на двух игроков, карта делилась на 3х3 экрана, с каждой стороны было всего по 3 юнита, писал тупо неправильно и в конечном итоге упёрся в нехватку памяти :) лол, тогда даже о таком и не знал)
2. игры аля диззи, упрощённые, но никто не сказал, что совсем некрасивые (я делал такое кол-во таких игр, что и не вспомню, «Микроша» был всего лишь последним из них и я тогда максимально старался сделать из него Диззи, где-то были скрины, поделюсь как найду, и если кому-то интересно)
3. логические (почти все известные логические игры можно реализовать на бэйсике даже с достойным уровнем графики).

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

Ну и вот вспомнил тут, что первый King's Bounty был написан на бэйсике, хотите сказать, что не играбельно сейчас? А ведь можно значительно лучше.

Бука
17.03.2014, 23:50
Напоминает паралимпиаду =)

Без обид, но любое программирование в 2014м под комп 1982го - не важно на чем, тоже многое напоминает.

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

З.Ы. Прочитал правила - доволен. Срок с запасом, это хорошо. Весной-осенью немного времени будет, а летом не до компов. Постараюсь сваять получше.:wink:

Бука
18.03.2014, 00:04
Добавил 15 объектов(белые*) на карту для пробы.
Бум думать дальше!

Alex Rider
18.03.2014, 00:19
;690814]Нехватка памяти в бэйсике тоже не сильная проблема, вы всегда можете сделать дозагрузку нужных кусков программы, причём в бэйсике это было сделано очень удобно, что старая программа не удалялась, а заменялись только нумерованные строки (или что-то путаю?).
Для работы MERGE надо, чтобы до стека хватало место под новые загруженные строки и переменные.

Бука
18.03.2014, 00:24
Для работы MERGE надо, чтобы до стека хватало место под новые загруженные строки и переменные.

MERGE для запущенной программы это полный глюкодром, совсем не вариант. Но есть другой способ:

В ZX-Барсике есть такая приятная фича, как загрузка-выгрузка массивов.
В которые можно упаковать все, что угодно. А для 128к их сразу после загрузки кучей запихивать на РАМдиск.

Лляяя. спать пора!:v2_dizzy_bye:

baxter
18.03.2014, 00:30
В ZX-Барсике есть такая приятная фича, как загрузка-выгрузка массивов.
ТР-дос не поддерживает эти файлы:(

Бука
18.03.2014, 00:39
ТР-дос не поддерживает(

Я аж проснулся! Не, склероза у мну пока нет: http://nukpage.narod.ru/zx/contact/books/trdosman.htm#_Toc53661912
:cool_std:

baxter
18.03.2014, 00:48
Кошмар! Огромное упущение с моей стороны. А я раньше подгружал блок кодов и собирал массив из него:D

null_device
18.03.2014, 03:56
;690814]Я не использовал никогда, но неоднократно слышал, что есть какие-то компиляторы бэйсика, которые ускоряли нехило так созданные проекты, так что почему бы их не разрешить правилами (если делать конкурс), при условии выкладывания оригинала на бэйсике, как доказательства?

Типа: использование компиллятора создаст неравные условия для конкурсантов.
---
Даже, Tobos (наиболее "лояльный" к бейсику компилллятор,с плавающей запятой), уже дает существенное убыстрение работы. Целочисленный компиллятор Mcoder от Евдокимова, помимо еще более ощутимого прироста скорости, избавлен от основной "проблемы" - необходимости нахождения тела компиллятора в памяти!

Alex Rider
18.03.2014, 13:08
MERGE для запущенной программы это полный глюкодром, совсем не вариант.
Не видел проблем никогда. Во избежании никогда не примержовывал строки перед текущей исполняемой.


В ZX-Барсике есть такая приятная фича, как загрузка-выгрузка массивов.
Там такая же картина - в памяти должно быть место под новый массив даже если он затрет существующий.

wl[illusion]
18.03.2014, 13:43
Типа: использование компиллятора создаст неравные условия для конкурсантов.
Ну, тогда разумнее запретить и использование кусков ассемблера, даже если они через DATA создаются в теле самой программы, т.к. это тоже создаёт неравные условия :)
Хотя, можно создать библиотеку «стандартных» подпрограмм, которые можно использовать и каждый может их скачать и вставить себе в программу, к каждой подпрограмме прилагать подробное описание о том, как использовать. Думаю, это честно и удобно, в такие подпрограммы можно добавить какой-нибудь упрощённый вывод графики, быстрый опрос клавиатуры, парочку простеньких эффектов на экране (затухание экрана, к примеру).

jerri
18.03.2014, 13:43
НУ сделайте ограничение на подгрузку в процессе и делов - то.

Eltaron
18.03.2014, 14:02
;691038']Ну, тогда разумнее запретить и использование кусков ассемблера, даже если они через DATA создаются в теле самой программы, т.к. это тоже создаёт неравные условия :)
Так ведь и запрещено. Только чистый барсик.

(1-я картинка по запросу "чистый барсик" в гугле)
http://keep4u.ru/imgs/b/081107/f7/f7927a26ce237e24ca.jpg

Andrew771
18.03.2014, 14:13
Талисман конкурса :)

Бука
18.03.2014, 14:52
(1-я картинка по запросу "чистый барсик" в гугле)


Не совсем чистый - к моське какая-то крошка прилипла. :wink:

Помучал вчерашнюю карту - прорисовка 20*20 с цветом (через POKE) курит ровно 10 секунд. :frown:

З.Ы. Хотя, в принципе для пары задумок такой скорости достаточно. Тем более там еще можно пооптимизировать. :rolleyes_std:

baxter
18.03.2014, 15:56
курит ровно 10 секунд
Жесть. А использование цветовых кодов не прокатило?

denpopov
18.03.2014, 16:03
а игры для АТМ будут считаться?

Бука
18.03.2014, 16:22
Жесть. А использование цветовых кодов не прокатило?

Пока ничего нормального. Если ручками задать символьную строку, то печатает.
Т.е. например через DATA можно так уровни задавать. С массивами бяка. Либо ? либо хз.

З.Ы. если заданную ручками строку назначить строкой массива, то кажется ок. - печатает в цвете. Но потом позади - пробелы, по количеству цветных токенов в строке(чего нет при печати просто строки!).

А если сказать печатать L$(i, 1 to нужная длина) - вылазит ошибка. Короче это шибка в ДНК, тьфу - в ROM Спека.

З.З.Ы. Можно писать под Timex 2068. Там это вроде пофиксили. ;)

З.З.Ы - вроде что-то получилось. Через СHR$ c кодом те же вопросики, но через строку ок. Пробелы убираются, если печатать L$(i, 1 to нужная длина+число токенов (2на цвет))

Alex Rider
18.03.2014, 17:31
Либо ? либо хз.
Ну, вы сами были против ассемблерных вставок :)

Reobne
18.03.2014, 17:40
Бука, Немножко поковырялся. Увеличил длину строки в пять раз, чтобы для каждого знакоместа были коды:16,подложка,17,чернила,к д
Вроде заработало.

Reobne
18.03.2014, 17:45
Ещё идея, не перерисовывать всё каждый раз, а только когда персонаж подойдёт на 5 клеток к границе, то перерисовать всё, поставив его в центр.

Alex Rider
18.03.2014, 17:58
Вырвиглазно будет, если герой будет прыгать по карте на пол экрана. Просто если герой подходит на 2-3 строки / столбца к краю экрана, полностью перерисовывать карту, помещая героя на границе. Поэкранно сделать, в общем.

wl[illusion]
18.03.2014, 18:42
А не проще сделать клетки крупнее, ну допустим 3х3 знакоместа?

Kakos_nonos
18.03.2014, 19:39
Уже начал игру делать. На реале буду делать, никаких эмулей/басинов, только реал, только хардкор.
Будет логическая.

Бука
18.03.2014, 19:47
Бука, Немножко поковырялся.

Ага. Я то же самое задумал. Только в 5 раз необязательно - у карты "бодюр" из пробелов по краям.

Ну что ж, вывод: с токенами скорость прорисовки карты отличная. В том же вполне машкодовом Sim City визуально не сильно быстрей (раза в 4...).

З.Ы. Счетчик ожидания у меня тоже есть, и где надо будет. ;)

З.З.Ы. Вот так, с шутками и прибаутками сваяем HoM&M для Спека.:biggrin:

goodboy
18.03.2014, 21:05
вспомнил ещё одно творение на бейсике http://www.worldofspectrum.org/infoseekid.cgi?id=0015795

Бука
18.03.2014, 21:24
на бейсике

Там USR есть, и не один. :rolleyes_std:
Листает монохромную(на WOS есть цвет, в игре не увидел) карту машкдом аж за ~3сек.

А мы в барсике цветную за 2,5 секунды листаем! :wink:

baxter
19.03.2014, 21:28
Eltaron подсказал лого конкурса. Вот что у меня получилось. Может быть кто лучше нарисует?

psb
19.03.2014, 21:37
Может быть кто лучше нарисует?
все уже нарисовано:) https://www.pouet.net/content/avatars/zxevocat.gif
получается конкурс алонекодера какого-то...

baxter
19.03.2014, 21:41
Мда... Котэ везде востребован.

Бука
19.03.2014, 22:11
Мда... Котэ везде востребован.

Котэ это хорошо! Где-то, давным-давно видел классного ZX-Кота. В смысле в стандартной графике. Но не нашел... Лису нашел, с какой-то недавней пати.

Впрочем, время на поиски еще есть. :v2_dizzy_fisher:

baxter
19.03.2014, 22:24
Запостю свой ранний движок пошаговой рпг-актион геймы. Навряд ли будет познавательно. Тем более все задуманные фишки не раскрывает. Но всё же... W/S - вперёд/назад, A/D - шаг влево/вправо, N/M - поворот влево/вправо.

Бука
19.03.2014, 22:48
Но всё же...

Ааа!!! Нас всех съедят в 3дЭЭЭЭЭ... :biggrin:

http://upload.wikimedia.org/wikipedia/en/8/83/3D-monster-maze-T-rex-2-steps-away.png

З.Ы. Очень шустренький вариант прорисовки. А поверх спрайтики. ;)

В "Мечах и Волшебниках" 3д окошко не намного лучше было... А сколько рубились!
(Если б той игре еще человеческое управление было бы...).

jerri
19.03.2014, 22:49
baxter, и не лень было весь этот текст набивать?
перерисовку видно :( можно было сделать так чтобы не видеть :(

baxter
19.03.2014, 22:52
можно было сделать так чтобы не видеть
Можно. И сделал;) . Весь текст можно раза в два уменьшить.

jerri
19.03.2014, 22:57
тогда может и я чего за пару дней набросаю. :)

Бука
19.03.2014, 23:03
тогда может и я чего за пару дней набросаю. :)

Срок до НГ, однако. Но вообще - чем больше участников, тем веселей! :v2_dizzy_vodka2:

baxter
19.03.2014, 23:23
jerri, другой разговор!:D Может будет игра от зэдэкс мэтра;)!?

---------- Post added at 23:23 ---------- Previous post was at 23:10 ----------


Очень шустренький вариант прорисовки.
ГлавГер шесть клеток перед собой видит, отсюда быстро получается.:cool:

null_device
20.03.2014, 20:11
Eltaron подсказал лого конкурса. Вот что у меня получилось. Может быть кто лучше нарисует?

Что-то мне этот логотип напоминает? ;)

https://lh5.googleusercontent.com/--JlxfV9TXO8/AAAAAAAAAAI/AAAAAAAAAKQ/6JS6hUIG-Zc/w48-c-h48/photo.jpg

"Инжинерить" логотип намного проще, "отталкиваясь" от названия конкурса.
...
Enjoy!
---
Хотя, я не совсем понимаю связь кота в качестве маскота - с бейсиком,

Бука
20.03.2014, 20:31
Ласково названный "Basic" = "Барсик" = красивый кот.

Этот больно злобный. ;)

Наоборот, на рисунке должен быть пофигистический котяра, вокруг которого пляшут "..if..then...goto...FF...LD...JP...". А он хитрым глазом косит на экран. ;)

Alex Rider
20.03.2014, 21:53
FF...LD...JP...
К играм на Бэйсике? O_o

Бука
20.03.2014, 22:06
К играм на Бэйсике? O_o

Вот именно! Ему на эту пляску "просто Муррр...", лежит и смотрит... :biggrin:

З.Ы. Вот, замечательное совпадение - нашлась тема http://zx.pk.ru/showthread.php?t=13316 .
Кошки там шикарные, спасибо товарищу ААА.

null_device
20.03.2014, 22:15
Ласково названный "Basic" = "Барсик" = красивый кот.

Ну, тут сильно зависит, у кого-какие ассоциации. У меня первое знакомство с бэйсиком было вот по этой книжке (http://20.img.avito.st/640x480/353137620.jpg) с ОБЧР на обложке (в подавляющем большинстве книг по программированию, обязательно была хоть пара иллюстрация с роботами).
Вообще, на спектруме - маскотом сам бог велел быть "антропоморфному яйцу (https://ru.wikipedia.org/wiki/Dizzy)". ;)
...
http://piq.codeus.net/static/media/userpics/piq_10391_400x400.png

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

baxter
20.03.2014, 23:16
Кот откладывает кирпичики изучая бейсик?

null_device
20.03.2014, 23:28
Кот откладывает кирпичики изучая бейсик?

Возможно... ;)
Согласен, композиция построена не самым удачны образом. Можно было иначе.

Бука
20.03.2014, 23:41
Ага. А то "спасибки" сказал одному коту, а тут он немножко другой стороной стал... ;)

psb
20.03.2014, 23:54
да, нужны не кубы, а кирпичи!

null_device
21.03.2014, 00:06
нужны не кубы, а кирпичи!

Или откуда растут "ноги" у кубов:

http://www.letslearnict.com/uploads/1/2/6/6/12668084/9346261_orig.png

Решил поискать логотип - и ничего более-мененее толкового, кроме как у мелкософта не нашел (хотя, у них есть и другие "кирпичи", но мне они как-то не приглянулись).

---------- Post added at 04:06 ---------- Previous post was at 04:03 ----------

Хотя, нет - вот есть еще. Правда, очень уж как-то слишком монструозно. Конвертировать замучаешся.

http://itpro.ucoz.com/pictures/vb6.gif

danner
22.03.2014, 14:43
Два вопроса по правилам -
Подгрузка шрифтов разрешается или только УДГ?
Подгрузка экранов разрешается или только ПРИНТ?
Спасибо :)

baxter
22.03.2014, 15:12
Что не запрещено, то разрешено;)

Правила:
- игра должна бить написана на встроенном ZX бейсике 48(1982)/128(1986);
- не разрешается использование вызовов ассемблерного кода, за исключением подпрограмм ПЗУ;
- использование памяти ограничено стандартными 128к;
- ограничений по жанру нет.

psb
22.03.2014, 17:08
Что не запрещено, то разрешено
уср запретили, а можно запускать маш.код без уср? (техническая сторона-то понятна)

Reobne
22.03.2014, 17:28
уср запретили, а можно запускать маш.код без уср?
Читая первый пост:

- не разрешается использование вызовов ассемблерного кода, за исключением подпрограмм ПЗУ;
Думаю, что нельзя. Иначе - какой смысл?

baxter
22.03.2014, 18:17
Использование функции USR не запрещено.

denpopov
22.03.2014, 19:37
FOR
POKE
NEXT
USR
DATA
угадайте способ игры..

baxter
22.03.2014, 20:14
denpopov, с помощью for, next, poke, data забить код в память и вызвать rand usr? Это будет запуск пользовательского машкода, что противоречит правилам.:confused:

denpopov
22.03.2014, 20:41
забить код в память и вызвать rand usr? Это будет запуск пользовательского машкода, что противоречит правилам

ну если поначалу было сказано, что разрешен usr,тогда применим обфускацию кода)

null_device
22.03.2014, 20:51
если поначалу было сказано, что разрешен usr,

Сказано было несколько иначе:

- не разрешается использование вызовов ассемблерного кода, за исключением подпрограмм ПЗУ;

denpopov
22.03.2014, 20:57
Сказано было несколько иначе:
где же?

Использование функции USR не запрещено.

SAM style
22.03.2014, 21:23
где же?Вот тебе USR, который ничего явно не вызывает - LET ADR = USR "A". А вот, который взывает - RANDOMIZE USR 30000.

Alex Rider
22.03.2014, 21:26
Вот тебе USR, который ничего явно не вызывает - LET ADR = USR "A"
Ну это "другая" USR. А USR <число> можно использовать для вызова подпрограмм ПЗУ. Например, 15619. Или 0 :)

SAM style
22.03.2014, 21:33
Ну это "другая" USR. А USR <число> можно использовать для вызова подпрограмм ПЗУ. Например, 15619. Или 0 :)Мне вот интересно стало - кроме этих двух точек в ПЗУ из бейсика что-то вызывается с ненулевым результатом? Практически везде нужны параметры в регистрах, а результат возвращается далеко не в BC.
А ещё можно изменить 5c3d, ещё пару ячеек и вызывать что угодно через USR 8
А ещё изменить какой-нибудь канал вывода для PRINT и "печатать" через него - будет вызываться процедурина по заданному адресу.

Бука
22.03.2014, 21:41
в ПЗУ из бейсика что-то вызывается с ненулевым результатом?

Много их. Знал бы заранее - список составил бы.;)
навскидку:

print 65536-USR 7962 - свободная память.
let a=usr 3582 - скролл.


Вот тебе USR, который ничего явно не вызывает - LET ADR = USR "A". А вот, который взывает - RANDOMIZE USR 30000.

Оба вызывают машкод. Единственное отличие - если по RET будет выход обратно, то BC попадет в seed или в переменную ADR .

denpopov
22.03.2014, 21:46
Вот тебе USR, который ничего явно не вызывает - LET ADR = USR "A"
дану?

poke usr"A",201
goto usr "A"
здесь А - из UDG

---------- Post added at 21:46 ---------- Previous post was at 21:45 ----------


Много их. Знал бы заранее - список составил бы
ZX-Press.RU и читать от корки до корки)

SAM style
22.03.2014, 21:51
дану?

poke usr"A",201
goto usr "A"
здесь А - из UDG[COLOR="Silver"]goto usr "A" перейдёт на бейсик-строку с номером usr "A", а не вызовет коды. А вот goto usr usr "A" - вызовет.

psb
22.03.2014, 21:52
А ещё изменить какой-нибудь канал вывода для PRINT и "печатать" через него - будет вызываться процедурина по заданному адресу.
ага. poke : poke : print "put_spr 1,128,96". никаких уср, сплошной бейсик:)

denpopov
22.03.2014, 21:53
goto usr "A" перейдёт на бейсик-строку с номером usr "A", а не вызовет коды. А вот goto usr usr "A" - вызовет.

запутано, правда?

null_device
22.03.2014, 21:53
denpopov, "не взлетит". ;)
Функция USR "буква" вызывает адрес первого байта фонта псевдографики, а не значение из этого байта. Для того, чтобы ваш вариант заработал строка должна выглядеть так: GOTO USR (PEEK USR "A") (без круглых скобок, произойдет переход на строку программы на которую указывает содержимое ячейки первого байта символа А-спевдографики).

Бука
22.03.2014, 21:55
ZX-Press.RU и читать от корки до корки)

Sinclair User, PopularComputingWeekly, YourComputer, PersonalComputerNews, ZXComputing...

За период с 81го по 87й, примерно, перечитал. :cool_std:

Беда в том, что я пролистывал и удалял страницы с рекламой и листингами прог - как ненужные. А там дофига хитростей было...
В результате на компе лежат новостные/железячные страницы.

denpopov
22.03.2014, 22:03
denpopov, "не взлетит".
да, SAM style уже указал.
заодно можно вспомнить еще примеры обфускации. Это так, рассуждения..

---------- Post added at 22:03 ---------- Previous post was at 21:58 ----------


За период с 81го по 87й, примерно, перечитал.
а я к своему стыду мало что помню.раскопал только одну процедурку, с её помощью можно ставить точки.

Бука
22.03.2014, 23:04
Листаю журналы, нашлась 3D бродилка с шустрой (для Бейсика и 82го года) полноэкранной прорисовкой.

http://www.worldofspectrum.org/infoseek.cgi?regexp=^Corridors+of+Fear$&loadpics=1

Правда там есть 1 строка машкода - занятого исключительно очисткой 22 строк экрана. Текст программы по "лист 1" или на фтп, вот:

ftp://ftp.worldofspectrum.org/pub/sinclair/magazines/YourComputer/Issue8303/Pages/YourComputer830300121.jpg
ftp://ftp.worldofspectrum.org/pub/sinclair/magazines/YourComputer/Issue8303/Pages/YourComputer830300122.jpg

NovaStorm
23.03.2014, 00:06
>poke
>usr
>каналы
С таким-то бейсиком на асме писать проще будет =)

denpopov
23.03.2014, 07:17
С таким-то бейсиком на асме писать проще будет =)
for whom how.

denpopov
23.03.2014, 12:36
нашел один интересный контест. Сижу, смарю на Бейсик, и понимаю, что я не осилю такое...

Бука
23.03.2014, 12:43
нашел один интересный контест. Сижу, смарю на Бейсик, и понимаю, что я не осилю такое...

Ну, если не нужен - скинь в личку. У меня что-то оригинальных идей нынче тю-тю.

jerri
23.03.2014, 16:17
Народ не забудьте, это конкурс игр на БЕЙСИКЕ а не конкурс юристов.

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

denpopov
23.03.2014, 16:21
Обменяемся играми?)

jerri
23.03.2014, 18:49
baxter, по поводу игр вопрос. Что с релизами делать? Сам понимаешь игра зарелиженая в декабре имеет вкус новизны и будет создана с оглядкой на игру сделанную в мае.

baxter
23.03.2014, 19:17
jerri, наилучший вариант не релизить игру до начала голосования.

Бука
23.03.2014, 19:36
Багов будет... :frown:

Тестеры независимые нужны.

Но есть предложение - не заморачиваться пока на эту тему полгода - примерно. Ну а уж если охота будет похвастацццо - можно видео на ютуп класть.:v2_dizzy_photo:

baxter
23.03.2014, 19:46
Бука, не буду запрещать выкладывать промежуточные версии. Но мне кажется, что основное внимание при голосовании будет у игр, как сказал
jerri

имеет вкус новизны

Бука
23.03.2014, 19:50
А ремейки чего-нить из известного этого "вкуса новизны" лишены автоматом? ;)

jerri
23.03.2014, 19:57
А ремейки чего-нить из известного этого "вкуса новизны" лишены автоматом? ;)

не обязательно.

baxter
23.03.2014, 20:37
А ремейки чего-нить из известного этого "вкуса новизны" лишены автоматом?
Несколько дней играю в ПЦ версию, некогда популярной мобильной стратегии Ancient Empires. Несмотря на то, что я её прошёл ещё году в 2007 раз 5, оторваться немогу. Так что делайте выводы.
http://gocmobile.net/attachments/7630/

denpopov
23.03.2014, 20:44
Так что делайте выводы.
Кто напишет ремейк, тот и победил?:)