Миничат

poca 5 ч. не кикает больше часа. зер гут
poca 7 ч. было-бы неплохо, да
poca 7 ч. авто-бан за 10 повторений
poca 7 ч. придётся
poca 7 ч. банить
poca 7 ч. фсаперов
poca 7 ч. вручную
poca 7 ч. то
poca 7 ч. а
poca 7 ч. надо
poca 7 ч. прикрутить
poca 7 ч. фильтр
poca 7 ч. -
poca 7 ч. спам
poca 7 ч. но
poca 7 ч. работу
poca 7 ч. проделанную
poca 7 ч. за
poca 7 ч. большое
poca 7 ч. большое

Разработка Polarities

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117589 от 2Oth_Century_boi
Здрасте... Начинаю свой дневник разработки игры Polarities.
Это фан-игра по Yume Nikki, отличающаяся от остальных свой однобитной графикой(только чёрный и белый цвета) и тем, что она делается не в RPG maker'е, а на своём движке на C++ с библиотекой SFML. :mad:

О названии
Название рабочее, возможно сменю его. Само оно переводится как "противоположности", которое как-бы намекает на однобитную графику.

Суть игры
Так как это ЮмеНикки-подобная игра, суть её будет заключаться в похождениями по странному миру и исканию превращений. Я не буду делать 12 миров и 24 превращений как в оригинале, сделаю поменьше.
А если у кого-то есть идеи для превращений, то можете написать идею в эту тему.(Хотя, учитывая отношение большинства форумчан ко мне, почти никто не будет интересоваться моей игрой)

Что уже готово?
Я пилю игру не с самого начала. Уже в создании есть небольшой прогресс и кое-кто даже протестировал эту игру. :silly:
Вот вам скриншот первой тестовой комнаты:
ВНИМАНИЕ: Спойлер!


Примерно вот так это всё и выглядит.
Ещё, там есть уже несколько превращений, все я вам не покажу, только некоторые:
ВНИМАНИЕ: Спойлер!


Если говорить о возможностях моего движка на данный момент, то вот список:
  1. Можно ходить :ohmy:
  2. Можно перемещаться между комнатами
  3. Можно создавать карты
  4. Можно сохраняться(конкретно сохраняются: координаты, комната, превращение)
  5. Реализовано взаимодействие с картой(конкретно: стены и двери)
  6. Инверсия
Немного подробностей об инверсии. В игре будут "тёмные" и "светлые" комнаты. В светлых комнатах персонаж будет выглядеть как на картинках выше, а в тёмных будет в инверсии. Думаю это очень интересное решение.

Вот, в принципе и всё, что я хотел рассказать об игре. Точной даты входа сказать не могу.
И я надеюсь, что игрой будет интересоваться более 1 человека, но я считаю, что если то, что ты делаешь интересно хотя-бы одному человеку, то следует продолжать это делать даже ради одного. :)
Спасибо сказали: Alx_Yago, Wekss

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
5 года 10 мес. назад #117592 от yuryol
yuryol ответил в теме Разработка Polarities

Если говорить о возможностях моего движка на данный момент, то вот список:
Можно ходить :ohmy:
Можно перемещаться между комнатами
Можно создавать карты
Можно сохраняться(конкретно сохраняются: координаты, комната, превращение)
Реализовано взаимодействие с картой(конкретно: стены и двери)
Инверсия


возникает резонные вопросы:
1) почему на форуме по мукеру ты делаешь игру не на мукере?
2) зачем свой движок если его возможности - это 1/100 возможности мукера?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117595 от 2Oth_Century_boi

yuryol пишет: почему на форуме по мукеру ты делаешь игру не на мукере?

А это разве запрещено? *facepalm*
Конкретно создать дневник разраба об этой игре мне разрешила Анька)) К тому же, эта игра похожа на мукеровскую.

yuryol пишет: зачем свой движок если его возможности - это 1/100 возможности мукера?

Эээ... Ну тык эту игру даже пре-альфой назвать нельзя, она крайне сырая. А движок я буду ещё долго-долго дорабатывать. *facepalm* *facepalm*
И да, покажи мне где в мукере находятся тайлы 20 на 20 и спрайты NPC неограниченного размера?)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
5 года 10 мес. назад #117597 от yuryol
yuryol ответил в теме Разработка Polarities

2Oth_Century_boi пишет: И да, покажи мне где в мукере находятся тайлы 20 на 20 и спрайты NPC неограниченного размера?)


в MV
Спасибо сказали: ZX_Lost_Soul, Iq54

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад - 5 года 10 мес. назад #117687 от 2Oth_Century_boi
Решил сделать скруглённые стены. Что-бы смотрелось лучше. Но по моему получилось как-то не очень.
ВНИМАНИЕ: Спойлер!

Да и вообще стены в игре почти нигде не будут использоваться, так что я сделал вообще ненужное) А улучшать, наверное, стоит разными элементами интерьера(ну, тумбочки, стулья всякие), а не скашиванием бензопилой углов стен.
Последнее редактирование: 5 года 10 мес. назад пользователем 2Oth_Century_boi.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Разработчик 3 место 3 место в Обучающем конкурсе Учитель Оратор 1 место в Обучающем конкурсе Паладин Проект года 3 место Проект года 1 место
Больше
5 года 10 мес. назад #117689 от Alx_Yago
Alx_Yago ответил в теме Разработка Polarities

2Oth_Century_boi пишет: Решил сделать скруглённые стены.


Ну да, это вышло не скругление, а такая мега-фаска, только недоделанная: можно положить полутень на всю её поверхность и сделать правильный скос на верхней части, тогда, наверное, будет нормально выглядеть.
Ну и предлагаю не страдать раньше времени. Если будешь выкладывать что-то интересное, то игрой будут интересоваться, отчего нет?
Спасибо сказали: Spot the fox

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117690 от 2Oth_Century_boi

Alx_Yago пишет:

2Oth_Century_boi пишет: Решил сделать скруглённые стены.


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


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

Хотя та жирная тень у краёв лишняя, попробую её убрать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Поддержка Фонда Даритель Стимкея 2 место в Обучающем конкурсе Учитель
Больше
5 года 10 мес. назад #117691 от Безликий
на скринах видно, что многие "пиксели" разного размера, где-то шире, где-то уже, где-то выше. Из-за этого картинка кажется рваной, ну и диагонали "не по канону", что тоже делает восприятие элементов именно что драными, куцими. Геометрия нарушается и визуально сложно воспринимать результат.Но вполне может быть, что проблема лишь в самих скринах, а "в живую" оно смотрится нормально.

Вообще браться за проект в ПА с 1бит (2 цвета) это задача для действительно шарящих в ПА профи, ибо это ну супер-сложно. Я посматриваю за разными профи в этом деле, на ютубах, и 1бит это прям челлендж для навыков. Может стоит разбить палитру на 4-8 цветов, вместо 2ух.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117692 от 2Oth_Century_boi

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

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

Безликий пишет: Вообще браться за проект в ПА с 1бит (2 цвета) это задача для действительно шарящих в ПА профи, ибо это ну супер-сложно. Я посматриваю за разными профи в этом деле, на ютубах, и 1бит это прям челлендж для навыков. Может стоит разбить палитру на 4-8 цветов, вместо 2ух.

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Поддержка Фонда Даритель Стимкея 2 место в Обучающем конкурсе Учитель
Больше
5 года 10 мес. назад #117693 от Безликий
Получилось норм, это не получилось хорошо (8 есть над чем работать.

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

А вот с "неправильными" пикселями надо 100% бороться, очень тяжело воспринимать то, что видно на скринах.
Спасибо сказали: 2Oth_Century_boi

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад - 5 года 10 мес. назад #117695 от 2Oth_Century_boi
Я подумал и решил, что сначала стоит оформить сами механики игры, а потом уже работать над графикой.
Ну так вот, один очень хороший человек мне подкинул идею, о том, что-бы превращения как-нибудь влияли на геймплей.
И так, есть превращение "бронежилет", где ГГ одевает броник и ходит в нём(логично).
Для чего нужен бронежилет в жизни? Для защиты от огнестрельного оружия.

Ну и у меня появилась идея:
Будет комната и там влево-вправо катается пушка на колёсиках. В комнате есть проход дальше, но он закрыт. Он откроется, если пушка шмальнёт в ГГ. И то-есть, если превращение ГГ это не "бронежилет", то герою кирдык. Если на герое есть броник, то ему не кирдык :mad: . Таким образом, чтобы получить следующие превращение, нужно сначала найти другое превращение. По мне, неплохое разнообразие геймплея, которое сильнее отличает мою игру от оригинала.

Я нарисовал пушку, вот что получилось:
ВНИМАНИЕ: Спойлер!


И ещё, я написал код, что-бы пушка "выслеживала" игрока. Но стрелять она пока ещё не умеет.
ВНИМАНИЕ: Спойлер!


Кстати, эта пушка, если можно так сказать, первый NPC в игре! Правда я её добавил без применения ООП, поэтому, если я захочу добавить ещё NPC, то мне придётся громоздить процедурную кашу каждый раз. Потом нужно будет запилить класс для NPC, иначе тонны кода обеспечены :angry:
Последнее редактирование: 5 года 10 мес. назад пользователем 2Oth_Century_boi.
Спасибо сказали: Alx_Yago, Iq54

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117711 от 2Oth_Century_boi
Две новости.

Первая

Я сделал небольшое оформление в комнате с пушкой на рельсах. Да, я говорил, что графикой бузу заниматься уже потом. Но, как-бы накалякать травы это дело секундное. Как по мне, с оформлением всё выглядит совершенно по другому.
Вот что вышло:
ВНИМАНИЕ: Спойлер!


Вторая

Я добавил столкновения с пушкой и теперь через неё нельзя пройти. Также пушка теперь останавливается, если персонаж слишком близко.
Гифка получилась почему-то какой-то лагучей.
ВНИМАНИЕ: Спойлер!
Спасибо сказали: Alx_Yago

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад - 5 года 10 мес. назад #117726 от 2Oth_Century_boi
Вчера я писал это:

Правда я её добавил без применения ООП, поэтому, если я захочу добавить ещё NPC, то мне придётся громоздить процедурную кашу каждый раз. Потом нужно будет запилить класс для NPC, иначе тонны кода обеспечены :angry:

А сегодня я сделал достаточно значимую вещь для проекта, написал класс для NPC. Теперь создание и управление NPC можно уместить в нескольких строках, раньше бы пришлось громоздить "процедурную кашу".

Примеры ниже.
(на этом форуме нет специального BB-кода для C++, поэтому использую [сode type=php] )
Code:
#include <SFML/Graphics.hpp> using namespace sf; int main() { Clock clock; Texture NPCtex; Sprite NPCsprt; NPCtex.loadFromFile("images/sprite.png"); NPCsprt.setTexture(NPCtext); NPCsprt.setPosition(20, 20); NPCsprt.setTextureRect(intRect(21, 0, 21, 45)); while(true) { float time = clock.getElapsedTime().asMicroseconds(); clock.restart(); time = time / 800; NPCsprt.move(0, 0.2*time); } return 0; }
(Если вы скопируете и вставите код, то ничего работать не будет, т.к. нужно создать окно, поработав с SFMLевским классом RenderWindow)

Видите код сверху? Он достаточно громоздкий и быть может он выполняет кучу задач? Э... Нет)) :silly:
Он создаёт картинку и двигает её вниз...
ВСЁ! Он даже не анимирует спрайт! Просто двигает и всё! :blink:

А теперь попробует сделать аналогичный код, но с использованием моего класса:
Code:
#include <SFML/Graphics.hpp> using namespace sf; int main() { Clock clock; NPC myNPC("sprite.png", 21, 45); myNPC.NPCteleport(20, 20); while(true) { float time = clock.getElapsedTime().asMicroseconds(); clock.restart(); time = time / 800; myNPC.NPCanim(3, time, 0.007f, 21, 0); myNPC.NPCmove(0, 0.1f, time); } return 0; }

Код получился меньше! Более того, он не просто двигает спрайт, он ещё и анимирует его! Вот такая вот штука эти классы.
Для наглядности, по спойлером находятся фрагменты кода, напрямую связанную с функционированием NPC:
ВНИМАНИЕ: Спойлер!


Теперь расскажу о конкретных методах класса.

Сам конструктор класса:
Code:
NPC(F, X, Y);

F — названия графического файла с текстурами для NPC.
X — длина спрайта по координате X.
Y — длина спрайта по координате Y.
Создаёт самого NPC.

Метод телепортации:
Code:
NPCteleport(X, Y);
X — координата X.
Y — координата Y.
Телепортирует NPC в заданные координаты.

Метод отрисовки:
Code:
NPCdispl();
Самый простой, но самый важный метод. Отображает спрайт NPC в окне игры.

Метод движения:
Code:
NPCmove(X, Y, TIME);
X — скорость движения по X.
Y — скорость движения по Y.
TIME — временной стабилизатор/коэффициент для привязки ко времени. Это переменная, обратно пропорциональная скорости работы процессора. Делает движение равномерным.
Двигает NPC с заданной скоростью.

Метод... указания кадра?:
Code:
NPCtexRect(L, T);
L — координата самого левого пикселя кадра спрайта.
T — координата самого верхнего пикселя кадра спрайта.
Задаёт спрайту нужный кадр. Если метод анимации нельзя использовать по каким-то причинам, можно использовать этот метод.

Метод анимации:
Code:
NPCanim(M, TIME, S, L, T);
M — количество кадров.
TIME — коэффициент для привязки ко времени.
S — частота кадров.
L — координата самого левого пикселя второго кадра спрайта(обычно равна длине).
T — координата самого верхнего пикселя второго кадра спрайта(обычно равна высоте).
Анимирует NPC.

Метод получения координат:
Code:
NPCcords();
Записывает координаты NPC в переменные класса XC и YC.

Фух... Вроде всё перечислил.
В принципе, в вот и всё. Теперь для создания новых NPC не придётся писать тонны кода! :woohoo: .
Последнее редактирование: 5 года 10 мес. назад пользователем 2Oth_Century_boi. Причина: Поменял тип пода на php

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117757 от 2Oth_Century_boi
На прошлое сообщение вообще никто не обратил внимание и я чёт приуныл(( :(
Но теперь я разуныл и запилил кое что для игры.

Первое
Добавил новое превращение. И оно с одной стороны оригинальное, т.к. в YN такого не было, с другой стороны оно не очень оригинальное, т.к. в YN было похожее превращение. Также, с одной стороны оно необычное, с другой, это весго лишь "свободная трансформация" из ФотоШопа :silly: Само превращение я назвал "Сплющивание". Вот оно:
ВНИМАНИЕ: Спойлер!


Второе
Я начал работу над меню. Я уже написал для него класс, но он очень маленький и писать о нём подробно нет смысла.
Меню я научил сохранять и загружать, пример под спойлером.
ВНИМАНИЕ: Спойлер!
Спасибо сказали: Alx_Yago

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117848 от 2Oth_Century_boi
Решил попробовать создать что-то наподобие локации. Я решил, что первая локация будет лесная. В оригинале тоже есть лесная локация и она вполне могла бы стать моей любимой локацией в YN, если бы не страшная музыка(( :(
Я нарисовал елок и расставил их по карте. Пока-что выглядит немного пустовато, но уже смотрится неплохо.
ВНИМАНИЕ: Спойлер!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117937 от 2Oth_Century_boi
Опять я долго пропадал... :(
Ну ладно, что же я сделал сегодня для игры? Добавил фон для локации. В оригинале также у локаций всегда был фон. И на фоне всегда была какая-то хрень. Лично решил не заморачиваться и фон это просто скриншот локации, увеличенный с помощью high-tech технологии "Ctrl+C, Ctrl+V". Но скажу, что фон одной из локаций в оригинале был сделан точно также. Пока фон не зациклен и просто движется по диагонали.
ВНИМАНИЕ: Спойлер!


Ещё я, кстати, добавил музыку в локацию. Взял я её из оригинальной Yume Nikki, из тёмного мира. И знаете, уже чувствуется даже какая-то атмосфера! Правда, гифки не могут играть музыку(
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 10 мес. назад - 5 года 10 мес. назад #117943 от F15h
F15h ответил в теме Разработка Polarities
Написанный на C++ main loop это очень интересно(на самом деле самая скучная часть кода).

На самом деле в предложенном варианте имхо нет лока фпс и на разных машинах будет разная скрость движения спрайта вдоль экрана(а может просто показалось)

#include <SFML/Graphics.hpp>

using namespace sf;

int main() {
Clock clock;
Texture NPCtex;
Sprite NPCsprt;
NPCtex.loadFromFile("images/sprite.png");
NPCsprt.setTexture(NPCtext);
NPCsprt.setPosition(20, 20);
NPCsprt.setTextureRect(intRect(21, 0, 21, 45));
while(true) {
float time = clock.getElapsedTime().asMicroseconds();
clock.restart();
time = time / 800;
NPCsprt.move(0, 0.2*time);
}
return 0;
}

Последнее редактирование: 5 года 10 мес. назад пользователем F15h.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117944 от 2Oth_Century_boi

F15h пишет: На самом деле в предложенном варианте имхо нет лока фпс и на разных машинах будет разная скрость движения спрайта вдоль экрана(а может просто показалось)

Как-бы, он там есть))

Вот в этой части кода ниже переменной "time" присваивается значение, обратно пропорциональное быстродействию процессора в данный момент.
Code:
#include <SFML/Graphics.hpp> using namespace sf; int main() { Clock clock; while(true) { float time = clock.getElapsedTime().asMicroseconds(); clock.restart(); time = time / 800; } return 0; } }

Если посмотришь на код, который у меня был выше, то там увидишь, что скорость движения спрайта умножена на "time".
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 10 мес. назад #117947 от F15h
F15h ответил в теме Разработка Polarities

2Oth_Century_boi пишет:

F15h пишет: На самом деле в предложенном варианте имхо нет лока фпс и на разных машинах будет разная скрость движения спрайта вдоль экрана(а может просто показалось)

Как-бы, он там есть))

Вот в этой части кода ниже переменной "time" присваивается значение, обратно пропорциональное быстродействию процессора в данный момент.
Code:
#include <SFML/Graphics.hpp> using namespace sf; int main() { Clock clock; while(true) { float time = clock.getElapsedTime().asMicroseconds(); clock.restart(); time = time / 800; } return 0; } }

Если посмотришь на код, который у меня был выше, то там увидишь, что скорость движения спрайта умножена на "time".


И сколько ядер процессора это скущает?)
Обьясняю. Ну опять же я не вижу всех моделей, может быть ответсвенность за перерисовку спрайтов реализована с какой-нить веселой логикой.


Но то что я вижу по мейн лупу.
1) проц выполнил получение времени за 0.000001 секунды
2) сбросил таймер
3) выскачитал время
4) посчитал логику
5) отрисовал спрайты на том же самом месте
6) ушел на пункт один

