• Как реализуются очереди в онлайн-играх?

    damirazo
    @damirazo
    Software developer
    Как-то потребовалось создать модуль для браузерной игры, отвечающий за восстановления уровня жизни персонажа. Задача решилась денормализацией БД — добавил поле hp_last_update. Значение данного поля обновлялось при каждом обращении к объекту пользователя, вне зависимости от того есть он в сети или нет. А дальше уже дело техники — у нас есть текущее значение уровня жизни и максимально допустимое, а также скорость ее восстановления. С помощью несложной формулы мы, при следующем обновлении, можем подсчитать на сколько должен был восстановиться уровень жизни с момента предыдущего обновления и меняем данный параметр. Подобный метод применим и к другим игровым объектам.
    Ответ написан
    3 комментария
  • Django devserver - загрузка CSS, изображений, статические файлы?

    damirazo
    @damirazo
    Software developer
    Я, обычно, использую следующие параметры:
    # settings.py
    import os
    PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
    MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
    MEDIA_URL = '/media/'
    

    # urls.py
    from django.conf import settings
    if settings.DEBUG:
        urlpatterns += patterns('',
            url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
        )
    

    Все медиа ресурсы кладу в папку media проекта.

    В django 1.3.1 мне этого хватает для дев-сервера. А если требуется использовать медиа ресурсы какого-то стороннего приложения (например django-admin-tools), то я добавляю путь до них в список STATICFILES_DIRS файла settings.py
    Ответ написан
  • Google лежит ?

    damirazo
    @damirazo
    Software developer
    У меня гугл и ютуб не открываются и даже не пингуются. Через американский VPN есть доступ.
    Ответ написан
    Комментировать