как да направите екран за зареждане в единство


Отговор 1:

Отговорът на Даниел е верен и достатъчен, ако по принцип знаете кои са различните видове памет и защо ги използваме.

Ще се опитам да го опиша още по-неспециалистически. (за вас, технически хора, не се притеснявайте от обобщенията, които направих, за да илюстрирам основната идея)

Не забравяйте, че игровите конзоли са просто специализирани компютри.

Компютрите разчитат на съхранени данни, за да работят. Така например, за игра, разработчиците измислят съдържанието, като музиката, произведенията на изкуството и логиката на играта, която инструктира компютъра как да събере всички тези неща и да отговори на входовете на вашия контролер, за да съставя играта . Цялото това съдържание трябва да се съхранява някъде, за да може да ви го продаде. След това, след като го получите, компютърът ви трябва да прочете този запас от информация, за да стартира играта.

Има различни начини за електронно съхраняване на информация. Някои примери са CD-та, DVD-та, USB памет, твърд диск на компютъра, RAM на компютъра и др. Има две важни свойства на електронното съхранение на данни, за които се грижим за тази дискусия. Първият е колко бързо можете да четете или пишете информация към и от устройството за съхранение, а вторият е колко скъпо е устройството за съхранение на единица информация, която може да съхранява.

Оказва се, че като цяло, колкото по-бързо е устройство за съхранение при четене и запис на информация, толкова по-скъпо е и то. Така че от икономически съображения обикновено се сблъскваме със следните две възможности: Ако искаме да съхраняваме много информация, тогава трябва да използваме бавно устройство. Или ако искаме да можем да четем и пишем информация наистина бързо, тогава трябва да използваме устройство, което може да съхранява само малко количество информация наведнъж.

Така например, празен Blu-ray диск може да побере около 4-5 часа HD видео и би струвал по-малко от $ 10 за потребител, който да купи. Оперативната памет на компютъра се чете стотици пъти по-бързо от Blu-ray диска, но закупуването на достатъчно RAM, за да побере 4-5 часа HD видео, би струвало над 200 долара. Можете да видите компромиса, нали?

Има доста информация, която съставлява играта. Има цяла музика, произведения на изкуството, логика на играта и много други. За да съхраним играта, трябва да използваме един от по-евтините, но по-бавни методи, като DVD, Blu-ray диск или твърд диск на компютъра (XBox и PlayStation също имат твърди дискове).

Въпреки това, за да може компютърът ви да играе правилно играта, той трябва да може да чете информацията за играта много бързо. За тази цел Blu-ray диск или твърд диск е твърде бавен.

Затова вместо това информацията за играта трябва да се копира в компютърната RAM. Тъй като RAM е много по-скъп от DVD или твърд диск, ние разполагаме само с относително малко количество RAM. Така че не можем да копираме цялата информация за играта в RAM. Вместо това можем да копираме само части от данните за играта. Така например, в състезателна игра компютърът ще зареди в RAM само информацията за играта, свързана с пистата, по която се състезавате, или в мултиплейър стрелец, само картата, на която ще играете, и информацията за играчите, с които играете, ще бъдат заредени в RAM. Не можем да заредим цялата игра в RAM, защото тя няма да се побере.

Това време, прекарано в копиране на данните от бавния твърд диск или Blu-ray диск в бързата RAM, е причината да имаме зареждащи екрани. Фактът, че RAM е по-малък от твърдия диск или Blu-ray диска, е причината да имате множество зареждащи екрани, докато се движите между нивата в играта и т.н.

Игрите, най-общо казано, са много по-големи, те имат много повече информация от други програми, които бихте могли да стартирате на вашия компютър като уеб браузър, или бележник, калкулатор и т.н. Тези други програми също трябва да копират информация от вашия твърд диск в RAM, но тези програми са много по-малки от игрите. Копирането става толкова бързо, че не се нуждаете от екран за зареждане. С игрите, тъй като копирането отнема значително по-дълго време, разработчиците на игри са добавили екрани за зареждане, така че да имате какво да разгледате, а също така ви помага да осъзнаете, че играта все още работи.


Отговор 2:

Да предположим, че имам кутия с Lego и синът ми иска да направи Звезда на смъртта с тях.

Кутията на Lego е съдържанието на играта, записано на твърд диск (HDD), процесът на създаване на Звезда на смъртта е съдържанието на геймплея, което ще бъде видимо за играча (моя син) по това време.

Сега имам 2 начина да направя това:

  1. Или изваждам всички необходими парчета в началото и оставям сина си да направи Звезда на смъртта с тях
  2. Или просто изваждам всяко парче, когато синът ми работи по тази конкретна част.

Първият метод изисква синът ми да чака дълго време, докато се подготвя; докато вторият метод изисква синът ми да изчака малко всеки път, когато има нужда от ново парче. След някои опити откривам, че вторият метод създава хълцане по време на играта на сина ми, по време на което той трябва да спре да играе и да изчака следващото парче да дойде и скоро той губи интерес към Звездата на смъртта и се отказва. Открих интереса на сина ми да превърне Звездата на смъртта в жизненоважна за славата на Империята, реших да отида с метод 1. Но след това се сблъсках с още един проблем: след като поиска изграждането на Звездата на смъртта, синът ми само ме видя да бягам някъде без казвайки каквото и да било. Той е объркан, чудейки се защо ме няма толкова дълго. Не чух ли молбата му? Или съм твърде зает, за да служа на Империята? Може би просто го забравих напълно?