итого имеет фпс в 1600 - с полной загрузкой одного из ядер(скорее всего но это не точно)
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • 2Oth_Century_boi
  • Автор темы
  • Не в сети
  • Бывалый
  • Бывалый
  • А вот и нет, добро – вещь обратно пропорциональная злу.
Учитель
Больше
5 года 10 мес. назад #117948 от 2Oth_Century_boi

F15h пишет: И сколько ядер процессора это скущает?)
Обьясняю. Ну опять же я не вижу всех моделей, может быть ответсвенность за перерисовку спрайтов реализована с какой-нить веселой логикой.


Но то что я вижу по мейн лупу.
1) проц выполнил получение времени за 0.000001 секунды
2) сбросил таймер
3) выскачитал время
4) посчитал логику
5) отрисовал спрайты на том же самом месте
6) ушел на пункт один

итого имеет фпс в 1600 - с полной загрузкой одного из ядер(скорее всего но это не точно)


Так, я чёт не очень понимаю о чём ты... Но ты по моему тоже не очень меня понял :silly:

F15h пишет: И сколько ядер процессора это скущает?)

Эээ... А почему ты считаешь, что оно должно сжирать столько мощности процессора? Или ты думаешь, что этот цикл будет выполняться 1000000 раз в секунду?

F15h пишет: 1) проц выполнил получение времени за 0.000001 секунды

С какой стати именно за это время? :blink:
"float time = clock.getElapsedTime().asMicroseconds();" тупо задаёт значение переменной "float". Объясняю: если процессор смог выполнить этот цикл за 1 микросекунду, то time = 1, если за микросекунду процессор выполнил этот цикл 2 раза, то time = 0.5, а если процессор за микросекунду выполнил лишь половину цикла, то time = 2.

F15h пишет: 3) выскачитал время

Деление на 800 нужно лишь для того, что-бы переменная "time" не была такой огромной и не слишком люто изменяла скорость спрайта.

F15h пишет: итого имеет фпс в 1600

Откуда эта цифра?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.142 секунд
Работает на Kunena форум