User Tag List

Страница 13 из 43 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 428

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

  1. #121

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

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    А почему не хочешь всё на асме "ручками"? Или производительность такая же примерно?
    1. Сейчас очень мало времени, чем в 90е-2000е, так что на асме проекты длятся пятилетками.
    2. Мозговзрывные алгоритмы (типа поиска пути и проч.) на асме очень сложно писать и отлаживать. Даже корифеи Copperfeet и Alone Coder сначала писали на С, а потом переводили в асм. Сходу фиг напишешь. Код на асме в крупных проектах распухает, становится малоуправляемым. На ЯВУ же всё под контролем.
    Я сейчас подумываю еще более убыстрить разработку, посматриваю потихоньку на различные RAD.

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

    Oleg N. Cher(27.06.2020)

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

  3. #122

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

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Мозговзрывные алгоритмы
    Да на самом деле ничего мозговзрывного, если я правильно помню. Там в контексте формата хранения уровня я делал упрощённый алгоритм так сказать "трассировки" направления к цели. Добрался до препятствия, начинаешь обходить по незанятым местам, попутно сравнивая, отдаляешься ли ты от места. Если постоянно отдаляешься, то можно впихнуть определённую переменную "порог времени отдаления", чтоб алгоритм прекратился с результатом -путь не найден-. На помощь этому алгоритму могут прийти всякие ограничительные фишки, чтоб при постройках не было слишком много "труднообходимых полостей в строениях". Выкрутиться можно, и мне кажется даже средствами не сильно повлияющими на играбельность. Но всё надо тестить.
    Кстати алгоритм работает не каждый фрейм, а только иногда, сохраняя путь. Быть может повторно при постройке новых зданий.
    Я не помню применял ли я рекурсию при поиске по сетке карты, но тоже вариант в малых квадратах.
    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Код на асме в крупных проектах распухает, становится малоуправляемым
    Вот мне кажется, что это только в КРУПНЫХ проектах, которые длятся пятилетками) Если пишешь сам и не так долго, у тебя запоминается, где что у тебя в коде, что делает, и даже сто с этим в будущем сделать или не сделать.
    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Даже корифеи Copperfeet и Alone Coder сначала писали на С, а потом переводили в асм. Сходу фиг напишешь.
    Ну это-то да, но и проекты и люди разные. Если ты не ради "копеечку урвать", то просто попробуй сам написать игрулю на асме, потому, что мне кажется, что ты не пробовал, а с чужого опыта решил, так сказать решил учиться на чужих ошибках. Хотя может я ошибаюсь, и ты это по своему опыту)

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

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Сейчас очень мало времени
    Я поправлю: "Сейчас очень мало времени, которое я хотел бы выделить для данной темы, а не на те клёвые занятия, которые у меня появились после 9х-2000". Может и не правильно поправил

  4. #123

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

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    а на яче все олдёши))
    а на zxЕ все ол_ёШИ

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

    Да причём тут сега

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

    Ооо, сега эт цвитное...
    Да и потом, в сеге всё тот же z80 на борту. Хоть и отвечает лишь за звуковое сопровождение.

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

    Что касается сотрудничества, можно заняться сайд-проектом (типа следующая глава истории), а то в текущем проекте всё не влезет в 40кб.



    На данный момент парюсь с управлением, мозго-секс тот ещё.

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

    Уповаю на то, что Эндрю профиксит оптимизацию Пасцаля до начала Яндех-конкурса.

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

    Andrew771(04.07.2020), hobot(15.02.2021), Oleg N. Cher(27.06.2020)

  5. #124

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Уповаю на то, что Эндрю профиксит оптимизацию Пасцаля до начала Яндех-конкурса.
    Фигово. Кажись, не получится оптимизация пока. Попробовал заменить арифметические и логические выражения на байт-код, целый день потратил, неудачно, жрёт всё равно места много. Других идей для оптимизации памяти пока нет.
    Так что, ALKO, оптимизируй свой код на Паскале.
    Рекомендации:
    - размерности массивов делай кратными 2;
    - если происходят частые вызовы ячеек массивов с одними и теми же индексами, то лучше сначала загонять в промежуточные переменные. Хоть и есть оптимизация по повторяющимся индексам массивов, но всё равно вручную про(и)думать через промежуточные переменные лучше;
    - одинаковые или почти одинаковые куски кода лучше делать процедурами. Локальных переменных в процедурах нет, но можно делать через глобальные, перед вызовом процедур их заполнять.

  6. #125

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

    По умолчанию

    Да, блин, всё-таки пока без гибрида Паскаль+Асм пока не обойтись, на Z это понимаю сейчас...

  7. #126

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

    По умолчанию

    Так я и говорил, ну ладно не говорил, просто думал. А что за проблема с управлением?

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

    Эндрю нужны теги ассемблерной вставки. Или они есть?

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

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

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

    Я не про сотрудничество говорил. Я просто хотел поделать в свободное время. Всё что напишется, твоё[алко](если напишется). Так что если есть просто валяющиеся идеи..

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

    Ну допустим параллельная история
    Последний раз редактировалось Dwa83; 05.07.2020 в 17:11.

  8. #127

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

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    Эндрю нужны теги ассемблерной вставки. Или они есть?
    есть.

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    Ыыы потом окажется, что весь код из ассемблерных вставок
    пока 80% Паскаля

  9. #128

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

    По умолчанию

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

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


    Код:
    	org	32768
    
    	
    
    strt	call	FILL_TABLE
    	
    	
    
    	ld	b,80
    right	push	bc
    	ld	ix,LINE_TABLE
    	ld	b,24
    nxt_ln	push	bc
    	call	PRINT_NEXT_SPRITE
    	pop	bc
    	ld	de,lt_size
    	add	ix,de
    	djnz	nxt_ln
    
    	call	SCROLL
    
    	pop	bc
    	djnz	right
    	jr	strt
    
    ;---------------------------------
    ;заполнение экранных адресов
    FILL_TABLE
    	ld	ix,LINE_TABLE
    	ld	b,0
    nxt_line
    	push	bc
    	ld	de,LEVEL
    	call	ADDR_AFTER255
    	pop	bc
    
    	ld	(IX+line_ptr),e
    	ld	(IX+line_ptr+1),d
    
    	push	bc
    	call	NEXT_LINE_PTR
    	pop	bc
    
    	call	SCR_ADDR
    	ld	(IX+print_addr),l
    	ld	(IX+print_addr+1),h
    	ld	(IX+attr_addr),e
    	ld	(IX+attr_addr+1),d
    
    	ld	de,lt_size
    	add	ix,de
    	inc	b
    	ld	a,24
    	cp	b
    	jr	nz,nxt_line
    	ret
    
    ;---------------------------------
    ;Печать спрайта из ленты
    PRINT_NEXT_SPRITE
    	ld	l,(IX+ribbon_ptr)
    	ld	h,(IX+ribbon_ptr+1)
    nxt_rib
    	ld	a,(hl)			;номер спрайта
    	cp	255			;конец ленты?
    	jr	nz,no_endrib
    					;конец
    	dec	(IX+ribbon_cnt)
    	call	z,NEXT_LINE_PTR		;счётчик обнулился, следующая лента
    	ld	l,(IX+ribbon_start)
    	ld	h,(IX+ribbon_start+1)
    	ld	(IX+ribbon_ptr),l
    	ld	(IX+ribbon_ptr+1),h
    	jr	nxt_rib
    no_endrib
    	;в A номер спрайта
    	ld	l,a
    	ld	h,0
    	push	hl
    	ld	de,spr_attribs
    	add	hl,de
    	ld	a,(hl)
    	ld	l,(IX+attr_addr)
    	ld	h,(IX+attr_addr+1)
    	ld	(hl),a
    	pop	hl
    	
    	add	hl,hl	
    	add	hl,hl
    	add	hl,hl			;x8
    	ld	de,sprites
    	add	hl,de			;адрес спрайта
    
    	ld	e,(IX+print_addr)
    	ld	d,(IX+print_addr+1)
    	ld	b,8
    nxt_b	ld	a,(hl)
    	ld	(de),a
    	inc	hl
    	inc	d
    	djnz	nxt_b
    
    	ld	l,(IX+ribbon_ptr)
    	ld	h,(IX+ribbon_ptr+1)
    	inc	hl
    	ld	(IX+ribbon_ptr),l
    	ld	(IX+ribbon_ptr+1),h
    
    	ret
    
    ;---------------------------------
    ;Заполнение данных ленты из указателя линии уровня и его сдвиг
    NEXT_LINE_PTR
    	ld	l,(IX+line_ptr)
    	ld	h,(IX+line_ptr+1)
    
    	ld	b,(hl)
    	ld	de,RIBBONS
    	call	ADDR_AFTER255
    
    	ld	(IX+ribbon_ptr),e
    	ld	(IX+ribbon_ptr+1),d
    	ld	(IX+ribbon_start),e
    	ld	(IX+ribbon_start+1),d
    	inc	hl
    	ld	a,(hl)
    	ld	(IX+ribbon_cnt),a
    	inc	hl
    	ld	(IX+line_ptr),l
    	ld	(IX+line_ptr+1),h
    	ret
    ;---------------------------------
    ;адрес после разделителя 255 по номеру b
    ADDR_AFTER255
    	
    	xor	a
    	cp	b
    	ret	z
    nxt_de	ld	a,(de)
    	inc	de
    	cp	255
    	jr	nz,nxt_de
    	djnz	nxt_de
    	ret
    
    ;---------------------------------
    ;сдвиг экрана
    SCROLL
    	ld	de,16384
    	ld	hl,16385
    	ld	bc,6911
    	ldir
    	ret
    ;---------------------------------
    SCR_ADDR
    	;адрес 31ого знакоместа линии	
    	ld	a,b
    	and	%00011000
    	or	%01000000	;+16384
    	ld	h,a
    	ld	a,b
    	rrca
    	rrca
    	rrca
    	ld	d,a		;для расчёта атрибутов
    	or	%00011111	;+31
    	ld	l,a
    
    	;адрес атрибутов этого знакоместа
    	ld	e,l		;уже частично посчитано
    	ld	a,d
    	and	%00000011
    	or	%01011000	;+22528
    	ld	d,a
    
    	ret
    
    LINE_TABLE	DEFS	288,0
    
    line_ptr	equ	0	;2 - указывает на текущую свёртку в линии уровня
    ribbon_ptr	equ	2	;2 - адрес текущего номера спрайта в ленте
    ribbon_start	equ	4	;2 - начальный адрес текущей ленты
    print_addr	equ	6	;2 - адрес знакоместа
    attr_addr	equ	8	;2 - адрес атрибутов
    ribbon_cnt	equ	10	;1 - счётчик количества повторяющихся лент
    
    lt_size		equ	11	;количество байт в данных линии
    
    
    LEVEL
    	DEFB	0,20,255
    	DEFB	3,20,255
    	DEFB	3,12,0,8,255
    	DEFB	3,20,255
    	DEFB	0,12,3,8,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,4,1,1,3,15,255
    	DEFB	3,4,2,1,3,15,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,12,1,1,3,1,0,6,255
    	DEFB	3,12,2,1,3,2,0,5,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,6,1,1,3,1,1,1,3,11,255
    	DEFB	3,6,2,1,3,1,2,1,3,11,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	3,20,255
    	DEFB	0,20,255
    
    RIBBONS
    	DEFB	1,1,1,1,255
    	DEFB	2,3,4,5,255
    	DEFB	6,7,8,9,255
    	DEFB	0,0,0,0,255
    
    SPRITES
    	DEFB	0,0,0,0,0,0,0,0
    	DEFB	255,2,2,2,255,32,32,32
    	DEFB	0,0,0,0,28,62,127,111
    	DEFB	0,0,0,56,125,251,127,238
    	DEFB	0,0,0,248,253,254,127,255
    	DEFB	0,0,0,240,248,252,220,184
    	DEFB	93,42,20,0,0,0,0,0
    	DEFB	85,170,81,0,0,0,0,0
    	DEFB	125,186,84,168,0,0,0,0
    	DEFB	84,168,80,0,0,0,0,0
    
    SPR_ATTRIBS
    	DEFB	8,16,15,15,15,15,15,15,15,15
    
    print_bc
    	CALL	11563
    	CALL	11747
    	jr	$
    [свернуть]


    Вложения Вложения
    • Тип файла: zip test.zip (778 байт, Просмотров: 78)

    Эти 2 пользователя(ей) поблагодарили Dwa83 за это полезное сообщение:

    ALKO(19.08.2020), Andrew771(20.08.2020)

  10. #129

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

    По умолчанию

    не шибко шустрое чёт.

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

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    А что за проблема с управлением?
    уже порешал.
    Пока особых трудностей не возникает. Но всё боязно за память, ведь я ещё не приступал к левел-дизайну.

  11. #130

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

    По умолчанию

    Ну да, не быстро, но это я первый набросок-пробу сделал, чтоб вообще задумку с форматом хранения уровня проверить. Вчера хотел раскидать прорисовку уровня по 5-7 страницам, для плавности и убирания артефактов скроллинга, но спать хотелось, оставил на сегодня. Придётся бросать из одной в другую страницы попеременно со сдвигом. Позже хотел попробовать переделать скролл на переброску через стек. Так же стоит изменить формат хранения уровня, для одинаковых спрайтов с разными атрибутами, и далее для добавления служебных флагов foreground-background и других. Но это постепенно по мере надобности. Ещё стандартные прерывания не отключены. Вообще не знаю получится ли что-нибудь применимое, но пока интересно. Я ещё раньше хотел попробовать, да решил подпиливать свой компиль-редактор, в котором мне проще писать.
    ALKO, нескромный вопрос. Ты спрайтами не делишься для тестов? Запарно выковыривать со скринов)))

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

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

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

Эту тему просматривают: 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

Ваши права

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