Забравих да му кажа какво ще правя. Затова хуквам обратно, казвайки му, че получавам парчетата и ще се върна след няколко минути, и включвам разсейваща карикатура, която той да гледа, докато ме няма. Това е екранът за зареждане.


Отговор 3:

Повечето хора може да не го осъзнаят сега, тъй като компютрите са станали толкова мощни, а системните ресурси толкова богати, че хората вече не са свикнали да чакат закъснения на производителността, изчисленията или взаимодействието от компютрите. Всеки път, когато екран / ниво / кинематография съдържа повече данни, отколкото процесорът и графичната карта могат да изобразят във всеки един момент, ще изпитате забавяне, докато процесорът изчислява инструкции. Ако някога сте играли онлайн игри или сте се опитвали да се занимавате с facetime / hangout / skype с лоша връзка (ако сте се опитали да предадете филм обратно, преди няколко MBps да се превърнат в норма), ще знаете колко може да бъде разочароващото изоставане.

Екраните за натоварване са начин, който умните инженери и дизайнери на игри са разработили, за да преодолеят проблемите със забавянето. Докато виждате екран за зареждане, вашата машина всъщност подготвя нивото / сцената / видеото, но освен всичко друго зарежда в текстури за околната среда. Когато светът премине изцяло към SSD и всяка машина има 100 GB RAM и процесорите могат да достигнат толкова голяма скорост, колкото една игра може да им хвърли, може да видим, че екранът за зареждане изчезва, но не дотогава.


Отговор 4:

Това е традиционно решение на проблема, че зареждането на данните за играта от HDD или оптично устройство или флаш отнема много време, особено ако играта е богата на съдържание и ако играчът види празен екран, те ще станат нетърпеливи и ще мислят, че играта се срина. На игровите конзоли, които използваха касети, игрите обикновено нямаха зареждащи екрани, тъй като касетата беше продължение на паметта на машината и данните не трябваше да се зареждат никъде. Екранът за зареждане е доста прост трик: първо, малка част от кода на играта, наречена "loader", се зарежда в паметта. След това зарежда изображение на екрана за зареждане и го показва, а след това зарежда останалите данни и код на играта. Разбира се, играчът иска да играе веднага и има няколко начина да го позволите. Например, играта "загадъчно имение" ви позволява да намирате скрити предмети на екрана за зареждане, докато играта се зарежда. Виждал съм игра в 3D (съжалявам, забравих заглавието), в която играчът беше представен с обикновена 2D игра на стрелба, която приличаше на основната игра, докато основната игра се зареждаше. В някои игри можете да започнете да играете веднага щом се зареди геометрията и докато текстурите се зареждат, можете да видите как обектите стават текстурирани, докато играете - това ви позволява да започнете да играете малко по-рано за сметка на добре изглеждащите обекти в начало. Един действително валиден начин е да имате възможно най-малко текстури и възможно най-опростена геометрия - това е, което някои инди игри са добри. Вероятно има някои други начини за намаляване на времето за изчакване между старта на играта и началото на играта.


Отговор 5:

Има файлове и информация, които всяка игра трябва да стартира, точно както всяка програма се нуждае от своите кодове. Тези файлове могат да бъдат виртуални 3D модели на персонажи по време на игра, скриптове за определени сцени, милиони редове код и т.н. Огромно количество информация, наистина. Тази информация не може да бъде достъпна незабавно (това наистина зависи от скоростта на устройството, което използвате). И така, времето, необходимо на компютъра или устройството, за да получи достъп до тези файлове и да ги „зареди“, води до „времето за зареждане“, което получавате на екрана.

По времето на конзолите като SNES, устройството беше достатъчно способно да се справи с количеството информация, която използва игрите. Нищо чудно, че Super Mario Bros няма време за зареждане или дори да го има, не отнема повече от няколко секунди. Но по-късно, когато компютърът става все по-мощен и компютрите на потребителско ниво създават възможност за създаване на файлове с многофункционални езици за програмиране, тези програми стават все по-сложни и заемат доста място. Развитието в създаването на програми се увеличи десетократно до разработването на хардуер за компютър.

Дори днес има игри, които не се нуждаят от зареждащи екрани, тъй като тези игри не са толкова сложни, колкото основните ААА. Много от тях са 2D игри като Undertale. Тук единствените неща, които компютърът трябва да зареди, са файлът за запазване на плейъра, текстурите с ниска разделителна способност (лесна за зареждане), кодовете и скриптът и други малки неща. От друга страна, за 3D игра компютърът трябва да зареди физиката, осветлението, моделите, текстурите, полигоните, данните, кодирането, елементите на околната среда и много други различни неща, които 2-D игри не е нужно да правите. Така че, рендирането на 2D графика очевидно е много по-лесно от 3D. Ето защо Undertale не се нуждае от екран за зареждане, докато GTA-5, който сам по себе си е с размер на почти 80 концерта, отнема много време.

Ако имате някакви въпроси, не се колебайте да коментирате.


Отговор 6:

Тъй като внезапен черен екран или окачен изглед на сцена, в която липсват елементи, причинява „WTF“ за играчите и още повече, когато трае 5 минути без никакъв индикатор или прогноза за времето или дори колкото индикатор, че играта има всъщност не е катастрофирал.

Хората биха очаквали, че играта е катастрофирала.

Освен това, докато зареждате 8 гигабайта данни (през 2015 г.), това ще отнеме известно време и ако абсолютно трябва да разполагате с това количество данни или изчисления или каквото и да е, което отнема толкова много време, е добро място да вмъкнете хубаво изкуство, кавички и каквото и да било - дори мини игра - за да запазите играчите някак привързани към играта.

Всъщност това е перфектна възможност да предложите на играчите малко фонове, които да прочетат, за да отделят време и съветите за игра също работят. Msgstr "Съвет: можете да изграждате стени, като влачите с мишката".


Отговор 7:

Четенето на съдържание от твърдия диск е бавно, четенето на съдържание от оптичния диск е още по-бавно.

Екранът за зареждане ви дава нещо за гледане, докато чакате всичко да бъде прочетено в паметта. Те съществуват, защото това е много по-лесният начин да се правят нещата. Знаете какво има на нивото, просто зареждате всичко отпред и след това не се притеснявайте за нещо, което трябва да не сте там, или да се наложи да изчакате, и скоростта на кадрите да се запази.

По-трудният начин да направите нещата е непрекъснатото поточно предаване на съдържание в паметта от медиите във фонов режим. Това се отървава от зареждащите екрани, но е огромно предизвикателство да се оправиш. Трябва да предвидите какво ще ви трябва, преди да имате нужда и да знаете от какво можете да се отървете безопасно по всяко време.

Това е, което прави GTAV толкова невероятно за мен.


Отговор 8:

Помислете за това по следния начин:

Имате настолна игра, която нямате идея как да играете. В момента всичко е в кутия. И така, разопаковаме играта и търсим книгата с правила.

Намерихме книгата с правила, сега трябва да я прочетем и да се запознаем с това как да настроим дъската, правилата на играта и какво да правим в определени ситуации.

След като вече сте запознати с правилата, как да настроите и играете, сега трябва да зададете фигурите на началните им места.

И с всички зададени фигури, вие сте запознати с правилата и целта на играта, сега можете да играете.

Сега видео игрите са склонни да бъдат по-сложни от средната настолна игра. Както разбирам, има много повече „ако се случи x, значи това“, които се вземат предвид при стартирането на кода за видео игра. И да не забравяме физиката, много игри ги имат, реални за живот или не. За състезателна игра има триене, за което трябва да се отчете. Температурата на гумите може да промени колко сцепление имате. Контактната повърхност също се променя при преминаване през завои, ускорение или забавяне.

Надявам се това да обяснява нещата достатъчно ясно


Отговор 9:

Обикновено това се прави, докато играта зарежда обекти в паметта (модели, скриптове, аудио файлове и т.н.), така че да имат бърз достъп до тях, докато действителното ниво работи. Ако започнете да пускате нивото преди да е завършило, вероятно ще срещнете неща, които все още не са работили (враг, без да е ai, или анимации) или внезапно заекване и замръзва, докато файлът е грабнат от твърдия диск (файлове с аудио / текстура могат бъдете доста големи и отделете малко време за четене).

Това може да бъде и маскиране на функции за настройка, като в процедурно генерирана игра, където се създава информация от ново ниво от функция. Това би се случило във всяка игра с произволност в стартовото й състояние като Minecraft или всяка подобна на мошеник игра.


Отговор 10:

Познавам геймърите, чувствам болката ти. Всяка RPG игра, в която играя, има същия екран за зареждане, който ни кара да чакаме. Но това е просто, по-големите игри имат по-дълги екрани за зареждане като The Elder Scrolls и Farcry, но не мога да се отърва от усещането, че е просто нещо да тролвам геймърите. Лоши игри като My Sims и Risen серията, въпреки че простите игри все още имат този екран за зареждане, който отнема вечно, така че нямам представа защо е така, но няма оправдание за това.


Отговор 11:

Физически не е възможно да запазите всичко, което се съхранява на компактдиск в паметта на PlayStation 1. Така че единствената налична опция е да зареждате данни при необходимост. Това отнема време. Някои игри наистина много добре го маскираха, като оригиналния Twisted Metal. И ситуацията може да се подобри с времето, тъй като по-бързите опции за съхранение са достъпни както за компютрите, така и за конзолите и има повече RAM, но винаги ще бъде фактор на времето, който си струва да кажете на играча да задържи момент.

Но ако ви се стори непоносимо ... не се опитвайте да играете на Commodore 64 с оригинално дисково устройство.