Суббота, 28 Сентября 2024, 22:32

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
AkyltistДата: Понедельник, 15 Февраля 2010, 16:11 | Сообщение # 381 | Тема: Прыжок
заслуженный участник
Сейчас нет на сайте
Quote (Sandidro)
уважаемому акулисту

это Вам блин окулист нужен! АкульТист я, там буква Т, Т и eще раз Т.

Code
bool iKeyDown(int) - определяет ли нажата клавиша
int iKeyCode(string) - возвращает код клавиши
int iTypedChar(bool) - ну в соответствии с ASCII

вопрос, к чему такой подход? если нужен сложный Jump то согласен, ну а для простого то зачем?

Quote
В EvenOnInput как я понял пробел не поддерживается

да с чего бы, а [SPAСE] видимо как и моя буква Т в нике спряталась))

в общем растолковывать не буду, грущу по поводу не читабельности ника и выкладываю демку.

AkyltistДата: Понедельник, 15 Февраля 2010, 16:03 | Сообщение # 382 | Тема: физика, рендер и соединение движков в один большой движок
заслуженный участник
Сейчас нет на сайте
Quote
какую лучше всего выбрать физику для игры?

PhysX
Quote
какой лучше рендерный движок выбрать?

Ogre, UDK, XNA
Из звуковых:
Fmod, Bass, OpenAl
Quote
как несколько движков (звуковой, графический рендерный, физический) соединить в один движок?

ручками, больше вариантов не вижу.

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

AkyltistДата: Пятница, 12 Февраля 2010, 19:02 | Сообщение # 383 | Тема: Где можно написать про ВИДЕО
заслуженный участник
Сейчас нет на сайте
II. Порядок поведения на форуме.
# Общение на форуме строится на принципах общепринятой морали и сетевого этикета.
# Строго запрещено использование нецензурных слов, брани, оскорбительных выражений, в независимости от того, в каком виде и кому они были адресованы. В том числе при подмене букв символами.
# Категорически запрещается любая реклама, в том числе реклама интернет-проектов (за исключением случаев предварительного согласования с администрацией).
# Ваша подпись на форуме не может быть длиннее 2-ух строк. К ней предъявляются те же требования, что и к сообщениям на форуме.

Советую сократить Вам подпись!!!!

Quote
это графика.
Рассуждаем логически.
Если ролик в 3d=>идем в раздел 3д анимации.
С 2д- свой раздел

без комментариев...
AkyltistДата: Пятница, 12 Февраля 2010, 10:36 | Сообщение # 384 | Тема: Я такой только здесь, и только настоящий.
заслуженный участник
Сейчас нет на сайте
Quote
Сейчас просто хочется написать что нибудь от души.
Я смотрю в зеркало, а вижу там не себя и тот человек, который смотрит на человека напротив - это тоже не я. Вот в этом и вся правда.
Но интересно - что же способствует тому, чтобы я считал этого человека собой? Почему я начинаю играть по его глупым правилам?

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

PS: каждый день, каждый раз разные мысли сочетания, неопределенный поиск, Как я тебя понимаю. Эти вопросы сводят с ума. Ответ постоянно ускользает. (хотя эти строки возможно не реальны, есть ли они вообще как строки, что они на самом деле передают, правда что мой зеленый каким я его вижу на самом деле не красный который видит кто то другой но называет его зеленым)

AkyltistДата: Четверг, 11 Февраля 2010, 23:19 | Сообщение # 385 | Тема: Создание Ландшафта для 3D Rad
заслуженный участник
Сейчас нет на сайте
Данный мануал содержит отличия от размещенного на официальном форуме.

Нам необходим софт:

L3DT version 2.8 beta2 or newer
Fragmotion 0.9.6 or newer
Radimp 0.9 or newer

Работаем с L3DT

---- 1. Создаем новую карту

---- 2. HeightField Size
----------- Ставим Horiz Scale в 1
----------- Жмем Next

---- 3. Design Map size
----------- Жмем Next

---- 4. Design Map Parameters
----------- Можете выбрать климатические условия и климатическую зону.

---- 5. Calculation Queue
----------- Выделяем :
----------------------Heightfield
----------------------WaterMap
----------------------Attributes Map
----------------------TextureMap
----------- Жмем Next

---- 6. Water Flooding
----------- Жмем Next

---- 7. Texture Settings
----------- Убираем галочку у Use Lightmap
----------- Убираем галочку у Splitmap
----------- Жмем OK и дожидаемся пока карта сгенерируется.

---- 8. Можете отредактировать рельеф на свой вкус и цвет

---- 9. Export
----------- Создадим папку в 3D Rad (c:\3d Rad\import\) необходима для RadImp'a
----------- Теперь экспортируем в нашу папку Export->Export OBJ and MTL
----------- Указываем имя и жмем Save
----------- В появившемся окне устанавливаем Adjust Max error(m) равным 1.4 ~ 36k треугольников.
----------- Жмем ОК
----------- Закрываем L3DT

Работаем с Fragmotion

---- 1. Запускаем Fragmotion

---- 2. Импортируем наш сохраненный файл
----------- Menu : File->Import
----------- Переходим к нашей папке C:\3d Rad\import\
----------- Загружаем сохраненный нами obj файл

---- 3. Flip Normals
----------- Ctrl+A выделяем все вершины
----------- Menu : Face->Reverse Vertex Order

---- 4. Export
----------- Menu : File->Export
----------- Выбираем тип файла Direct X files (.x)
----------- Жмем Save
----------- Ставим галочку у Add Root Frame
----------- Жмем ok
----------- Выходим из программы

Работаем с RadImp

---- 1. Распаковываем архив в папку с 3D Rad чтобы 3DRad.exe и radimp.exe были в одной папке

---- 2. Запускаем RadImp
----------- Ставим галочку у Shadowmesh
----------- Ставим галочку у Copy Mesh
----------- Ставим галочку у Copy Textures
----------- Выделяем наш *.x файл (если горят 2 фрейма то верхний)
----------- Menu : 3d Rad->Import RigidBody Static
----------- Menu : 3d Rad->Import SkinMesh

---- 3. Закрываем RadImp

---- 4. Запускаем 3D Rad
----------- Добавляем в новый проект наш RigidBody
----------- Добавляем в новый проект наш SkinMesh
----------- Запускаем проект
----------- Останавливаем проект
----------- Закрываем 3D Rad

---- 5. Запускаем RadImp
----------- Выделяем наш *.x файл (если горят 2 фрейма то верхний)
----------- Menu : 3d Rad-> Create New/Update terrain-object from existing RB
----------- Закрываем RadImp

---- 6. Запускаем 3D Rad
----------- Добавляем в новый проект Terrain
----------- Жмем изменить у добавленного Terrain'a
----------- Выбираем наш созданный Terrain
----------- Все!!!

AkyltistДата: Четверг, 11 Февраля 2010, 20:36 | Сообщение # 386 | Тема: Demo. Сборник наработок пользователей GCUP
заслуженный участник
Сейчас нет на сайте
В данную тему добавляем Ваши наработки, с подробным описанием и функционалом. Добавляемая Вами наработка должна быть оформлена согласно приведенным ниже правилам.

Основные правила публикации в данной теме:

===[ Прикрепляемый файл ]-----------------------------------------------------------

Прикрепляемый Вами файл должен соответствовать "Правилам добавления файлов".

Если вы добавите материал, который не соответствует правилам сайта, то данный материал попросту не пройдёт модерацию (подтверждение от администратора) и не будет доступным для других пользователей. Даже не пытайтесь загружать копипаст, кряки и прочие незаконные материалы! Некорректные материалы будут удаляться, а штрафники – получать замечания, баниться на сроки по нашему уставу.

Если ваш файл больших размеров, то храненим файлы на сервисе Files.gcup.ru
Если сервис не доступен по данному адресу, то пользуемся gcup.ifolder.ru

В этом случае вы получите возможность закачать файл до 100 Мб. через интерфейс или FTP на неограниченное время хранения (при условии регистрации). Beta-версии или Демки также рекомендуем заливать на Files.gcup.ru и прикреплять ссылку для удалённого скачивания..

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

===[ Пример ]-------------------------------------------------------------------------

Демка: GC_demo_rag-dolls_v01.3dr

Смешанный Ragdoll. Данная техника совмещает предварительно сделанную анимацию с системой ограничений. Таким образом, смерть персонажа отображается заранее продуманной, но физический движок проверяет допустимость каждого движения. Смешанный Ragdoll оказывается гораздо затратнее в плане вычислительных ресурсов, чем обычная «тряпичная кукла», но превосходит её на порядок повышенной реалистичностью отображения.

---- Физика
---- Интересный прием или техника

Скачать: GC_demo_rag-dolls_v01.3dr
Зеркало: GC_demo_rag-dolls_v01.3dr

AkyltistДата: Четверг, 11 Февраля 2010, 15:14 | Сообщение # 387 | Тема: Конкурс на GcUp.ru #4
заслуженный участник
Сейчас нет на сайте
Quote
Генерация ресурсов допускается, само собой.

Искринне благодарю за уточнение!!! devil Будем искать время!
AkyltistДата: Четверг, 11 Февраля 2010, 15:09 | Сообщение # 388 | Тема: Ваш рабочий стол
заслуженный участник
Сейчас нет на сайте
Не самый стильный и прибранный, ну уж какой есть... . Точнее 2 в VMке запущен Линь.

Оригинальный размер:

AkyltistДата: Четверг, 11 Февраля 2010, 06:45 | Сообщение # 389 | Тема: Конкурс на GcUp.ru #4
заслуженный участник
Сейчас нет на сайте
Quote
Только, пожалуйста, без всяких установочных файлов - инсталляторов.

Игра (или сжатый архив с игрой) не должна превышать 13 Mb.

Вопрос довольно таки сильный и серьезный возникает:

Для 3Д игры места конечно маловато, но правила есть правила. Так вот вопрос в заключается в том, как быть с тем что можно генерировать текстуры и музыку, потому что если допустим даже я найду время принять участие, то в принципе предполагаю, что у меня возникнет такая необходимость. Как администрация смотрит на то что игра будет идти без инсталятора, но генерацию ресурсов придется производить непосредственно перед первым запуском, а к описанию игры будет указан файл который отвечает за генерацию?

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

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

AkyltistДата: Среда, 10 Февраля 2010, 22:37 | Сообщение # 390 | Тема: Куча вопросов по 3d rad
заслуженный участник
Сейчас нет на сайте
Quote
ает как в меню на фон поставить картинку?

Спрайтом, поставить! и Сначала должен идти фон а потом элементы меню по иерархии.


Quote
Простите что я к вам обращаюсь ещё раз просто мне надо закончить игру к понедельнику .а у меня остались только две нерешённые проблемы помогите мне пожалуйста их решить.
1) как отслеживать Lap и в демках не разобрался . в демках там трассы это круги а у меня просто прямая мне надо так чтоб после прохождения последнего waypoinта он у меня вылетал на другую сцену вэй поинтов весго 2. (сколько я не пытался сам сделать у меня ничего не выходит самая удачная попытка у меня была такая сразу после запуска он выходит)))))
2)как сделать таблицу рекордов. мне нужно чтоб после последнего уровня она вылетала и в ней учитывалось время прохождения уровня.

Ну что же, если не получается в WayPoint ами, тогда рассуждаем логически. Так как трасса прямая, то финальной точкой у нас будет некая местность, финишная черта. Так вот почему бы нам не проверять расстояние до этого объекта. Ставим в отдалении 5 метров от финишной черты невидимый объект, и при помощи таймера и скрипта проверяем расстояние, как только оно меньше 5 метров, то активируем ExitFade:

Ну набросок скрипта примерно такой:
Vector3 cameraLocation; // положение нашей камеры(ну или машины)
Vector3 meshLocation; // положение скрытого объекта, точки финиша.
float distance; // в этой переменной храним расстояние
iObjectLocation(OBJ_0,cameraLocation); // узнаем текущее положение и сохраняем в переменной
iObjectLocation(OBJ_3,meshLocation); // узнаем текущее положение и сохраняем в переменной
distance = iVectorLength(meshLocation - cameraLocation); // вычисляем длину вектора, то есть получаем расстояние

И так если расстояние менее 5 метров то активируем ExitFade;


Сохранять данные после каждого уровня в файле, и в итоге суммировать и просчитывать!
Функции сохранения и загрузки есть в этой же теме http://gcup.ru/forum/58-1502-6 сообщение N120.



Ну так как скрипт оказался Вам не посильным, то вот он полностью:
Code
void Main()
{
    Vector3 cameraLocation;
    Vector3 meshLocation;
    float distance;
    iObjectLocation(OBJ_0,cameraLocation);
    iObjectLocation(OBJ_3,meshLocation);
    distance = iVectorLength(meshLocation - cameraLocation);
    if(distance<5)
    {
       iObjectStart(OBJ_6);
    }
}

OBJ_6 - Это ExitFade , ну и не забываем у ExitFade прописывать проект к которому переходим.

Готовая демка.

AkyltistДата: Понедельник, 08 Февраля 2010, 23:02 | Сообщение # 391 | Тема: СпецОпрос: Разрешение монитора.
заслуженный участник
Сейчас нет на сайте
В принципе интересует какое разрешение кто использует именно из разработчиков игр, не для игр а для стандартного рабочего стола. Интересует:

1) широкоформатный монитор или нет
2) какое разрешение монитора.
3) герцовка

Необходимо для работы,так что не стесняемся.

PS: Можно было бы посмотреть в инете, но интересуют именно разработчики игр.

AkyltistДата: Воскресенье, 07 Февраля 2010, 18:35 | Сообщение # 392 | Тема: Куча вопросов по 3d rad
заслуженный участник
Сейчас нет на сайте
Quote
вопрос такой:на офиц сайте сказано что rigidbody с которыми предполагаются коллизии должны быть по размерам не меньше 0.2 метров - не больше 20м. Если у меня предполагается длинная локация (например корабль должен лететь по длинной трубе) то она будет состоять из множества сегментов. Если я пролетая через определенные области буду отключать те сегменты ,которые уже пролетел и включать те, которые еще будут, то существенно ли это ускорит работу и оптимизация ли это вообще???

1 Какова длинна трубы
2 Много ли изворотов/поворотов в ней
4 Какова длинна Ваших участков.
5 Много ли полигональна эта труба?

AkyltistДата: Воскресенье, 07 Февраля 2010, 17:41 | Сообщение # 393 | Тема: Куча вопросов по 3d rad
заслуженный участник
Сейчас нет на сайте
Quote
Подскажите пожалуйста как сделать точку перехода на другой уровень чтоб машина проезжая через неё оказывалась на другом уровне. Заранее спасибо за ответы!

Отслеживаем при помощи WayPoint и RaceTracer колличество Lap , пример есть в таких демках как SUVRace и CarSimulator. Потом если Lap = тому количеству, которое нам необходимо то ExidFade на нужную сцену.

Во время компиляции вторая сцена должна идти после первой сцены.

Ну вот и все.

AkyltistДата: Воскресенье, 07 Февраля 2010, 16:19 | Сообщение # 394 | Тема: 3D Rad (Онлайн Руководство Разработчика GCUP)
заслуженный участник
Сейчас нет на сайте
Использование Force при работе с RigidBody Автор: Akyltist

Сила — векторная физическая величина, являющаяся мерой интенсивности взаимодействия тел. Приложенная к массивному телу сила является причиной изменения его скорости или возникновения в нем деформаций.

В связи с тем, что физические объекты, такие как RigidBody, согласно спецификации по AngelScript не могут быть перемещены посредством обычных функций, вида:


  • iObjectOrientationSet(OBJ_X,Quaternion)
  • iObjectLocationSet(OBJ_X,Vector3)
  • iObjectVelocitySet(OBJ_X,Vector3)

Благодаря знаменательному примечанию:
NOTE: this function will only work with objects that support dynamic location setting, like SkinMesh, Particles, etc. Objects supporting physics do not usually work with this function. For example, you should not use this function to progressively alter the location of a RigidBody or a Car, to make it move. You should use the Force object instead.

И так, давайте же в конце концов раз и навсегда разберемся как же нам перемещать объекты подобного типа во время игрового процесса, как нам угодно. (Ну или Вы попробуете разобраться)

Пункт 1: Создаем новый Проект

1. Добавляем SunLight +++++++++++++++++++++++++++++++
----- Ставим галочку в графе активен
----- Положение X = 50
----- Положение Y = 50
----- Положение Z = 50

2. Добавляем CamChase +++++++++++++++++++++++++++++
----- Галочку в Активен
----- Галочку в Рендеринг при Старте
----- Галочку в Подсчете статистики
----- Галочку в Игнорировать положение Актера
----- Галочку в Не наклонять
----- Скорость Вращения 0.3
----- Скорость перехода 0.05
----- Поле зрения 75 градусов
----- Видимая Дистанция 10000 метров
----- Ширина 1
----- Высота 1

3.
Добавляем RigidBody++++++++++++++++++++++++++++++
----- Позиция Х = 0
----- Позиция Y = 0
----- Позиция Z = 0
----- Ориентация X = 0
----- Ориентация Y = 0
----- Ориентация Z = 0

4. Добавляем EventTimer+++++++++++++++++++++++++++++
----- Галочку у Активен
----- Галочку у Запускать при старте
----- Галочку у Ресет таймера в случае паузы

5. Добавляем Script++++++++++++++++++++++++++++++++
----- Галочку у Активен
----- Галочку у Запускать при старте

6. Добавляем Force+++++++++++++++++++++++++++++++++
----- Галочку у Активен
----- Галочку у Запускать при старте

Пункт 2: Устанавливаем связи у объектов

Пункт 3: Разбираем Force

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

Как и в любом другом приложении работающим с геометрией или 3D Графикой, в 3DRAD есть оси:
X - Red
Y - Green
Z - Blue

Теперь посмотрите в доль какой оси у Вас направлена Force(представлена в виде стрелочки). У меня она направлена в доль оси Z что меня вполне устраивает. Так вот, любую силу которую мы будем передавать нашему Force, мы будем согласно Ньютоновской физике, передавать и нашему RigidBody.

Как передать, спросите Вы, да очень просто:

Вот и все, теперь согласно нами установленному закону, каждую секунду в соответствии с Таймером, наш объект будет перемещаться на 20 метров дальше по оси Z. Если вам необходимо перенаправить еще и по другой оси, то добавьте ее и направьте в ту сторону которую Вам необходимо, и свяжите также с RigicBody телом.

Ну и демки:
---------------------- Простейший Пример
---------------------- Более сложный пример

AkyltistДата: Воскресенье, 07 Февраля 2010, 14:01 | Сообщение # 395 | Тема: Накопившиеся вопросы! Ответы на них!
заслуженный участник
Сейчас нет на сайте
Quote
Akyltist, огромное спасибо, тут мой косяк.... У меня зрение слабовато, а качество видео не очень, не заметил(

Нестрашно!

Вопрос от AR

Quote
Ну хорошо. Считал. А дальше? Как перекинуть корабль(группу, как я уже писал) на нужное место(которое считал)?

По поводу твоей проблемы. RigidBody переносятся без поблем, цепляю демку в которой можно мышкой перетаскивать RigidBody куда тебе нравится в режиме запущенной игры. Твори в общем на основе примера.

Скриптом перенести сразу все группу пока не вижу способов. Скрипты не хотят работать с объектом типа Group. Но подумать над этим еще стоит, так как было бы не плохо иметь такой скриптик в арсенале.

Прикрепления: MouseManipulati.zip (120.9 Kb)
AkyltistДата: Воскресенье, 07 Февраля 2010, 12:48 | Сообщение # 396 | Тема: Нужен сайт?
заслуженный участник
Сейчас нет на сайте

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

По поводу http://odessa.w2c.ru могу только сказать, что при наведение на ссылки стоит менять стиль курсора, иначе это как то не эстетично.

AkyltistДата: Воскресенье, 07 Февраля 2010, 12:30 | Сообщение # 397 | Тема: Накопившиеся вопросы! Ответы на них!
заслуженный участник
Сейчас нет на сайте
(Aren-kun)
Quote
Снова я, и снова с вопрос про меню.... Настраиваю ScriptScrol (который идёт после, avtor) и у меня выдаёт ошибки в скрипте, когда я нажимаю: "применить скрипт". Очень прошу вас уважаемый, Akyltist проверить данный скрипт:

Не проблема, смотрим вместе!
1. Просто не внимательность
if (iTnitializing()) -------- if (iInitializing())

2. нужна запятая, так как идет перечисление параметров функции
iObjectLocation(OBJ_0.TextLocationInit); ----- iObjectLocation(OBJ_0,TextLocationInit);

3. Несовместимость типов:
TextLocationInit.y - TextLocationInit; - сравниваем координату с векторной величиной
Vector3 TextLocationInit состоит из [X,Y,Z] , то есть невозможно отнять от трех координат сразу всего одну. Тут скорее должно быть что то флага запоминания положения текста: TextLocation = TextLocationInit;

4.
нужна запятая, так как идет перечисление параметров функции
iObjectLocationSet(OBJ_0.TextLocation); ------ iObjectLocationSet(OBJ_0,TextLocation);

5.
невозможность арифметической операции
TextLocation += ScrollingSpeed; ---- невозможно к Vector3 типу прибавлять числа, необходимо делать это непосредственно для каждой координаты по отдельности.
TextLocation.x += ScrollingSpeed;
TextLocation.y += ScrollingSpeed;
TextLocation.z += ScrollingSpeed;
Ну и прибавлять соответственно для той координаты, по которой мы делаем скроллинг, если для вертикали то TextLocation.y += ScrollingSpeed;

Ну в итоге должно получиться что то вроде такого:

Code
float ScrollingSpeed = 0.05;
float LoopDuration = 40;
Vector3 TextLocationInit;
Vector3 TextLocation;
void Main()
{
     if (iInitializing())
     {
        iObjectLocation(OBJ_0,TextLocationInit);
        TextLocation = TextLocationInit;
     }
     else
     {
        iObjectLocationSet(OBJ_0,TextLocation);
        TextLocation.y += ScrollingSpeed;
        if (TextLocation.y > LoopDuration)
        {
           TextLocation.y = TextLocationInit.y;
           iScriptStop();
        }
     }
}
AkyltistДата: Воскресенье, 07 Февраля 2010, 12:06 | Сообщение # 398 | Тема: Куча вопросов по 3d rad
заслуженный участник
Сейчас нет на сайте
Quote (Streamline)
подскажите в чем проблема?
добавил SkinMesh, добавил источник света, в настройках поставил ShadowMap и некоторые текстуры стали полупрозрачны. как на 1 скрине.
после того как убираю настройки на default становится нормально.
на 2 скрине все настройки, только ShadowMap не стоит

Shadow map - карта (текстура), которую генерирует рендер во время предварительного прохода сцены (pre-rendering'а). Shadow map не реагирует на цветовой оттенок прозрачного или полупрозрачного объекта. С другой стороны, с помощью shadow map можно получить мягкие размытые тени, чего не сделаешь, используя ray-traced тени. Shadow map - карта, которую проектирует направленный источник света. Этот метод обеспечивает более мягкие переходы между тенями и освещенными участками сцены и более быстрый рендеринг, чем ray-traced. Откуда следует, что необходимо использовать эту опцию для создания тени от объекта, который в нашем примере стал полупрозрачным. Как необходимость нормальной картинки, я бы посоветовал не отрубать тень как таковую "No Shadow". Ну и соответственно для Shadow map структур использовать облегченные версии моделей.

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

AkyltistДата: Четверг, 04 Февраля 2010, 14:13 | Сообщение # 399 | Тема: Куча вопросов по 3d rad
заслуженный участник
Сейчас нет на сайте
Функция сохранения

Code

void SaveMyScore(string filename){
int filehandle= iFileWriteOpen(filename);
int count=0;
int arrayLen=score.length( );
while(count< arrayLen){
iFileValueW rite(filehandle, score[count], true);
count++;
}
iFileClose(filehandle);
}

Функция считывания



Code
void GetMyScore(string filename){
int filehandle = iFileReadOpen(filename);
int count=0;
int arrayLen=score.length( );
while(count< arrayLen){
     score[count]=iFileValueRead(filehandle);
     count++;
}    
iFileClose(filehandle);
}
AkyltistДата: Четверг, 04 Февраля 2010, 13:35 | Сообщение # 400 | Тема: Куча вопросов по 3d rad
заслуженный участник
Сейчас нет на сайте
Quote
ну как там с моим вопросом?

По этому поводу развития есть три варианта работы.

1. Работаем через Динамическую библиотеку. То есть цепляем самописную либу для работы с удаленным сервером клиенту. Есть пару достоинств и недостатков:
+ Можно обеспечить шифрование передаваемых данных
+ Гибкость системы команд, нет ни каких извращений с типами данных и тому подобного гемора
+ Удобство разработки
- Надо разбираться в сокетах и владеть каким либо ЯП позволяющим создавать библиотеки по соглашению __stdcall
- Проблемы синхронизации с сервером

2. Вариант, от клиента на сервер идут данные средствами 3D Rad с помощью его net функций. Далее сервер их уже сохраняет у себя при помощи файловых функций. То есть мы не выходим за пределы 3D Rad в данном случае.
+ Все базируется на функциях Радуги
- Нет гибкости системы передаваемых данных
- Передача данных идет открытым способом

3. Юзаем OSA Kit, все расчеты будут и так на стороне сервера, остается их только сохранять, как недостаток, клиенту придется тянуть установочный дистрибутив ОСЫ, а он весит что то около сотни метров, что для современных игр хоть и не напряжно, но для некоторых напряжно с трафиком. Однако не думаю что нормальная игра, будет весить меньше.
- Нет защиты, данные передаются в открытую

Поиск:

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