29

» Программирование / Новведения в C# 6.0

sb3d, существует такое понятие как обратная совместимость
ПС. Кое кто выложил исходники ядра CLR :3
29

» Secrets Rooms / Новые видео по "Secrets Rooms"

Я вас советы спрашиваю?
Вот тут ты прям меня расстроил(
Vitaly7:
Почему, когда выкладываешь тот же материал на фейсбуке, люди лайки ставят, говорят, мол, продолжай, дай поиграть потом, удачи...
Как будто тут такого не было?
29

» Администрация XGM / Чёрный список (бан-лист)

По-крайней мере, логически, это проще сделать...
Тсс.... Не знаешь, не говори! А то у меня бомбанет.
Ledon:
Это неимоверно сложная задача - сделать нормальный чёрный список, да?
Тебе хелл все сказал и да, это сложно
29

» Secrets Rooms / Новые видео по "Secrets Rooms"

А можно пожалуйста еще текстовым описанием? А то мне на работе не очень удобно смотреть ролики
29

» Бродилка / [Лог #7] Класс рисовальщика.

Вот как раз об этом. Коллизия подразумевается "прямая" физическая или же триггеры тоже работают ?
Это как реализуешь
DarkDes:
И попадание пули в бочку похоже решается каким-нибудь _gameEngine->RayTrace ? но для трассировки нужны ведь точка (пушка машины) и направление (камера? направление машины?).
Так ты трассировку то как делать будешь? Внешним объектом? Трассировкой должна и заниматься сама пушка, а у нее уже есть эти данные
29

» Бродилка / [Лог #7] Класс рисовальщика.

DarkDes, объекты не должны взаимодействовать напрямую. Берем пример моей архитектуры, добавляем в контроллер пару событий. OnCollision - столковение, OnDamage - нанесение урона. Для боычки при столкновении проверяем силу удара, отбираем игровые объекты, котороые расположены в определнном радиусе, расчитываем базовый урон, который можно было бы нанести этому объекту, затем вызываем OnDamage. Дальше у машины обрабатываем это событие, расчитываем сопротивление, уменьшая урон и дальше уже уменьшаем ХП
29

» Lo of the Dark / Lo of the Dark 0.7.4 - Да будет свет!

Nosferoh, это одновременно, которые могут освещать. Речь сейчас идет о кол-ве котором можно разместить в общем на карте
29

» Программирование / Новведения в C# 6.0

ScorpioT1000, прости, у меня вечно проблема с этим, но я честно старался ((
Покажете, я исправлю
29

» Программирование / Новведения в C# 6.0

lentinant, удобно только для маленьких конструкций, для больших мне лично реально проще выносить с использованием {0}, {1}. Ну и старый вариант никто не отменил
29

» Бродилка / [Лог #7] Класс рисовальщика.

Kozinaka, дык да, я знаю что такое MVC, просто практика построения MVC архитектуры еще не очень прокачена
29

» Бродилка / [Лог #7] Класс рисовальщика.

Kozinaka, кст, я немного разобрался с мыслями. Model - хранит данные игрового объекта, Controller - реакция на различные события, ну а View - соответсвенно отрисовка. Соответсвенно сама модель ничего не должна знать о контроллере и о вьюхе, контроллер ничего не знает о вьюхе, он только управляет данными в модели, ну а вьюха сама берет модель и по данным из нее уже рисует объект
29

» Бродилка / [Лог #7] Класс рисовальщика.

Kozinaka, нее, не понимаешь, AGameObject сам ничего не умеет делать, он просто хранит данные, на самом деле его можно и не делать абстрактным. А в основном цикле уже можно будет пробегаться, смотреть что объект умеет делать и передавать управление уже в эти контроллеры. Как видишь тут как раз таки логика полностью разделена. Хочешь повесил отрисовку червя, хочешь повесил отрисовку жука, хочешь поставил управление клавиатурой, хочешь мышью, хочешь повесил ИИ. В общем то вот. Хотя на самом деле я считаю, что модель и вьюха этого игрового объекта не разделима. Управление, физика, ИИ это да, можно навешивать из-вне уже
29

» Бродилка / [Лог #7] Класс рисовальщика.

Почитал, подумал о вашей логике разделения и пришел вот к такой вот мысли, а почему бы не сделать вот так?
public interface IDrawer {
    // Методы для рисования
}
// Этот интерфейс отвечает за отрисовку объекта
public interface IObjectView {
    public void Draw(IDrawer drawer);
}
// Этот интерфейс отвечает за игровую логику объекта
public interface IObjectModel {
    public void OnTick(float dt);
    // Другие различные события игрового мира
}
// Этот интерфейс отвечает за обработку пользовательского ввода для заданного объекта
public interface IObjectController {
    public void OnKeyPress(char keyCode);
    // Другие события пользовательского ввода
}
// Этот класс представляет собой игровой объект с тремя сущностями, отвечающими за рендер, логику и управление этим объектом
public abstract class AGameObject {
    public IDataStorage Data { get; set; } // Область для хранения данных игрового объекта, которая должна быть общая между компонентами
    public IObjectView View { get; set; }
    public IObjectModel Model { get; set; }
    public IObjectController Controller { get; set; }
    // Другие сущности игрового объекта, например сущность физики
}
public interface IDataStorage {
    public object Get(string key);
    public void Set(string key, object value);
}
// А тут типа универсальная такая штука для базовых объектов
public static class GameObjectDataStorageExtension {
    public static T Get<T>(this IDataStorage storage, string key) {
        return (T)storage.Get(key);
    }
    public static void Set<T>(this IDataStorage storage, string key, T value) {
        storage.Set(key, value);
    }
    public static float GetX(this IDataStorage storage) {
        return storage.Get<float>("position.X");
    }
    public static float GetY(this IDataStorage storage) {
        return storage.Get<float>("position.Y");
    }
    // и т.д.
}
29

» Программирование / Новведения в C# 6.0

Hanabishi, да это сейчас быстренько по все интернету расползется, решил тоже не отставать на данную тему)
В принципе для меня тут больше нравится то что они добавили фильтрацию исключений и сменили способ инициализации словарей, к остальному я как-то равнодушен) Хотя пожалуй, мне еще понравилась короткая запись маленьких методов)
29

» Welcome to N.T.I. / Ностальгия в действии

Кет, могу предположить, что данные о персонаже и его этапе прохождения будет храниться во внешней таблице, как переходы с карты на карту...
29

» Бродилка / [Лог #7] Класс рисовальщика.

Слишком мощно звучит для моих классов :) Но вообще там функции уровня DrawQuad, DrawMesh, а для конкретных игровых объектов можно вообще ещё один класс написать (или реализовать в этих самых объектах), типа DrawSupergun или DrawBee.
лучше завести что-то типа IDrawableObject с методом Draw в который будет передаваться твой IRenderDevice или что-то типа того, с помощью которого можно будет рисовать примитивы на экране
29

» Программирование / Клавиатура,мышь и джойстик в SFML

Nerevar, еще было бы интересно посмотреть на работу с графикой, там такое есть или просто создаешь окошко и потом на нативном OpenGl или DX пишешь?
29

» Программирование / Клавиатура,мышь и джойстик в SFML

Судя по данному туториалу, sfml очень удобная библиотека. Есть ли опыт написания на ней и вправду ли там все так красиво выглядит?
29

» Бродилка / [Лог #7] Класс рисовальщика.

Думаю либо чуть увеличить разрыв между логами, либо небольшую паузу взять. Думаю начать уже конкретно проектировать само приложение (не писать код) и сделать небольшой альфа-прототип на каком-нибудь Unity (хотел вообще на GameMaker, но похоже с новым обновлением они отказались от WinXP - Steam отказывается запускать GM).
Ну и делал бы дальше на Юнити, не?)