Time Loss Rpg, време беше да му дам име |
Здравейте ( Вход | Регистрация )
![]() ![]() |
Time Loss Rpg, време беше да му дам име |
![]()
Коментар
#41
|
|
![]() Засмян тъпоъгълник :D ![]() Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 ![]() |
Сега като пуснах играта ми излезна следната грешка:
action 4 game start menu_contr file does not exist Гледам, че доста неща си оправил, най-вече анимацията на меча и онези линии в пътеките, което ме подсеща - направи диагонални изображения на пътките или направо направи да се рисуват полигони по paths(ресурсът в гм) - така ще могат да са напълно прави или невероятно криви, което ще допринесе за релизма на играта. Не можах да говоря с хората и съответно да си купя нещо за възстановяване, нито пък мога да ползвам магията за това. Като натисна f1 и после esc направо ме праща в главното меню; ако ползваш евенти за проверката на esc, използвай key pressed вместо key или ако използваш код keyboard_check_pressed вместо keyboard_check Онези скорпиони или мравки дето са в горния десен ъгъл са почти незабелижими, но за сметка на това ти дърпат fpsто много надолу, ако всеки един е отделен обект(а съм сигурен, че е така) Ако имаш над 50 70 обекта, вече самата бройка обекти, не кода в тях, почва да забавя играта. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
![]()
Коментар
#42
|
|
![]() Редовен потребител ![]() ![]() ![]() Група: Потребител Коментари: 242 Регистриран: 25.11.08 Град: Монтана Потребител № 1377 ![]() |
Ок значи за иконките ...
1)Основното ти оръжие 2)Въстановяване на HP - трябва да имаш храна във теб, която да консумираш 3)Същото като хп, но става въпрос за мана 4)става въпрос за endurance - издръжливост С хората не може да се говори, ако: Имаш меч в ръката Имаш лък в ръката Имаш брадва в ръката Имаш действаща магия Не знам за броя на обекти, но знам че ако оставя само контролните обекти и героя в една стая, то фпс-а се увеличава със 1-2... Как да пренастроя кода да се преориентира към рамта, или това е невъзможно? -------------------- Current project: Time Loss ~25%(95% programming, 8% level design, 7% story, 5% sound)
Трета демо версия тук:ЦъК Background work: Farmer John's Second Farm Empire... 60% Next demo version coming up on 75%(v. 0.75)... |
|
|
![]()
Коментар
#43
|
|
![]() Редовен бъбривко ![]() Група: Администратор Коментари: 782 Регистриран: 31.12.07 Град: Шумен Потребител № 824 ![]() |
FPS не зависи толкова много от броя обекти от колкото какви действия има в обектите.
В някои от игрите ми има повече от 2000 обекта в room. Преклено много tiles по терена също могат да причинят доста FPS лаг. -------------------- Download my games (click an image for more information and downloading):
![]() website: rbglifestyle.hit.bg |
|
|
![]()
Коментар
#44
|
|
![]() Редовен потребител ![]() ![]() ![]() Група: Потребител Коментари: 242 Регистриран: 25.11.08 Град: Монтана Потребител № 1377 ![]() |
Има около 20 tiles на един руум. Не е от това. Предполагам че е от многото операции във контролните обекти, те имат ужастно много for, with, switch цикли, да не говорим за АИ-то, което ползва instance_nearest много пъти...
Тааа възможно ли е да се прехвърлят процесите върху рам паметта? Явно не, защото никой не засяга темата... -------------------- Current project: Time Loss ~25%(95% programming, 8% level design, 7% story, 5% sound)
Трета демо версия тук:ЦъК Background work: Farmer John's Second Farm Empire... 60% Next demo version coming up on 75%(v. 0.75)... |
|
|
![]()
Коментар
#45
|
|
![]() Редовен бъбривко ![]() Група: Администратор Коментари: 782 Регистриран: 31.12.07 Град: Шумен Потребител № 824 ![]() |
Чесно казано не ми се е налагало да го правя така че не съм и наясно как стоят нещата с ползването на рам.
btw, тези твоите ключови обекти можеш да ги замениш с празен обект и когато примерно се появят във view-то ти или когато си в контакт с тях, тези "празни" обекти да се заменят с съответните ключови такива. Това е само примерно. Не те знам как си си правил нещата но може и да не се получи ако имаш променливи зависещи от обектите на терена и такива подобни. -------------------- Download my games (click an image for more information and downloading):
![]() website: rbglifestyle.hit.bg |
|
|
![]()
Коментар
#46
|
|
![]() Засмян тъпоъгълник :D ![]() Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 ![]() |
Трудно ми е да кажа кое бави, но покажеш ли съмнителният код, сигурно ще мога да ти помогна да го оптимизираш.
-------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
![]()
Коментар
#47
|
|
![]() Редовен потребител ![]() ![]() ![]() Група: Потребител Коментари: 242 Регистриран: 25.11.08 Град: Монтана Потребител № 1377 ![]() |
Давам извадки от кода на един от главните контролни обекти, този който товари най-много. Това е горе-долу енджина ми за инвентар... дано разбереш нещо че съм го писал само аз да си го разбирам.
CODE //предмети(код за изравняване на стоиностите)
for(i=0; i<maxslots; i+=1){ if(slot_amount[i]!=snskinsamount&&slot_item[i]=2&&snskinslot=1){ slot_amount[i]=snskinsamount }//За всеки итем има по едно такова(итемите са над 50 сега, и ще бъдат над 200... } //оръжия for(wi=0; wi<=wmaxslots; wi+=1){ if(wslot_equip[wi]!=rswordequip&&wslot_item[wi]=51){ if(rswordequip>0 && wslot_numb[wi]=equip_numb){ wslot_equip[wi]=rswordequip } if(rswordequip=0){ wslot_equip[wi]=rswordequip } }//за всяко оръжие прави тази проверка, дали оръжието е екипирано. има 20 оръжия, ще има над 50 //за всеки итем и оръжие, това е въвеждащия код, който го слага на определен слот. if(snskinslot=0&&snskinsamount>0){ for(i=0; i<=maxslots; i+=1){ if(slot_item[i]=0){ snskinslot=1 slot_item[i]=2 slot_amount[i]=snskinsamount exit } } } //кода за изпразване на слот for(i=0; i<maxslots; i+=1){ if(snskinsamount=0&&slot_item[i]=2){ slot_item[i]=0 snskinslot=0 } } Това се изпълва за всеки итем всеки степ от играта. Всеки итем си има индефикатор (2 за змииски кожи, 3 за вълчи, 51 за ръждив меч и т.н.) Не мога да си представя как да съкратя кода. Най-много да го огранича, и да му давам да го изпълнява по-рядко. Оптимизацията ми изглежда трудна, но ще бъде наложителна. -------------------- Current project: Time Loss ~25%(95% programming, 8% level design, 7% story, 5% sound)
Трета демо версия тук:ЦъК Background work: Farmer John's Second Farm Empire... 60% Next demo version coming up on 75%(v. 0.75)... |
|
|
![]()
Коментар
#48
|
|
![]() Засмян тъпоъгълник :D ![]() Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 ![]() |
Не мога да разбера защо се изпълнява всяка стъпка, нима е толкова наложително? Първият може да се изпълнява еднократно при вземане/купуване/продаване/използване/изваждане на предмет от инветара(не съм много сигурен каква му е целта). Вторият също би могъл само при смяна на оръжието. Последните два би трябвало да се изпълняват само при взимане и махане на предмет съответно.
Аз бих направил така: бих сложил всяка от четирите части в отделна функция, като за аргумент бих поставил само нещата, които зависят от предметите и бих викал тези функции само когато е нужно. Ако е толкова наложително всичко да се изпълнява непрекъснато, няма да е фатално да използваш аларми: Код //create
alarm[0]=room_speed/5+1; alarm[1]=room_speed/4+1; alarm[2]=room_speed/3+1; alarm[3]=room_speed/2+1; //alarm0 //първи код alarm[0]=room_speed/2; //alarm1 //втори код alarm[1]=room_speed/2; //alarm2 //трети код alarm[2]=room_speed/2; //alarm3 //четвърти код alarm[3]=room_speed/2; -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
![]()
Коментар
#49
|
|
![]() Редовен бъбривко ![]() Група: Администратор Коментари: 661 Регистриран: 08.07.05 Град: Бургас Потребител № 44 ![]() |
Първо, ще нападна Hella и Nameless hero: Прочистете си стъпките. изпълнявайте си кодовете САМО КОГАТО Е НУЖНО! Помнете резултата. Идеята е процесора да се ползва възможно най-малко! Рам има достатъчно. Да си направите един масив който да помни повече не е никакъв проблем. Прочетете малко за PERFORMANCE.
![]() -------------------- |
|
|
![]()
Коментар
#50
|
|
![]() Засмян тъпоъгълник :D ![]() Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 ![]() |
FPS не зависи толкова много от броя обекти от колкото какви действия има в обектите. Определено зависи от броя на обектите. Като намалих обектите с няколко стотин - без да намалявам количеството изпълняван код - средното fps се качи с към 10 до 15! Всеки обект всяка стъпка прави много проверки и изчисления за смяна на спрайта, за новата позиция в зависимост от friction, speed, gravity, за синхронизиране на hspeed/vspeed и direction/speed много са. И всичкото това се изпълнява в нещо като степ евент. Един обект по-малко = вероятно над сто реда код, който се изпълнява всяка стъпка, по-малко. Разбира се, като ги деактивираш не се изпълнява този код. -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
![]()
Коментар
#51
|
|
![]() Редовен бъбривко ![]() Група: Администратор Коментари: 782 Регистриран: 31.12.07 Град: Шумен Потребител № 824 ![]() |
E, да ама като няма нищо в тея обекти едва ли ще забележиш някаква сериозна промяна (освен ако не са няколко десетки хиляди). Това имах в предвид като го казах онова.
Ако си наблъскал в step-а на всеки един обект да се цикли нещо постоянно и сложиш стотина от тях, естествено е че ще ти бави. -------------------- Download my games (click an image for more information and downloading):
![]() website: rbglifestyle.hit.bg |
|
|
![]()
Коментар
#52
|
|
![]() Редовен потребител ![]() ![]() ![]() Група: Потребител Коментари: 242 Регистриран: 25.11.08 Град: Монтана Потребител № 1377 ![]() |
Ок хора, таз събота се разработих цял ден, и доста пооправих кода. FPS-a на лаптопа държи 50-55, а преди беше на 30-35(2.4х2 Ghz). Сега ще дооправя и другата половина от кода, и нещата ще се оправят драстично. Ще добавя и деактивация на обекти, и ще върви на 35 фпс дори на компютри със 1.6 Ghz. Мерси за препоръките
![]() -------------------- Current project: Time Loss ~25%(95% programming, 8% level design, 7% story, 5% sound)
Трета демо версия тук:ЦъК Background work: Farmer John's Second Farm Empire... 60% Next demo version coming up on 75%(v. 0.75)... |
|
|
![]() ![]() |
Олекотена версия | Час: 18:03:22, 03.07.25 |