Важная информация

User Tag List

Страница 14 из 43 ПерваяПервая ... 101112131415161718 ... ПоследняяПоследняя
Показано с 131 по 140 из 428

Тема: Ищу желающих выступить в роли программиста

  1. #131

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ты спрайтами не делишься для тестов?
    Я планировал сунуться в конкурс, так что, пока не собираюсь публиковать спрайты.
    А для теста можно и с любой другой игры стянуть.
    https://www.spriters-resource.com

    Этот пользователь поблагодарил ALKO за это полезное сообщение:

    Andrew771(20.08.2020)

  2. #132

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Dwa83, редактор уровней и спрайтов у тебя удобный!
    Но может, раз ALKO уже почти на финишной прямой, я тебя приглашаю в свой проект, стратегию реального времени Z, если интересно. Делаю по мотивам PC игры, упрощенную, так что на конкурс нельзя . Графику почти всю уже давно нарисовал Bugsy, аж в 2005 году. А код я очень долго ковыряю, почти нет времени сейчас (спасибо карантину, хоть дали пару месяцев, еще хочу ). Файлы текущие прикладываю, снапшот и исходник. Написан в основном на ZX Like Pascal. Но сейчас очень много жрет места, нужно некоторые процедуры перевести в ассемблер из Паскаля, чтобы освободить для дальнейшего писания. Потом написать стрельбу и управление юнитами игрока с клавиатуры (ИИ будет такой же, как для компа), это вместе будем.
    Сможешь переписать в ассемблер процедуры вывода put_objects и put_properties? ИИ лучше оставить на Паскале, там сложно.

    - - - Добавлено - - -

    В демо управление с клавиатуры:
    QAOP - перемещение
    Номера территорий можно набирать: от 01 до 12 (по две цифры) - перемещение к нужной территории.

    - - - Добавлено - - -

    Файл PRG обычный текстовый, можно открывать Блокнотом.
    Вложения Вложения

    Этот пользователь поблагодарил Andrew771 за это полезное сообщение:

    crrush(10.02.2021)

  3. #133

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эхх... Red Alert 2 бы на спек. Вот где мощъ.
    Z тоже хороша. Но никогда особо плотно не цепляла.

  4. #134

    Регистрация
    31.12.2017
    Адрес
    г. Реж
    Сообщений
    156
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    редактор уровней и спрайтов у тебя удобный!
    Он пока сырой и местами багнутый, надо доделывать.
    Цитата Сообщение от Andrew771 Посмотреть сообщение
    стратегию реального времени Z
    А я уже видел эту демку, ничего так выглядит) Только почему-то SNA запустился лишь после того, как в дебаге напрямик в PC адрес старта сунуть.
    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Сможешь переписать в ассемблер процедуры вывода put_objects и put_properties?
    Я посмотрю по коду, смогу ли что-то сделать.

    Щас пока что со своей задумкой скролла уровня ковырялся, пока вот что придумал. Свапаю 5-7 страницы.
    пока 5 видимая - перекидываю в 7ую со сдвигом и дорисовываю последнюю линию, делаю видимой 7ую, корректирую адреса перекидки, и по новой. Не стало такого эффекта, когда байты уже сдвинуты, а атрибуты ещё не успели, и это видно. Скрол попробовал переделать через стек, в итоге вместо вот этого:

    Скрытый текст


    Код:
    ;сдвиг экрана
    SCROLL
    	ld	hl,(S_SRC)
    	ld	de,(S_DST)
    	ld	bc,6911
    	ldir
    	ret
    [свернуть]

    Получилась вот такая монстряка, ууххх))):

    Скрытый текст


    Код:
    ;сдвиг экрана2
    SCROLL2
    S_SRC	ld	hl,#4001	;10
    	ld	(S_SRC1+1),hl	;16
    S_DST	ld	hl,#C000	;10
    	ld	de,16		;10
    	add	hl,de		;11
    	ld	(S_DST1+1),hl	;16
    	ld	(SAVE_SP+1),sp	;20
    	ld	b,216		;7	= 100
    
    S_SRC1	LD	SP,0		;10
    	POP	HL		;10
    	POP	DE		;10
    	POP	AF		;10
    	POP	IX		;14
    	POP	IY		;14
    	EXX			;4
    	POP	HL		;10
    	POP	DE		;10
    	POP	BC		;10
    	LD	(S_SRC2+1),SP	;20	= 122
                                            
    S_DST1	LD	SP,0		;10
    	PUSH	BC		;11
    	PUSH	DE		;11
    	PUSH	HL		;11	
    	EXX			;4
    	PUSH	IY		;15
    	PUSH	IX		;15
    	PUSH	AF		;11	
    	PUSH	DE		;11
    	PUSH	HL		;11
    	
    	ld	hl,32		;10
    	add	hl,sp		;11
    	LD	(S_DST2+1),hl	;16	= 147
    
    S_SRC2	LD	SP,0		;10
    	POP	HL		;10
    	POP	DE		;10
    	POP	AF		;10
    	POP	IX		;14
    	POP	IY		;14
    	EXX			;4
    	POP	HL		;10
    	POP	DE		;10
    	POP	BC		;10
    	LD	(S_SRC1+1),SP	;20	= 122
                                            
    S_DST2	LD	SP,0		;10
    	PUSH	BC		;11
    	PUSH	DE		;11
    	PUSH	HL		;11	
    	EXX			;4
    	PUSH	IY		;15
    	PUSH	IX		;15
    	PUSH	AF		;11	
    	PUSH	DE		;11
    	PUSH	HL		;11
    	
    	ld	hl,32		;10
    	add	hl,sp		;11
    	LD	(S_DST1+1),hl	;16	= 147
    
    	djnz	S_SRC1		;13	551 / 32 = 17.2
    				
    
    SAVE_SP	ld	sp,0		;10
    	;~119126 тактов (ldir ~ 145152 тактов - дольше на 21,8%)
    	ret
    [свернуть]

    Зато немного быстрее работает)
    Вложения Вложения

  5. #135

    Регистрация
    31.12.2017
    Адрес
    г. Реж
    Сообщений
    156
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Да, блин, всё-таки пока без гибрида Паскаль+Асм пока не обойтись, на Z это понимаю сейчас...
    Кстати, я тему не смотрел с паскалем, у тебя там подключение библиотек присутствует? Можно ведь напилить типа std_lib, всяких функций на асме для использования в местах типа "бутылочного горлышка", или так оно и есть?

  6. #136

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Использование асм-костылей присутствует.
    В паскале на высоком уровне удобно условия городить, хотя асм по возможностям на проверку условий всë же продвинутее : как например проверка флагов, на асме можно отслеживать флаг знака, а в паскале всë беззнаковое. Проверка чëтности опять же, на асме достаточно следить за одним флагом, а тут надо производить лишние арифметические операции с остатком от деления. Процедурки вывода спрайтов взяты из "как написать игру", то есть познакоместное позиционирование без маски, поэтому для попиксельного вывода нужно пихать процедурки spr_lib. Хотя маску можно организовать и штатными процедурами, так как есть AND OR XOR, но при познакоместной позиции толку от этого мало.

    - - - Добавлено - - -

    Подробно не смотрел как там операции деления умножения транслируются. Но вот на асме если быстро поделить или умножить на 2 - достаточно выполнить побитовый сдвиг. Тут побитовых операций нет и в помине. Так что опять же, если нужно что-то выполнять с битами - асм-костыль. Все асм костыли вызываются из тела паскалевской программы (которая преобразуется в асм код с соответствующими call (addr))

    - - - Добавлено - - -

    Ну а ещë паскаль удобен организацией циклов. Не надо каждый раз push-pop-ить счëтчик вокруг того или иного цикла. Да и работа с массивами упрощается на порядок.

  7. #136
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #137

    Регистрация
    31.12.2017
    Адрес
    г. Реж
    Сообщений
    156
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И всё-таки ты переделаешь игру полностью на асм? А вообще, ты искал программиста, но сам помнишь некоторые такие вещи, которыми почти никогда не пользуются)
    Типа узкоспециализированные флаги чётности, которые не особо нужныю
    Погоди-погоди.. Ттак паскаль Andrew771 - тхис из интерпритатор, а не транслятор??? Который в памяти сидит, и строки пассаля тоже? Если нет, то всё одно - условия превращаются в проверку флагов, только более изощрённо завёрнутую друг в друга. Потому, даже на современных компах пытаются "горлышки" писать на асме. Типа языки высокого уровня создают код, хуже чем асм. В некоторых новых компиляторах нифига(я про с++). Язык типа алковского паскаля, он наверное расчитан НЕ на супердинамичные игры(но просто чтобы быстро и легко их разрабатывать).

  9. #138

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ноуп, паскаль именно транслятор. Он конвертирует паскалевский код в набор асм процедурок, которые уже копи-пастишь в асм-компиль.

    - - - Добавлено - - -

    И всё-таки ты переделаешь игру полностью на асм?
    На данный момент бОльшая часть кода у меня на паскале сделана. И на удивление, всë довольно бодро шевелится. Для экшона скорости хватает. Хотя поначалу я вообще скептически был настроен, и думал ограничиться лишь квестом.

    - - - Добавлено - - -

    Конечно на голом асме было бы, наверное, раза в два быстрее. Если ещë со всякими оптимизациями через стек то ищë быстрее, но я до такого не дорос. так что получается то что получается. Всяко лучше чем AGD, уже радует.

    - - - Добавлено - - -

    Жалко конечно, что 128к формат такой геморный, и из-за него откусываются аж 16кб линейной памяти.
    С виртуальным экраном я мог позволить компу ожидать обновление кадра по HALTу.
    А так как вынужден LDIRить, то от верт. синхронизации пришлось отказаться (ровно как и от музычки)
    Последний раз редактировалось ALKO; 21.08.2020 в 14:42.

  10. #139

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    А я уже видел эту демку, ничего так выглядит)
    нет, ты ее не мог видеть, это то, что я сделал за последнее время. Ты видел демку 2018 года
    С тех пор полностью переписал ИИ, сделал независимым от карты уровня, т.к. планирую не один уровень. Этот сейчас только первый. Есть уже задумка по 4 уровням. Главное, сложно первый написать, остальные быстро уже.
    Добавил цвета для юнитов, заводов и флагов. Противник уже полностью захватывает все территории и штаб игрока. Добавил информационную панель справа.

    - - - Добавлено - - -

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    Кстати, я тему не смотрел с паскалем, у тебя там подключение библиотек присутствует? Можно ведь напилить типа std_lib, всяких функций на асме для использования в местах типа "бутылочного горлышка", или так оно и есть?
    ALKO уже ответил, есть спец.оператор asm для вызова процедур на ассемблере из Паскаля.

    - - - Добавлено - - -

    Цитата Сообщение от ALKO Посмотреть сообщение
    Подробно не смотрел как там операции деления умножения транслируются. Но вот на асме если быстро поделить или умножить на 2 - достаточно выполнить побитовый сдвиг. Тут побитовых операций нет и в помине. Так что опять же, если нужно что-то выполнять с битами - асм-костыль. Все асм костыли вызываются из тела паскалевской программы (которая преобразуется в асм код с соответствующими call (addr))
    Оптимизации для умножения и деления на числа степени 2 имеются, а также для часто используемых чисел типа 3,5,10,20,50,100... Вставляется вместо вызова процедуры честного умножения add hl,hl нужное количество раз.
    Подробно про мозги компилятора я описал в статье: http://dgmag.in/N15/DowngradeN15b.pdf

  11. #140

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Andrew771, глянул демку. Дааа.. скролл тут слабое место.
    Раз уж он дискретный, то почему бы не разукрасить графику, живее бы смотрелось чем чёрно-жёлтый монохром.
    Шаг 16px брррр

    Ну и самое главное - тормозно. Ладно ЖД магнат пошаговое, там можно стерпеть, но в РТС такие лаги не приветствуются.

    - - - Добавлено - - -

    ах да, как и в ЖД-магнате - нет диагонального скролла. В РТС это тоже куда важнее. По гипотенузе быстрее можно добраться до нужной точки, нежели по двум катетам.

Страница 14 из 43 ПерваяПервая ... 101112131415161718 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. с Днем Программиста!
    от goblinish в разделе Поздравления
    Ответов: 17
    Последнее: 16.09.2015, 02:04
  2. С Днём компьютерщика и программиста !
    от Хорошист в разделе Поздравления
    Ответов: 4
    Последнее: 17.02.2013, 05:54
  3. С Днём компьютерщика и программиста !
    от Хорошист в разделе Новости
    Ответов: 5
    Последнее: 17.02.2013, 05:54
  4. Ищу желающих написать программу для ВИДЕО-игры
    от ALKO в разделе Программирование
    Ответов: 26
    Последнее: 17.02.2012, 15:07

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •