[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
FunWorldv2 beta1. Вступительное слово...
GreenDanДата: Вторник, 24.11.2009, 22:38 | Сообщение # 1
Группа: Проверенные
Сообщений: 146
____________________
Почетный гость
____________________
Репутация: 3 ±
Замечания: ±
Новую версию игру начал делать 1,5 недели назад, делал не спеша, но сегодня целый день посвятил созданию игры (так как редактор карт был уже готов). Что же нового в новой версии... Во первых, управление теперь осуществляется мышкой. Во вторых, карта абсолютно динамическая и может быть любых размеров. Я условился, что видимый кусок карты это 16 метров, так вот можно создать карту длиной в 1 км smile . В третьих, добавлена анимация.

Про первую бету версию.
Предоставлен на рассмотрение сыроватый геймплей игры. Помогите решить, что нужно добавить, а что исправить. Нужно ли управление мышкой? Можно ли как-то сделать это всё удобней? Отредактировать ли скорость персонажа, высоту прыжка?

Про устройство игры:
Как только вы заходите в определённую зону, игра строит изображение зоны по массиву, а затем уже готовое изображение каждый такт таймера выводит на экран. Это позволяет намного меньше снизить загрузку ЦП(хотя даже если и не использовать такой метод, то загрузка будет 0 (до чего компьютеры дошли biggrin ))

А теперь показываю самый ужасный код проекта:

Code
procedure Collisions;
begin
     if p.Y + 25 > GetBufferHeight then p.Y := 0;
     if p.X > GetBufferWidth - 50 then
       if Map.sx + MapResX <> Map.LengthX then begin
         Inc(map.sx, MapResX+1);
         p.X := 0;
         CreateBG;
       end;

     if (map.Matrix [(p.x + 26) div sPoint + Map.sx, ((p.Y - 25) div sPoint) + Map.sy] <> 1) or
        (map.Matrix [(p.x + 26) div sPoint + Map.sx, p.Y div sPoint + Map.sy] <> 1)

        then MovePlayer
        else p.X := p.X div sPoint * sPoint + 25;

     if (map.Matrix [p.X div sPoint + Map.sx,   p.Y div sPoint + Map.sy ] <> 1) or
        (map.Matrix [p.X div sPoint + Map.sx,  (p.y + 25) div sPoint + Map.sy] <> 1)

        then MovePlayer
        else p.X := p.X div sPoint * sPoint + 50;

     if (map.Matrix [p.X div sPoint + Map.sx, (p.y + 26) div sPoint + Map.sy] = 1) or
        (map.Matrix [(p.X + 25) div sPoint + Map.sx, (p.y + 26) div sPoint + Map.sy] = 1)
        then begin
          p.Y := p.Y div sPoint * sPoint + 25; Jump := false;
        end

        else begin
         Inc(p.y, 5); Jump := true;
        end;

end;

Так называемая коллизия - проверка столкновения с другими объектами biggrin

Управление в игре
Левая кнопка мыши - идти к точке
Правая кнопка мыши - прыгнуть

Все идеи, по поводу игры, описывайте в этой теме.
Спасибо за внимание.
P.S. Если понадобится исходный код, могу выложить.

Прикрепления: fwv2b1.rar (222.7 Kb)




Сообщение отредактировал GreenDan - Вторник, 24.11.2009, 22:40
SaiLightДата: Вторник, 24.11.2009, 22:49 | Сообщение # 2
Ведущий программист
Группа: Администратор
Сообщений: 312
____________________
Активист
____________________
Репутация: 8 ±
Замечания: ±
О, сейчас посмотрю игру.

Quote (GreenDan)
А теперь показываю самый ужасный код проекта:

Я мало что понял, но он действительно ужасен.

GreenDanДата: Вторник, 24.11.2009, 22:51 | Сообщение # 3
Группа: Проверенные
Сообщений: 146
____________________
Почетный гость
____________________
Репутация: 3 ±
Замечания: ±
Это слабо похоже на игру, только демонстрация геймплея. Даже ИИ нет никакого smile

SaiLightДата: Вторник, 24.11.2009, 23:22 | Сообщение # 4
Ведущий программист
Группа: Администратор
Сообщений: 312
____________________
Активист
____________________
Репутация: 8 ±
Замечания: ±
Я посмотрел и обнаружил парочку недочетов в этой демо-версии. Итак, вот они:

1. Не очень удобно, что в месте, куда нажимаешь мышкой, рисутся квадратик, потому что это закрывает изображение девушки.

2. Там размеры текстур меньше, чем 50х50 или я ошибаюсь?

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

4. Прыжок слишком резок и также резко уходит вверх. Удобнее было бы, если бы она летела по наклонной.

5. Некоторые графические недочеты, такие как отсутствие фона, некая пустота на карте и т.д.

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

----------------------------------------------------

Да, и еще желтая обводка вокруг девушки.

GreenDanДата: Среда, 25.11.2009, 08:17 | Сообщение # 5
Группа: Проверенные
Сообщений: 146
____________________
Почетный гость
____________________
Репутация: 3 ±
Замечания: ±
Quote
2. Там размеры текстур меньше, чем 50х50 или я ошибаюсь?

Размеры девушки стали 25х25.
Quote
3. По мне, все же, лучше, чтобы управление производилось с помощью клавиатуры, хотя, каждому человеку удобнее по-своему.

Да, всё-таки лучше пускай будет клавиатурное управление.
Quote
Прыжок слишком резок и также резко уходит вверх. Удобнее было бы, если бы она летела по наклонной.

Хорошо.
Quote
5. Некоторые графические недочеты, такие как отсутствие фона, некая пустота на карте и т.д.

Это я тоже заметил и знал, что заметишь и ты :). Просто я не сильно уделял внимание графике на первой бете.
Quote
Да, и еще желтая обводка вокруг девушки.

Постараюсь убрать.

Спасибо, SaiLight, за советы и мнение по поводу беты. Вторая версия будет доработанной, и всё недочёты будут исправлены.



Сообщение отредактировал GreenDan - Среда, 25.11.2009, 08:17
SaiLightДата: Среда, 25.11.2009, 10:12 | Сообщение # 6
Ведущий программист
Группа: Администратор
Сообщений: 312
____________________
Активист
____________________
Репутация: 8 ±
Замечания: ±
Quote (GreenDan)
Постараюсь убрать.

Вероятно, она появилась, когда ты уменьшал спрайты. Ты делал это в Photoshop'е? Если да, то тогда все ясно, потому что он немного размывает изображение, делая полупрозрачность. Мы убирали ее, используя Paint.

Quote (GreenDan)
Вторая версия будет доработанной, и всё недочёты будут исправлены.

Будем ждать.

SaiLightДата: Суббота, 12.12.2009, 03:02 | Сообщение # 7
Ведущий программист
Группа: Администратор
Сообщений: 312
____________________
Активист
____________________
Репутация: 8 ±
Замечания: ±
GreenDan, давно от тебя нету никаких известий об игре. Как продвигается проект, не забросил еще? Если нужна будет помощь в графике, обращайся в любое время.

GreenDanДата: Суббота, 12.12.2009, 14:27 | Сообщение # 8
Группа: Проверенные
Сообщений: 146
____________________
Почетный гость
____________________
Репутация: 3 ±
Замечания: ±
Стал переделывать редактор, старый код удалил. Новый код не попёр, а старый переписывать лень. Тем более не могу никак сообразить, как оптимизировать столкновение игрока с другими объектами. Пока что приостановил работу над игрой.

SaiLightДата: Суббота, 12.12.2009, 14:37 | Сообщение # 9
Ведущий программист
Группа: Администратор
Сообщений: 312
____________________
Активист
____________________
Репутация: 8 ±
Замечания: ±
Ну ладно, будем надеяться, что когда-нибудь работа будет возобновлена. Мы тоже приостановили, но вот в каникулы собираемся ею заняться.

GreenDanДата: Среда, 13.01.2010, 13:09 | Сообщение # 10
Группа: Проверенные
Сообщений: 146
____________________
Почетный гость
____________________
Репутация: 3 ±
Замечания: ±
Новости игры:
Начал делать снова с нуля, так как старый редактор карт не годился, я понял, что в старой версии было много недочётов.
Пока не решу, разбить ли мне игру на несколько уровней или создать один большой.
Пару слов о программе:
- Массив изображений стал динамическим. Загрузка изображений осуществляется следующим образом: существует файл TexturePath.txt, в котором записана информация такого типа:
Quote
2
Tree.bmp 0
Grass.bmp 1
Ground.bmp 1

2 - количество изображений. Остальные записи - пути к файлам изображений, а цифры рядом со строками - проходимость объекта (преграда или нет).
Сохраняется карта в таком формате:
1). Для игры:
Quote
63 7
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
Grass.bmp 0

Первая строка - размерность карты, массива.
Далее записаны значения элементов массива. -1 - пустота.
После идёт перечень путей к изображениям, которые присутствуют на карте, цифра обозначает проходимость. Если какого-либо изображения на карте нет, то записываться в файл путь не будет. Это позволит экономить ресурсы системы, ведь зачем выделять память под изображение, которое на данном уровне не встретится.
2). Для редактора:
Quote
63 7
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

0
2
0


Первая строка - размерность массива.
Далее понятно.
После записаны числа, характерезующие количество данных объектов на карте. Как помните, у нас есть файл путей изображений, где присутствуют три записи. 0 - количество Tree.bmp, 2 - количество Grass.bmp, 0 - количество Ground.bmp. Здесь есть один недочёт правда: 1 - это изображение Grass.bmp, но в игре он должен быть под нулевым номером. Обещаю исправить (=
P.S. Уже исправил. (=
Вот такие небольшие изменения. Могу ещё сказать только, что все структуры в редакторе динамические.




Сообщение отредактировал GreenDan - Среда, 13.01.2010, 13:25
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: