Воскресенье, 16 Июня 2024, 07:52

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
AkyltistДата: Среда, 11 Ноября 2009, 08:08 | Сообщение # 521 | Тема: Опрос какой язык вам больше нравится и почему?
заслуженный участник
Сейчас нет на сайте
Quote
Akyltist, РНР надо отдельно ставить - он не связан НИКАК с ЯС. Объясню почему. РНР - серверный (ServerSide) JavaScript - клиентский (ClientSide).

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

Например Питон и Перл вообще ни как не сочетаются кроме того что они скриптовые и крос платформенные. И что перл очень шустр и прекрасно работает с регулярками и удобен и краток. А питон более гибок но медленнее в исполнении. Однако их пришлось поставить вместе, чтобы вместить в опрос.

Так что уж извиняйте но JS останется в опросе, не могу же я его совсем выкинуть, если всем веб разработчикам приходится с ним работать.

AkyltistДата: Среда, 11 Ноября 2009, 03:09 | Сообщение # 522 | Тема: Опрос какой язык вам больше нравится и почему?
заслуженный участник
Сейчас нет на сайте
Под корректировал опрос. Добавил пару важных, специфичных ЯП. Не знаю что язык для гамака, написал GM Script, кто знает правильное название отпишите в ЛС подправлю. Добавдена возможность выбора нескольких любимых ЯП.

Мои любимые это Фортран, Дельфин, Сишка, и ПХП.

AkyltistДата: Суббота, 07 Ноября 2009, 07:56 | Сообщение # 523 | Тема: Свободная Империя
заслуженный участник
Сейчас нет на сайте
Довольно таки радует глаз, удачи с проектом.
AkyltistДата: Вторник, 03 Ноября 2009, 17:11 | Сообщение # 524 | Тема: Mmorpg the gold dragons
заслуженный участник
Сейчас нет на сайте
Прекращаем флуд! Соблюдаем орфографию!
AkyltistДата: Вторник, 03 Ноября 2009, 17:05 | Сообщение # 525 | Тема: Требуется разрешение на использование Джи - Си -Апа
заслуженный участник
Сейчас нет на сайте
Хочу заверить, что работа над пере компиляцией русского билда идет и что это не простые слова, работа идет не быстро но она идет. Русский 3D Rad будет.
AkyltistДата: Понедельник, 02 Ноября 2009, 15:43 | Сообщение # 526 | Тема: IP адрес 0.0.0.0 , но я в интернете
заслуженный участник
Сейчас нет на сайте
Ну я так понимаю Вы либо не там его приписываете , либо блин Вы провайдер))

Какой IP светится тут http://2ip.ru/ ????

AkyltistДата: Понедельник, 02 Ноября 2009, 15:32 | Сообщение # 527 | Тема: Почему не получиться сделать производительный сервер Блиц3д
заслуженный участник
Сейчас нет на сайте
Quote
Акк придет-расскажет, надеюсь.

хех, эх, уф, как бы помягче, ну блин, будешь помогать мне радугу переводить))).

блитц 3D - что я о нем знаю, да вообще ничего. Ну написан он на Бейсике, да язык не самый шустрый, но если работать с сокетами и вин апи получится довольно таки быстро, но! Насколько известно блиц сам является компилятором, и смело можно заявить, что он явно делает не очень хорошо, так как идет процедурная компоновка, он создает свои флаги, работает через интерпретацию заложенного кода при помощи вызовов на соответствие и указателей. для тех кто не понял, не очень то он код при компиляции на быстродействие затачивает.

Недостаток 2, если работать через Блиц с сокетами, при этом нам необходимо сжимать и ужимать трафик, шифровать его алгоритмами принятыми как стандарты, например RSA(сам по себе алгоритм не очень шустрый), а реализация на блице замедлит его.

Недостаток 3, выделение расчетов в поток, если у нас есть таблицы скилов и бафов на сервере, необходимо тот же кулдаун и всю систему дамага просчитывать там, делать это в одном потоке по крайней мере глупо, необходимо выносить вычисления за пределы таймеров и вести вычисления в другом потоке, а Блиц с потоками не на Ты, даже при пряморукости не получится это организовать очень хорошо. Можно конечно потом перепаять все это дело в IDA, или Olly, но для тех суровых парней кто владеют такими техниками это маразм, так как им проще тоже самое написать на с++ или чистом Asm -е, тем более что в том же masm32 уже есть готовая либа для работы с сокетами)).

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

PS: C++, Asm, Java, Delphi - я бы советовал для сервера под ММО использовать что то из этого списка. C# хоть и заточен под сеть, но та технология на которой он развернут не блещет быстродействием, по личным тестам шарп слабже дельфина в сетевой организации при нескольких сотнях потоков и хорошей нагрузке в локальной сети почти в 2 раза. Уж очень он много кушает(( а это не есть гуд. Java себя уже зарекомендовала, сколько на ней всяких сборок серверов той же L2 в сети есть, что даже речи не возникает над его Кармой. Ну а С++ и ассемблер)) блин да речи нет, это явно лидеры.

AkyltistДата: Суббота, 31 Октября 2009, 15:13 | Сообщение # 528 | Тема: Всех с праздником нечести!
заслуженный участник
Сейчас нет на сайте

Всех с Halloween. Наряжаемся в свиней и идем есть в рестораны!!!!
AkyltistДата: Пятница, 30 Октября 2009, 18:21 | Сообщение # 529 | Тема: "Какой ЯП выбрать после Pascal?"
заслуженный участник
Сейчас нет на сайте
Я знаю что такое LabView, по поводу таймеров они не считают с высокой точностью, в отладчике который идет вместе с ним можно посмотреть сколько времени уходит на определенный кусок выполнения кода программы. Фишка LabView по мне так это то что она позволяет наглядно отслеживать процесс, хоть математический хоть физический. Но этот язык экзотика для обычных пользователей. Можно былобы и в Пикаде развести микросхемку для Фибоначи, и проверить за сколько тактов она вычислит на чистом асме))). Но то что ээто можно использовать в качестве примера это заслуживает + са.

Quote
А обсуждения " какой язык быстрее " , бесмыссленны.

ни что в этой жизни не лишено смысла, бессмысленность придает объектом только общественное мнение. Но это мое мнение и к теме оно не относится.
AkyltistДата: Пятница, 30 Октября 2009, 17:43 | Сообщение # 530 | Тема: "Какой ЯП выбрать после Pascal?"
заслуженный участник
Сейчас нет на сайте
Quote
Вот код для вычисления 100 тысяч чисел фибоначи на LabView (13 милисек)

А замеры просчета в отладчике считал, потому как я другого средство измерения для ЛабВьюв не встречал?
AkyltistДата: Пятница, 30 Октября 2009, 16:41 | Сообщение # 531 | Тема: "Какой ЯП выбрать после Pascal?"
заслуженный участник
Сейчас нет на сайте
Quote
если честно...с++ гораздо сложнее.

Ну тут еще можно оспорить, хотя я тоже считаю что с++ будет посложнее изучать чем питон, но у каждого свой склад ума, и поэтому это оспоримый фактор. Для многих освоить регулярные выражения или стандарт разметки xml бывает сложнее чем новый яп. Например мне Angel Script дался очень легко, а с регулярками без подсказок со стороны справочника не могу разобраться.

Я к тому что наверно для каждого по своему.



на счет игры))) сделал бы лучше угадал или нет))) и от 0 до 1000 !!!
AkyltistДата: Пятница, 30 Октября 2009, 16:20 | Сообщение # 532 | Тема: "Какой ЯП выбрать после Pascal?"
заслуженный участник
Сейчас нет на сайте
Quote
Akyltist, а теперь глянь на кусочек кода питона, и кусочек кода си))) но вот тлько ты не тот человек с которым я готов спорить....

TrueIfrit ну компактность кода удавчика одно из самых значимых его достоинств) тут я не могу не согласится, что код и короче и красивее.))) Но медленнее.

Как недостаток мы уходим от темы(((

AkyltistДата: Пятница, 30 Октября 2009, 16:12 | Сообщение # 533 | Тема: "Какой ЯП выбрать после Pascal?"
заслуженный участник
Сейчас нет на сайте
Quote
Наигрубейшая ошибка, + он быстрее C++, я вообще только 1 недостаток у этого ЯПа нашел, он ОЧЕНЬ трудный...

Честно аж на слезу пробило, так правда подобно. Питон даже теоретически не может быть быстрее с++, потому как сишка на выходе получает исполняемый файл, то есть является компилятором, а питон это интерпретатор скриптового языка, то есть помимо того что ему надо исполняться ему еще и необходимо пройти стадию парсинга, (задачи которая является одной из самых долгих среди существующих алгоритмов), так как необходимо в процессе парсинга и интерпритации отслеживать флаги, переполнения в парсере, проверять форматы данных, производить преобразования и при этом не допускать утечек в памяти и не вылететь за ее область.

А чтобы на практике сделал си ++)) ну эт прям сказка, давайте проверим скорость исполнения на Питоне, например числа Фибоначи.

Code
import psyco
psyco.full()
def fib_recur(n):
    if (n == 0): return 0
    elif (n == 1): return 1
    res = fib_recur(n-1) + fib_recur(n-2)
    return res
print fib_recur(40)

А теперь на Сишке.

Code
#include <iostream>
#include <math.h>
using namespace std;
const int N = 220;
int ctrl = 0;
div_t t;
void add(int a[N], int b[N], int c[N]){
     memset(c, 0, sizeof(int)*N);
     int i = 0;
     for(i = N - 1; i >= 0; i--){
       if(t.quot){
         c[i]++;
         if(i < ctrl) ctrl = i;
       }
       t = div((c[i] + a[i] + b[i]),10);
       c[i] = t.rem;
     }
}
int main()
{
    int fib0[N];int fib1[N];int fib2[N];
    memset(fib0, 0, sizeof(int)*N);
    memset(fib1, 0, sizeof(int)*N);
    memset(fib2, 0, sizeof(int)*N);
    int n;
    cin>>n;
    fib0[N - 1] = 1;fib1[N - 1] = 1;
    ctrl = N - 1;
    if(n<2) fib2[N - 1] = 1;
    for (int i = 2;i <= n;i++)
    {
      add(fib0, fib1, fib2);
      memmove(fib0, fib1, sizeof(int)*N);
         memmove(fib1, fib2, sizeof(int)*N);
    }
    for(int i = ctrl; i < N; i++) cout<<fib2[i];
    return 0;
}

Python: >3 мин
Python Psyco: 15,89 сек
и на Си 3,86 мсек

Дельфин люблю больше за скорость и за удобство, но чтобы его скорость работы доходила до уровня с++ в графике, этого никогда не случится. А для написания не игр, он намного лучше.

AkyltistДата: Четверг, 29 Октября 2009, 14:11 | Сообщение # 534 | Тема: Invasion [2D]
заслуженный участник
Сейчас нет на сайте
залейте пожалуйста на http://ifolder.ru/ , а то не дружу с депозитом.
По скринам игра заинтересовала.
AkyltistДата: Четверг, 29 Октября 2009, 00:03 | Сообщение # 535 | Тема: Как создать свой 3d движок?
заслуженный участник
Сейчас нет на сайте
Граждане расслабляющиеся!!!



Не нарушаем правила форума, за последующий флуд в теме буду наказывать горчичниками. Все мы когда то были новичками в многие ими являются, хотите болтать идите в болталку, тут посты только по теме. А то будут Вам симуляторы тамагочи.

BADCOIQ - рад что осознаете, что не по теме написали, но впредь будьте благоразумнее пожалуйста.

AkyltistДата: Среда, 28 Октября 2009, 20:01 | Сообщение # 536 | Тема: Вопросы Оптимизации - [LOD] [BSP] [Frustum Culling] [Octree]
заслуженный участник
Сейчас нет на сайте
Поколдовал сегодня над деревьями с травой, сейчас работаю над системой генерации матриц выдимости, чтобы загружать их непосредственно с картой а не генерировать в процессе игры. Пришел к выводу, что квадри лучше всего способствует работе с деревьями, правда было бы еще не плохо организовать для них импостеры, но там опять свои заморочки с дистанцией камеры, объектов и пересечений, ну думаю и это не сложно будет обойти.

--------------------------------
A,S,D,W
V
Esc
Shift
--------------------------------

AkyltistДата: Среда, 28 Октября 2009, 14:55 | Сообщение # 537 | Тема: Вопросы Оптимизации - [LOD] [BSP] [Frustum Culling] [Octree]
заслуженный участник
Сейчас нет на сайте
Quote
Либо доки SIGGRAPH по деревьям, но я не видел там ничего такого особого.

там нет ничего такого чего бы я не знал.

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

AkyltistДата: Среда, 28 Октября 2009, 14:24 | Сообщение # 538 | Тема: Вопросы Оптимизации - [LOD] [BSP] [Frustum Culling] [Octree]
заслуженный участник
Сейчас нет на сайте
Quote
Зависит от способа, я бы предложил опять же отсекать как минимум ячейку за один этап, т.е. группу обьектов травы. Но возможно при подавлении количества травы в зависимости от дальности - этот вопрос снимется.

Уже занимаюсь этим, метод хорош, единственный недостаток, это области выгрузки и подгрузки, подгружать всегда приходится больший объем чем нам необходим, чтобы камера не находилась постоянно на стыке. Думаю сделать несколько массивов травы и проверять центры массивов на вхождение в область видимости. Это заметно снизит количество которое необходимо для рендеринга, и учитывая видимые массивы не так уж и много придется делать проверок на отсечение невидимых граней. Как один недостаток, теряется гибкость создания карт для игры, так как локаций довольно таки много, ну тут уж ничего не поделаешь. Еще подумываю массивы при инициализации засунуть в GPU и брать непосредственно от туда, 3 метра памяти GPU не критично)

Quote
деревья как обычный обьект

то есть как обычный меш типа зданий?
Quote
Для деревьев LOD это подавление количества треугольников меша

у меня странное желание заменять дальние деревья на спрайты с одного буфера, но пока не столкнулся нет необходимости...

Спасибо за подсказки, если кто до чего новогодойдет, то поделитесь плз.

AkyltistДата: Среда, 28 Октября 2009, 13:36 | Сообщение # 539 | Тема: Вопросы Оптимизации - [LOD] [BSP] [Frustum Culling] [Octree]
заслуженный участник
Сейчас нет на сайте
Quote
Похоже это и есть узкое место, ведь в таком случае каждый объект рисуется отдельно.

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

Quote
А у тебя что, чем-то сильно загружен процессор? Думаю, вряд ли сильнее чем видео.

да тут Вы наверняка правы, пару тысяч тактов потерять. Попробую наверное через проверку schild-ов на асме накидать это местечко, будем надеяться украду еще хотя бы соточку fps.

Quote
В общем, бери PerfHUD и вперед искать, где наибольшие затраты времени.
зы: Вот только OpenGL он не поддеживает.)

Да и сижу я сейчас на АТИ, хотя вот рядом 9800 стоит, но на ней то все летает, а меня это не устраивает. Гдето была СДК для Оглы на тест FPU, но копать не охота, попробкую через
_QueryPerformanceFrequency();
_QueryPerformanceCounter( );
Отловить самые узкие места, на что стоит тратить время на что нет.

Если у кого еще есть какие мысли не стесняемся, по теме разумеется.

AkyltistДата: Среда, 28 Октября 2009, 02:28 | Сообщение # 540 | Тема: Вопросы Оптимизации - [LOD] [BSP] [Frustum Culling] [Octree]
заслуженный участник
Сейчас нет на сайте
Сегодня работал над игрой и столкнулся с такой проблемой, при загрузке на локацию 1500 травинок, не важно даже какого они типа, фпс довольно таки сильно падает, аж до 120, а мне такой расклад совершенно не нравится.

Генерация травы идет не полигонально, то есть трава представляет собой billboard построенный тремя плайнами и наложением текстуры с альфа каналом.

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

На основе таких данных считаю что - LOD использовать по крайней мере глупо. Текстура берется на точке инициализации и сразу создается 7-15 объектов травы с различной текстурой, после чего я данные объекты копирую в память и согласно файлу координат размножаю как прокси объекты. Т.Е.и тут работаем с минимальными затратами. Какая тут может быть детализация.(

Теперь встает вопрос а надо ли делать отсечение не видимых граней, ведь проверка на область видимости для такого количества объектов дело ресурсоемкое, в принципе я собираюсь сделать в выходном потоке проверку на видимость объекта, если он видим то включать его в рендер и отсекать грани, но мне придется работать с динамичесскими данными, высвобождением памяти и другими последствиями подобного рода алгоритмов, что тоже приведет к поеданию процессорного времени, хотя давольно таки должно облегчить FPS.

А теперь вопрос, кто сталкивался с рендером травы и деревьев, как Вы оптимизируете данные участки кода? есть ли еще методы? Или же придется полностью переходить на динамику и ручками работать с памятью средствами VBO, просто не хотелось бы терять гибкость(

Поиск:

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