Нужна помощь с сохранением игры!

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

Нужна помощь с сохранением игры!

Сообщение Timujin61 26 окт 2012, 20:00

Всем привет, я разрабатываю игру вконтакте под названием World of build . Я столкнулся с одной проблемой - сохранением игры, так-как в этой игре нужно ставить блоки, PlayerPrefs и XML(возможно) тут не помогут :( . Может дадите несколько идей по сохранению игры, если дадите несколько идей, буду очень вам благодарен и игра будет почти доработана. :)
http://vk.com/app3099507_-39003158?ref=10
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

Re: Нужна помощь с сохранением игры!

Сообщение Syberex 26 окт 2012, 21:03

Ну тогда, что бы что то предложить нужно понять почему не помогут вышеназванные? Обоснуйте :)
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Нужна помощь с сохранением игры!

Сообщение Timujin61 26 окт 2012, 21:12

PlayerPrefs точно не поможет, потому что он сохраняет только положение игрока, а XML я не знаю т.е. пользоваться не умею :(
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

Re: Нужна помощь с сохранением игры!

Сообщение Neodrop 26 окт 2012, 21:15

PlayerPrefs сохраняет то, что вы ему скормите. Это может быть не "только положение игрока", но так же :
Пол
Возраст
Интересы
Политические взгляды
и любая другая информация, доступная вам для сохранения. Вообще, что угодно.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Нужна помощь с сохранением игры!

Сообщение Timujin61 26 окт 2012, 21:18

Neodrop писал(а):PlayerPrefs сохраняет то, что вы ему скормите. Это может быть не "только положение игрока"

Хм, а он сможет сохранить все объекты, которые были созданы во время цикла игры?
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

Re: Нужна помощь с сохранением игры!

Сообщение DDDENISSS 26 окт 2012, 21:29

Насколько я помню Web Player не может сохранять на комп больше 1мб. Вообще PlayerPrefab не для сохранения больших данных.
а XML я не знаю т.е. пользоваться не умею
ну это твои проблемы.
По-моему в онлайн играх все сохраняется на сервере.
Аватара пользователя
DDDENISSS
UNIверсал
 
Сообщения: 439
Зарегистрирован: 11 сен 2011, 20:33

Re: Нужна помощь с сохранением игры!

Сообщение Timujin61 26 окт 2012, 21:33

По-моему в онлайн играх все сохраняется на сервере.

А как это сделать?
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

Re: Нужна помощь с сохранением игры!

Сообщение trololoid 26 окт 2012, 21:34

В каждой игре по разному
Аватара пользователя
trololoid
Старожил
 
Сообщения: 712
Зарегистрирован: 15 сен 2011, 19:18
Откуда: Туапсе, Краснодарский край, Россия

Re: Нужна помощь с сохранением игры!

Сообщение Syberex 26 окт 2012, 21:49

Так бы и сказали, что Майнкрафт :(

Берем PlayerPrefs, и как сказал Neodrop, "скармливаем" ему структуру уровня в формате текстовых строк, каждый слой на уровне будет одной строкой, каждый тип куба это буква, еще к этим строкам можно применить алгоритмы сжатия ...
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Нужна помощь с сохранением игры!

Сообщение KBEP 27 окт 2012, 04:24

Не самый эффективный, но простой вариант:
Синтаксис:
Используется javascript
import System.IO;

var data : char[,,];//данные твоего уровня, каждый элемент массива - это тип кубика

//размеры уровня
var length : int;
var width : int;
var height : int;

function save (data_ : char[,,], fileName : String) : boolean
{
        if (!fileName)
        {
                Debug.Log("Incorrect file name passed.");
                return false;
        };
        if (!data_)
        {
                Debug.Log("Data is null.");
                return false;
        };
        var bw : BinaryWriter = new BinaryWriter(File.Open(fileName, FileMode.Create));
        if (!bw)
        {
                Debug.Log("BinaryWriter creation failed.");
                return false;
        };
        //пишем длину, ширину и высоту твоего уровня
        bw.Write(length);
        bw.Write(width);
        bw.Write(height);
        for (var i : int = 0; i < length; i++)
        {
                for (var j : int = 0; j < width; j++)
                {
                        for (var k : int = 0; k < height; k++)
                        {
                                bw.Write(data_[i,j,k]);//пишем тип очередного кубика в файл
                        };
                };
        };
        bw.Close();
        return true;
};

П. С.: Не забудь подумать о сжатии, уровень размером 1000х1000х1000 кубов будет весить в районе гига.
Последний раз редактировалось KBEP 27 окт 2012, 11:18, всего редактировалось 1 раз.
Аватара пользователя
KBEP
Старожил
 
Сообщения: 598
Зарегистрирован: 24 сен 2012, 23:23
Откуда: Калининград, СПб, Северодвинск

Re: Нужна помощь с сохранением игры!

Сообщение AndreyMust19 27 окт 2012, 07:57

Вы главное сохраняйте уровень в том же формате, в к-м вы получаете его от генератора уровней. А упаковывать придется в любом случае.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Нужна помощь с сохранением игры!

Сообщение Timujin61 27 окт 2012, 08:43

KBEP, а сохраняться игра будет с движением игрока?
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

Re: Нужна помощь с сохранением игры!

Сообщение Timujin61 27 окт 2012, 08:53

А есть скрипт сохранения на (c#) ?
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

Re: Нужна помощь с сохранением игры!

Сообщение KBEP 27 окт 2012, 11:17

Синтаксис:
Используется csharp
//не забудь присвоить переменным свои значения!
byte[,,] data;//данные твоего уровня, каждый элемент массива - это тип кубика
//размеры уровня
int length;
int width;
int height;
Vector3 pos;//позиция игрока

public boolean save (byte[,,] data_, string fileName)
{
        if (!fileName)
        {
                Debug.Log("Incorrect file name passed.");
                return false;
        };
        if (!data_)
        {
                Debug.Log("Data is null.");
                return false;
        };
        BinaryWriter bw = new BinaryWriter(File.Open(fileName, FileMode.Create));
        if (!bw)
        {
                Debug.Log("BinaryWriter creation failed.");
                return false;
        };
        //пишем позицию игрока по компонентно
        bw.Write(pos.x);
        bw.Write(pos.y);
        bw.Write(pos.z);
        //пишем длину, ширину и высоту твоего уровня
        bw.Write(length);
        bw.Write(width);
        bw.Write(height);
        for (int i = 0; i < length; i++)
        {
                for (int j = 0; j < width; j++)
                {
                        for (int k = 0; k < height; k++)
                        {
                                bw.Write(data_[i,j,k]);//пишем тип очередного кубика в файл
                        };
                };
        };
        bw.Close();
        return true;
};
Аватара пользователя
KBEP
Старожил
 
Сообщения: 598
Зарегистрирован: 24 сен 2012, 23:23
Откуда: Калининград, СПб, Северодвинск

Re: Нужна помощь с сохранением игры!

Сообщение Timujin61 27 окт 2012, 17:05

KBER, а к этому скрипту кроме using UnityEngine и using System.Collections нужно ещё что-нибудь добавлять?
Учу потихоньку Unity3d :D
Аватара пользователя
Timujin61
UNец
 
Сообщения: 18
Зарегистрирован: 01 сен 2012, 13:47

След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 29