forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на MidletPascal (http://forum.boolean.name/forumdisplay.php?f=88)
-   -   The Maze (http://forum.boolean.name/showthread.php?t=4621)

abcdef 09.03.2009 19:29

Ответ: The Maze
 
Вложений: 1
хорошо сделал двери cahekp! вижу разобрался в алгоритме.
___
Выкладываю с изменениями алгоритма:
теперь карта - одномерный массив,
убрал некоторые лишние вычиления,
вернул разрешение к 176x132 (работает на motorola V3i и др.)
реализовал свое решение, отрисовки дверей.
____
Что нужно:
выявить медленные участки кода и оптимизировать их.
квадратный корень ищется 50 раз за игровой цикл (но все-таки это кандидат на оптимизацию... не использовал твой алгоритм нахождения кв.корня, потому что программа висла.), даже если полностью исключить подпрограмму отрисовки спрайтов, то прирост скорости ~60%.
____
p.s. занимаюсь этим проектом для отдыха после работы, народ будет предлогать свои решения буду поддерживать его...

cahekp 09.03.2009 21:46

Ответ: The Maze
 
to abcdef:
> не использовал твой алгоритм нахождения кв.корня, потому что программа висла.
Да, было такое дело. :) Добавил дополнительное условие и перестало виснуть. Совсем.

ASMjavaC 09.03.2009 22:08

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

ASMjavaC 09.03.2009 22:28

Ответ: The Maze
 
abcdef
сейчас заметил или было так, но прицел сбит - огонь пускается на 10 пикселов в лево\право

abcdef 10.03.2009 14:53

Ответ: The Maze
 
cahekp - проверил твой кв.корень с дополнительной проверкой цикла - вроде не виснет, переработанный алгоритм находится в выложенном архиве, дополни выход из цикла: ... until (m=n) or (n=m+1)
___
про "прицел" не знаю... а вот насчет полета шара - то здесь накладываются погрешности вычислении при полете, а кроме того игрок поворачивается за раз на 4 градуса

cahekp 11.03.2009 13:11

Ответ: The Maze
 
Вложений: 1
to ASMjavaC:
По поводу пилообразности... Текстуры кладутся правильно. Пилообразность - это погрешность в целочисленных вычислениях.
Она образуется из-за того, что во время текстуризации столбика шаг приращения не может принимать дробные значения. Из-за этого возникают вот такие вот "эффекты".
Так вот, чтобы не переводить шаг в вещественный тип (а вещественные числа очень медленные в вычислениях), мы пытаемся избавиться от этой погрешности, умножая шаг на 512, а во время определения цвета точки - деля его на 512.
Так вот, если шаг умножать не на 512, а, например, на 4096, то пилообразность практически полностью исчезает.
...
coof:=(63*4096) div hh;
...
setp(n, data[elem,TxLine+(yo div 4096)*64]);
...

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

ASMjavaC 12.03.2009 10:35

Ответ: The Maze
 
тут говорили о проблеме убийства "проворных" врагов
предлагаю управление (дополнительное по цифровой клаве):
1 - движение вперед с поворотом влево + огонь
2 - движение вперед + огонь
3 - движение вперед с поворотом вправо + огонь
4 - движение боком влево + огонь
5 - (наверно просто огонь стоя или поворот на 180 градусов)
6 - движение боком вправо + огонь
7 - движение назад с поворотом влево + огонь
8 - движение назад + огонь
9 - движение назад с поворотом вправо + огонь

еще остается * 0 # для них можно в будущем сменить оружие, включить фонарик, бросить гранату или еще чтонибудь другое

cahekp 12.03.2009 13:21

Ответ: The Maze
 
to ASMjavaC: На мобильнике нельзя нажимать более, чем одну клавишу. "Движение вперед с поворотом влево + огонь" выполнить не получится.

ASMjavaC 15.03.2009 14:28

Ответ: The Maze
 
cahekp
Цитата:

1 - движение вперед с поворотом влево + огонь
это означает что при нажатии на циферку 1 будет происходить движение вперед с поворотом влемо и притом еще и стрелять или опять не понятно?

KAK? TAK! 30.03.2009 11:20

Ответ: The Maze
 
тогда игра еще больше будет тормозить

abcdef 30.03.2009 13:51

Ответ: The Maze
 
это вообще ни как не скажется на скорости... просто непривычно как-то

KAK? TAK! 30.03.2009 17:13

Ответ: The Maze
 
ну незнаю производительность зашкаливать будет

WISHMASTER35 02.04.2009 19:20

Ответ: The Maze
 
Интересный проэкт. Но тормозит на моём к610й. Может его лучше было бы сделать на нормальной j2me?

KAK? TAK! 02.04.2009 19:31

Ответ: The Maze
 
не нужно просто не использовать бмп

WISHMASTER35 03.04.2009 00:14

Ответ: The Maze
 
А что бмп его тормазит?
П.с. не знаете где найти информацию как вращать картинку по всем трём осям в 3д пространстве? Хотелось бы и свой превдо 3д движок сделать.
В этой игре картинки только по одной оси вращаются, мне бы хотелось большего.


Часовой пояс GMT +4, время: 15:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot