GMC Bulgaria

Здравейте ( Вход | Регистрация )

3 страници V  < 1 2 3  
Reply to this topicStart new topic
Time Loss Rpg, време беше да му дам име
яверт
коментар 21:45:41, 16-February-2011, Wednesday
Коментар #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
Я недейти са карайти тука че да ни ва зашливйъ
Go to the top of the page
 
+Quote Post
Namelesshero
коментар 22:33:09, 16-February-2011, Wednesday
Коментар #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)...
Go to the top of the page
 
+Quote Post
Hella_from_Hell
коментар 10:35:43, 17-February-2011, Thursday
Коментар #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
Go to the top of the page
 
+Quote Post
Namelesshero
коментар 14:24:44, 17-February-2011, Thursday
Коментар #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)...
Go to the top of the page
 
+Quote Post
Hella_from_Hell
коментар 17:30:17, 17-February-2011, Thursday
Коментар #45


Редовен бъбривко
Икона на група

Група: Администратор
Коментари: 782
Регистриран: 31.12.07
Град: Шумен
Потребител № 824



Чесно казано не ми се е налагало да го правя така че не съм и наясно как стоят нещата с ползването на рам.

btw, тези твоите ключови обекти можеш да ги замениш с празен обект и когато примерно се появят във view-то ти или когато си в контакт с тях, тези "празни" обекти да се заменят с съответните ключови такива. Това е само примерно. Не те знам как си си правил нещата но може и да не се получи ако имаш променливи зависещи от обектите на терена и такива подобни.


--------------------
Download my games (click an image for more information and downloading):

website: rbglifestyle.hit.bg
Go to the top of the page
 
+Quote Post
яверт
коментар 18:09:43, 17-February-2011, Thursday
Коментар #46


Засмян тъпоъгълник :D
Икона на група

Група: Администратор
Коментари: 1790
Регистриран: 21.07.08
Град: Това е място, населено с много хора. FPS: 60
Потребител № 1116



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


--------------------
Цитат
Пешо:
4:53:46
Я недейти са карайти тука че да ни ва зашливйъ
Go to the top of the page
 
+Quote Post
Namelesshero
коментар 22:46:30, 17-February-2011, Thursday
Коментар #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)...
Go to the top of the page
 
+Quote Post
яверт
коментар 09:03:36, 18-February-2011, Friday
Коментар #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
Я недейти са карайти тука че да ни ва зашливйъ
Go to the top of the page
 
+Quote Post
Пешо
коментар 15:49:28, 19-February-2011, Saturday
Коментар #49


Редовен бъбривко
Икона на група

Група: Администратор
Коментари: 661
Регистриран: 08.07.05
Град: Бургас
Потребител № 44



Първо, ще нападна Hella и Nameless hero: Прочистете си стъпките. изпълнявайте си кодовете САМО КОГАТО Е НУЖНО! Помнете резултата. Идеята е процесора да се ползва възможно най-малко! Рам има достатъчно. Да си направите един масив който да помни повече не е никакъв проблем. Прочетете малко за PERFORMANCE. smile.gif


--------------------
Go to the top of the page
 
+Quote Post
яверт
коментар 17:05:24, 19-February-2011, Saturday
Коментар #50


Засмян тъпоъгълник :D
Икона на група

Група: Администратор
Коментари: 1790
Регистриран: 21.07.08
Град: Това е място, населено с много хора. FPS: 60
Потребител № 1116



Цитат(Hella_from_Hell @ 10:35:43, 17-February-2011, Thursday) *
FPS не зависи толкова много от броя обекти от колкото какви действия има в обектите.

Определено зависи от броя на обектите. Като намалих обектите с няколко стотин - без да намалявам количеството изпълняван код - средното fps се качи с към 10 до 15!
Всеки обект всяка стъпка прави много проверки и изчисления за смяна на спрайта, за новата позиция в зависимост от friction, speed, gravity, за синхронизиране на hspeed/vspeed и direction/speed много са. И всичкото това се изпълнява в нещо като степ евент. Един обект по-малко = вероятно над сто реда код, който се изпълнява всяка стъпка, по-малко. Разбира се, като ги деактивираш не се изпълнява този код.


--------------------
Цитат
Пешо:
4:53:46
Я недейти са карайти тука че да ни ва зашливйъ
Go to the top of the page
 
+Quote Post
Hella_from_Hell
коментар 23:10:04, 19-February-2011, Saturday
Коментар #51


Редовен бъбривко
Икона на група

Група: Администратор
Коментари: 782
Регистриран: 31.12.07
Град: Шумен
Потребител № 824



E, да ама като няма нищо в тея обекти едва ли ще забележиш някаква сериозна промяна (освен ако не са няколко десетки хиляди). Това имах в предвид като го казах онова.
Ако си наблъскал в step-а на всеки един обект да се цикли нещо постоянно и сложиш стотина от тях, естествено е че ще ти бави.


--------------------
Download my games (click an image for more information and downloading):

website: rbglifestyle.hit.bg
Go to the top of the page
 
+Quote Post
Namelesshero
коментар 14:42:24, 20-February-2011, Sunday
Коментар #52


Редовен потребител
***

Група: Потребител
Коментари: 242
Регистриран: 25.11.08
Град: Монтана
Потребител № 1377



Ок хора, таз събота се разработих цял ден, и доста пооправих кода. FPS-a на лаптопа държи 50-55, а преди беше на 30-35(2.4х2 Ghz). Сега ще дооправя и другата половина от кода, и нещата ще се оправят драстично. Ще добавя и деактивация на обекти, и ще върви на 35 фпс дори на компютри със 1.6 Ghz. Мерси за препоръките smile.gif


--------------------
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)...
Go to the top of the page
 
+Quote Post

3 страници V  < 1 2 3
Reply to this topicStart new topic
1 потребител(и) четат тази тема (1 гости и 0 скрити)
0 Потребител(и):

 



Олекотена версия Час: 18:03:22, 03.07.25