Суббота, 23 Августа 2025, 20:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
VuvkДата: Воскресенье, 30 Июля 2017, 12:52 | Сообщение # 121 | Тема: Затирание данных перед освобождением
заслуженный участник
Сейчас нет на сайте
Цитата Saitei ()
попробуй все же использовать thread pool. Суть в том, что необходимое количество потоков УЖЕ создано и готово к обработке информации.

Интересненько. Почитаю на досуге про это.
Цитата giperion ()
Ускорять данную задачу с помощью многопоточности - (если у вас там не 1 млн. элементов) точно не стоит

Я пришел к такому же выводу, потому что и тысяча с трудом наберется.


Сообщение отредактировал Vuvk - Воскресенье, 30 Июля 2017, 12:54
VuvkДата: Воскресенье, 30 Июля 2017, 10:42 | Сообщение # 122 | Тема: Затирание данных перед освобождением
заслуженный участник
Сейчас нет на сайте
Цитата giperion ()
Очень смешной тест.

Возможно. Но тест проводился не для того, чтобы опорочить потоки, а для проверки нужны ли они для решения следующей задачи:
Дано: самописные двусвязные список и словарь на языке Си.
Задача: ускорить поиск значения по 1. номеру элемента и 2. по ключу
Решение: 1. определяем к какому концу ближе номер (к голове или к хвосту) и с той стороны и начинаем поиск
2. пустить поиск с двух концов, пока не будет обнаружен элемент или не достигнута середина. С потоками резона нет как показал тест выше.
VuvkДата: Суббота, 29 Июля 2017, 11:10 | Сообщение # 123 | Тема: Ищу левелдизайнера/маппера
заслуженный участник
Сейчас нет на сайте
Цитата
Попробуй поработать над своим проектом, не имея дохода в течении месяца

Уже пробовал. Говорю - "не все упирается в деньги"

Добавлено (12 июля 2017, 07:31)
---------------------------------------------
Решил отписаться о результатах года у себя в блоге и задел болячку. Прослезился и апнул тему. Дополнил первый пост. Историю вкратце описал здесь.
Ищу человека, любящего такие шедевры, как Quake1-2, HL1, Chasm The Rift, Blood, Doom. Уровни предполагаются быть такими же коридорными и с низкой детализацией, как в этих играх.

Добавлено (12 июля 2017, 07:43)
---------------------------------------------
Также написана с нуля загрузка и анимация моделей формата MD2 (игра Quake2). Пока не пригодилось, но получилось любопытно:

Добавлено (29 июля 2017, 11:10)
---------------------------------------------
Братишки, уп.

Сообщение отредактировал Vuvk - Среда, 12 Июля 2017, 07:43
VuvkДата: Суббота, 29 Июля 2017, 10:38 | Сообщение # 124 | Тема: Совместное обучение.
заслуженный участник
Сейчас нет на сайте
VuvkДата: Пятница, 28 Июля 2017, 11:55 | Сообщение # 125 | Тема: Затирание данных перед освобождением
заслуженный участник
Сейчас нет на сайте
Цитата giperion ()
Я почти уверен - у вас нету многопоточности :)

На тему многопоточности тут провёл небольшое исследование. Хотел ускорить поиск элемента в двусвязном списке, запуская поиск с двух концов одновременно, пока один из потоков не наткнется на значение или на середину списка. Список липовый в 6000 элементов, и последовательно все опросил. Результат даже в зависимости от ОСи меня очень сильно удивил:

Ну и видимо в этой задаче оказалось совсем не резонно использовать потоки, т.к. на подготовку потоков и их запуск тратится много времени...
Цитаты из книги "Linux. Системное программирование":
Цитата
"Традиционно программы UNIX являются однопоточными, это связано с присущей UNIX простотой, быстрым созданием процессов и надежными механизмами межпроцессного взаимодействия. По всем этим причинам многопоточность не имеет в UNIX существенного значения."

Цитата
"На внутрисистемном уровне в ядре Linux реализуется уникальная разновидность потоков: фактически они представляют собой обычные процессы, которые по мере необходимости разделяют определенные ресурсы. В пользовательском пространстве Linux реализует потоки в соответствии со стандартом POSIX 1003.1c (также называемым Pthreads). Самый современный вариант реализации потоков в Linux именуется Native POSIX Threading Library (NPTL). Эта библиотека входит в состав glibc."


Сообщение отредактировал Vuvk - Пятница, 28 Июля 2017, 12:05
VuvkДата: Пятница, 28 Июля 2017, 06:25 | Сообщение # 126 | Тема: Ищу единомышленника (WEB) для неспешной разработки игры
заслуженный участник
Сейчас нет на сайте
BlackBes, расписал как мог :D %)
VuvkДата: Четверг, 27 Июля 2017, 21:22 | Сообщение # 127 | Тема: Ищу единомышленника (WEB) для неспешной разработки игры
заслуженный участник
Сейчас нет на сайте

BlackBes, сейчас я занимаюсь переписыванием с нуля своего академического игрового движка на четвертый раз. На чистом Си, чтобы прокачаться в этом языке заодно. Если вдруг будет желание спуститься с высокоуровневых языков до системного программирования, то милости прошу к нашему шалашу :) (архитектура модульная, можно разделить задачи).


Сообщение отредактировал Vuvk - Четверг, 27 Июля 2017, 21:23
VuvkДата: Четверг, 27 Июля 2017, 14:05 | Сообщение # 128 | Тема: Ищу единомышленника (WEB) для неспешной разработки игры
заслуженный участник
Сейчас нет на сайте
VuvkДата: Четверг, 27 Июля 2017, 06:57 | Сообщение # 129 | Тема: Wartime Seasons - [Нужны люди в команду]
заслуженный участник
Сейчас нет на сайте
Цитата ДанилаСтержнев ()
По словам первого контактного лица описание такое, т.к. игра была куплена у нерусскоязычного разработчика

Секундочку. А что уже добавлено вами?
VuvkДата: Четверг, 27 Июля 2017, 06:56 | Сообщение # 130 | Тема: В какие онлайн игры вы играете?
заслуженный участник
Сейчас нет на сайте
Очень редко играю в онлайн игры. Иногда гоняю в Age of Conan или в The Elder Scrolls Online. Обычно с друзяшками в кооперативное что-то играем.
Ещё под настроение люблю погонять Quake1, Quake3, openarena, Warsow...
VuvkДата: Среда, 26 Июля 2017, 13:11 | Сообщение # 131 | Тема: Wartime Seasons - [Нужны люди в команду]
заслуженный участник
Сейчас нет на сайте
Выглядит очень круто. Контент ваш?
VuvkДата: Пятница, 21 Июля 2017, 12:57 | Сообщение # 132 | Тема: Затирание данных перед освобождением
заслуженный участник
Сейчас нет на сайте
Saitei, т.к. программа - самый обыкновенный игровой движок, то данное обстоятельство можно не учитывать ))

Сообщение отредактировал Vuvk - Пятница, 21 Июля 2017, 12:57
VuvkДата: Пятница, 21 Июля 2017, 05:53 | Сообщение # 133 | Тема: Поворот игрока к нормали в 2D.
заслуженный участник
Сейчас нет на сайте
Пора значит натаскаться в математике. Нормаль, условно говоря, вектор, перпендикулярный плоскости и направленный от лицевой стороны. В случае 2D это перпендикуляр отрезка, показывающий, где у него верх. (0.0, 1.0) это и есть "вверх" в мире 2D.
В unity для поворота в сторону вектора есть Quaternion.LookRotation или Transform.LookAt, которые не прокатят в 2D, т.к. Z=0.0.
Как-то нарыл такой вот класс, помогающий вертеть 2D объекты:
Код

/** copyright Leroy Ketelaars, 2015.
  * I hereby license the entire human race to use this code as they see fit,
  * provided they maintain this license in their source code as-is.
  * A credit mention in your resulting work would be appreciated. */
using UnityEngine;
using System.Collections;

public static class TransformExtensions
{
    public static void LookAt2D (this Transform t, Vector3 worldPosition)
    {
        t.rotation = Quaternion.identity;
        t.Rotate (Vector3.forward, (Mathf.Atan2 (t.position.y - worldPosition.y, t.position.x - worldPosition.x) * 180f / Mathf.PI) - 180f);
    }

    public static void LookAt2D (this Transform t, Transform target)
    {
        t.rotation = Quaternion.identity;
        t.Rotate (Vector3.forward, (Mathf.Atan2 (t.position.y - target.position.y, t.position.x - target.position.x) * 180f / Mathf.PI) - 180f);
    }

    public static void LookAwayFrom2D (this Transform t, Vector3 worldPosition)
    {
        t.rotation = Quaternion.identity;
        t.Rotate (Vector3.forward, (Mathf.Atan2 (t.position.y - worldPosition.y, t.position.x - worldPosition.x) * 180f / Mathf.PI));
    }

    public static void LookAwayFrom2D (this Transform t, Transform target)
    {
        t.rotation = Quaternion.identity;
        t.Rotate (Vector3.forward, (Mathf.Atan2 (t.position.y - target.position.y, t.position.x - target.position.x) * 180f / Mathf.PI));
    }
}


Сообщение отредактировал Vuvk - Пятница, 21 Июля 2017, 05:55
VuvkДата: Четверг, 20 Июля 2017, 11:19 | Сообщение # 134 | Тема: Вопрос-Ответ (C++)
заслуженный участник
Сейчас нет на сайте
Цитата FlyOfFly ()
в заголовочный файлах F1, есть подключен заголовочный файл F2, в которых подключен заголовочный файл F1, если в этом, то какой вариант - исправление?

попробовать выбросить #pragma once и использовать include guards
Код

#ifndef _F1_H
#define _F1_H
// содержимое хедэра
#endif // _F1_H


Сообщение отредактировал Vuvk - Четверг, 20 Июля 2017, 11:28
VuvkДата: Четверг, 20 Июля 2017, 06:35 | Сообщение # 135 | Тема: Давайте поможем друг другу, или живой генератор идей.
заслуженный участник
Сейчас нет на сайте
UncleNick, если по сути нет никакого опыта, то и не нужно ставить перед собой какие-то труднодостижимые (читать "не-" вместо "трудно-") цели. Если хочется 3D, но с простой механикой, то бери простые аркады и реализуй их - платформер, скролл-шутер, арканоид и пр. С виду просто, но для новичка это серьезный вызов.
Как вариант - запилить что-то подобное, но в воксельном исполнении:

Для вокселей предлагаю взять MagicaVoxel, т.к. это весьма простая и бесплатная программа, умеющая производить экспорт своего родного .VOX-формата в полигональные модели распространенных форматов.


Сообщение отредактировал Vuvk - Четверг, 20 Июля 2017, 07:39
VuvkДата: Среда, 19 Июля 2017, 13:53 | Сообщение # 136 | Тема: StackTraceUtility.PostProcessStacktrace в профайлере
заслуженный участник
Сейчас нет на сайте
Подозреваю наличие ответа здесь
VuvkДата: Вторник, 18 Июля 2017, 11:41 | Сообщение # 137 | Тема: Old Life - Пишу ММО
заслуженный участник
Сейчас нет на сайте
Цитата Povstalez ()
Собственное решение.

Исчерпывающий ответ. Но я имел ввиду какой ЯП, библиотеки используешь?


Сообщение отредактировал Vuvk - Вторник, 18 Июля 2017, 11:42
VuvkДата: Вторник, 18 Июля 2017, 09:19 | Сообщение # 138 | Тема: Затирание данных перед освобождением
заслуженный участник
Сейчас нет на сайте
Цитата Otinagi ()
Хотя, если не изменяет память, даже Квейк 3 писался на Си, а не Си++. Так что, народ справлялся как-то и без ООП (:

Во всех движках idTech < 4 весьма себе объектно-ориентированный стиль. В рамках Си, конечно.

Добавлено (18 июля 2017, 09:19)
---------------------------------------------
Цитата Otinagi ()
Для PC, иногда, да; для контроллеров - определённо нет.

Подскажи, как специалист, почему? Или у тебя доступ не последовательный, а по номеру в массиве? Если так, то тут спору нет - оно и на ПК медленнее. Я в своем проекте остановился на списках, потому что мне нужно быстро то добавлять, то удалять элементы, а динамические массивы в этой ситуации - это грустно. Плюс мне нужно всегда проходить от первого элемента к последнему и обрабатывать их, нет необходимости дергать что-то в центре, например (либо оооочень редко).


Сообщение отредактировал Vuvk - Вторник, 18 Июля 2017, 09:20
VuvkДата: Вторник, 18 Июля 2017, 04:48 | Сообщение # 139 | Тема: Old Life - Пишу ММО
заслуженный участник
Сейчас нет на сайте

Клиент на Юнити, а сервер на чем пишешь? Любопытно же.


Сообщение отредактировал Vuvk - Вторник, 18 Июля 2017, 06:19
VuvkДата: Понедельник, 17 Июля 2017, 11:40 | Сообщение # 140 | Тема: Alarm и его применение в столкновении
заслуженный участник
Сейчас нет на сайте
Сейчас поглядел что там в гамаке, а там нет разделения на collision_enter и collision_exit, так что если ты это запихнул в collision (при чем всё сразу)
Цитата Reker ()
if (!canPlayerDamage)
{
alarm [0] = room_speed;
canPlayerDamage = true;
}
canPlayerDamage = false;
alarm[0] = -1;

оно не будет работать, ахах.
попробуй убрать туда же в таймер
Код

hp-=10;
canPlayerDamage = false;
alarm[0] = -1;


Поиск:

Все права сохранены. GcUp.ru © 2008-2025 Рейтинг