Ինչ է անհրաժեշտ համակարգչով խաղ ստեղծելու համար: Ընտրելով ծրագիր՝ խաղ ստեղծելու համար

Տարեցտարի ավելանում է համակարգչային կամ բջջային խաղերով խաղացողների թիվը։ Մարդիկ նրանց անվանում են խաղացողներ, ովքեր չեն պատկերացնում իրենց կյանքը առանց խաղալիքների: Շատերը նրանց համարում են հիվանդ մարդիկ, ովքեր պետք է բուժվեն: Բայց միևնույն ժամանակ կան մարդիկ, ովքեր սովորել են գումար աշխատել գեյմերների վրա՝ ստեղծելով նոր խաղեր։ Այս դեպքում շատ գեյմերներ մտածում են ինքնուրույն խաղ ստեղծելու մասին։


Այսօր խաղեր ստեղծելն ավելի քիչ ժամանակ և ջանք է պահանջում, քան 5-10 տարի առաջ: Դրա համար մշակվել են եռաչափ գրաֆիկայի մոդելավորման տարբեր ծրագրեր և խաղեր ստեղծելու շարժիչներ։ Պարզապես պետք է համբերատար լինել:

Եթե ​​ցանկանում եք ստեղծել ձեր սեփական խաղը, դուք պետք է ունենաք որոշակի խաղային փորձ: Եթե ​​օգտատերը շատ հազվադեպ է խաղում, բավականին դժվար կլինի որակյալ արտադրանք պատրաստելը։ Ճիշտ խաղ ստեղծելու համար դուք պետք է հետևեք խաղի տրամաբանությանը և տեղյակ լինեք խաղի աշխարհի բոլոր կողմերին:

Բավականաչափ լավ խաղ պատրաստելու համար պետք է պատկերացնել խաղը և նոր գաղափարներ հորինել: Եթե ​​ստեղծեք յուրահատուկ խաղ, ավելի հեշտ կլինի խաղացողներ գտնել: Արժե հիշել, որ խաղ ստեղծելու համար պետք է որոշակի գիտելիքներ ունենալ այս ոլորտում։ Դուք պետք է սովորեք ծրագրավորման լեզուներ, սովորեք, թե ինչպես օգտագործել եռաչափ խմբագրիչներ: Դա անելու համար դուք կարող եք գտնել բազմաթիվ տարբեր հոդվածներ և ծրագրեր ինտերնետում:

Խաղի ստեղծում

Սկզբում դուք պետք է ընտրեք այն ժանրը, որով կստեղծվի խաղը: Հիմնական գաղափարը յուրաքանչյուր խաղի կարևոր մասն է: Ամենատարածված խաղերը հիմնված են առաջին դեմքով հրաձիգ ժանրի վրա: Շատ սիրված է նաև մրցարշավը: Որոշակի խաղի հանրաճանաչությունը պարզելու համար պարզապես հաշվեք դրանց թիվը որոշակի կատեգորիայում:

Action games and shooter-ը հրաձգության խաղ է, որտեղ դուք պետք է սպանեք բոլոր թշնամիներին: Ռազմավարությունները և RTS-ը նույնպես շատ տարածված են: Բացի այդ, դեռևս կան հսկայական թվով ժանրեր, որոնք նույնպես կյանքի իրավունք ունեն։

Ժանր ընտրելուց հետո պետք է սկսել սցենար ստեղծել։ Սա խաղի ստեղծման շատ կարևոր մասն է: Սցենարը պետք է ունենա սյուժե, գլխավոր հերոս, թշնամիներ կամ մրցակիցներ, ավարտ: Արժե նաև աշխատել խաղի ինտերֆեյսի և գրաֆիկայի վրա։

Եթե ​​սկսնակը սկսի խաղ ստեղծել, ապա դա նրա համար բավականին բարդ գործընթաց կլինի, քանի որ դրա համար անհրաժեշտ է շարժիչ, որը սկսնակ օգտագործողը չի կարող ստեղծել: Դա անելու համար դուք պետք է օգտագործեք հատուկ խաղային դիզայներ: Կարող եք փորձել սովորել ծրագրավորման լեզուներ և ինքներդ գրել շարժիչ կամ օգտագործել պատրաստի:

Սկսնակներին խրախուսվում է օգտագործել կոնստրուկտորները: Սա հատուկ ծրագիր է, որն ունի ապագա խաղի կառուցվածք։ Տարրերը և առարկաները պետք է տեղադրվեն և պետք է ներառվեն սցենարներ: Նման կոնստրուկտորներն անընդհատ ընդլայնում են իրենց գործառույթների քանակը, մինչդեռ ծրագրի գինը աճում է։ Եթե ​​խաղերի դիզայների վրա գումար ծախսելու ցանկություն չկա, ապա կարող եք օգտվել անվճար կոմունալ ծառայություններից:

Եթե ​​դուք օգտագործում եք խաղային շարժիչներ, ապա պետք է որոշակի գիտելիքներ ունենաք ծրագրավորման ոլորտում: Քանի որ շարժիչը գործառույթների և օբյեկտների հավաքածու է, մշակողը կարիք չունի որևէ գործողություն ստեղծելու: Այն ամենը, ինչ ձեզ հարկավոր է, արդեն շարժիչի մեջ է: Դուք ստիպված կլինեք օգտագործել հատուկ խմբագիրներ գրաֆիկա պատրաստելու և դրանք սկրիպտներին միացնելու համար:

Ձեր սեփական խաղի ստեղծումը շատ բարդ և երկարատև գործընթաց է: Սկսնակ օգտագործողին խորհուրդ չի տրվում վերցնել դա, բայց եթե լրացուցիչ գումար կա, կարող եք խաղ պատվիրել մասնագիտացված ստուդիաներում: Միաժամանակ ծրագրավորողները հաշվի կառնեն բոլոր ցանկությունները։

Այս ուղեցույցը մանրամասնում է, թե ինչպես ստեղծել խաղ. մշակել գաղափար, ընտրել գործիքակազմ և կազմակերպել զարգացման գործընթացն այնպես, որ այն հեշտությամբ հոսի և հանգեցնի արդյունքի:

Ողջույն տղաներ. Այս հոդվածում ես չափազանց անկեղծ կլինեմ ձեզ հետ և կպատմեմ, թե ինչպես ինքներդ խաղ ստեղծել: Նախապես զգուշացնում եմ, որ տեսախաղ պատրաստելը դժվար է և շատ ժամանակատար։ Եվ եթե ձեր նպատակը օձի ևս մեկ կլոն չէ, Tetris-ը կամ քայլ առ քայլ ձեռնարկից որևէ այլ խաղ, դուք պետք է շատ ջանք գործադրեք դրա համար:

Չափազանց շատ մարդիկ, փորձելով կատարել իրենց առաջին խաղը, գլխովին սուզվում են շարժիչի մեջ և հրաժարվում գաղափարից, քանի որ այն «չափազանց դժվար է», «Ես հոգնել եմ», «Ես որևէ առաջընթաց չեմ տեսնում»: Իրականում, դա պարզապես մի փունջ հիմար արդարացումներ են, որոնք հայտնվում են «ներքևի տեսողության» պատճառով, այսինքն՝ անմիջապես մեծ տրամաչափի խաղեր ստեղծելու ցանկության, ինչպիսին է The Witcher-ը կամ Final Fantasy-ն:

Սրանք նախագծեր են, որոնց վրա մի քանի տարի աշխատում են մասնագետների ամբողջ թիմեր, հարյուրավոր մարդկանց թիմեր, այնպես որ, եթե նույնիսկ իսկապես ցանկանաք և ծախսեք ձեր ամբողջ կյանքը, չեք կարողանա նույն լայնածավալ արտադրանքը պատրաստել:

Ձեր առաջին խաղը պրակտիկա է, սեւագիր, բայց ոչ գլուխգործոց: Նույնիսկ ամենապարզ պիքսելային խաղի մեկ մակարդակ ստեղծելը սկզբում կարող է ճնշող լինել, և ընտրելով ինչ-որ հսկայական բան, դուք պարզապես գաղափար չեք ունենա, թե որտեղից սկսել, այնպես որ շատ ժամանակ կծախսեք մանրամասների վրա, որոնք բացարձակապես կարևոր չեն:

Հիմնական խնդիրն է ստեղծել մի ապրանք, որը դուք կարող եք խաղալ ինքներդ: Ինձ չի հետաքրքրում, թե դա երկգույն գծային հարթակ է, որը 7 րոպե է պահանջում: Դու արեցիր դա, չես կորցրել սիրտը, չես որոշել թողնել ամեն ինչ, ինչն արդեն քեզ ավելի լավն է դարձնում, դու նրանցից չես, ովքեր հուսահատվեցին և հանձնվեցին:

Թող խաղա ձեր մայրիկը, եղբայրը, ընկերները, ով ուզում եք։ Նրանք կքննադատեն, քանի որ սովոր են խաղերը դիտել որպես զանգվածային նախագծեր։ Անտեսեք, քանի որ նախ՝ դուք ինքներդ եք ստեղծել ձեր առաջին խաղը, երկրորդ՝ հաջորդ անգամ այն ​​կդարձնեք ավելի արագ և ավելի լավը, և երրորդ՝ դուք շուտով կհասնեք հմտությունների այն մակարդակին, որը նրանք բոլորը կխնդրեն ձեզ թույլ տալ խաղալ:

Ձեր խաղը պետք է արտացոլի ձեր հմտությունները: Ամեն ինչ պետք է հետևողականորեն անել՝ ի հայտ է եկել գաղափար՝ ստուգում ես դրա իրականացման հնարավորությունը, եթե հնարավորություն չկա, փորձում ես սովորել՝ ձեռք բերելով հմտություն՝ իրականացնում ես գաղափարը։ Եվ ամեն անգամ այսպես պետք է արվի։ Ժամանակի ընթացքում նայեք Asset Store-ին, գուցե արդեն կա մի հատված, որի վրա մի քանի օր կծկվել եք:

Վերջապես, բաժանման բառերի նման մի բան. ամենայն հավանականությամբ, դուք փորձում եք զարգանալ ձեր ուսմանը կամ աշխատանքին զուգահեռ: Երբեմն շաբաթներ կանցնեն, մինչև դուք կարողանաք ժամանակ գտնել, բայց եթե իսկապես ցանկանում եք հաջողակ լինել այս ոլորտում, գտեք այդ ժամերը և ավելացրեք ձեր հմտությունները: Հիշեք, որ բոլորը կարող են հանձնվել, բայց ոչ բոլորը կարող են հասնել ավարտին:

Այսօր ինտերնետը լի է տարբեր ձեռնարկներով, ուսուցողական տեսանյութերով և անվճար ծրագրերով: Այս ամենը թույլ է տալիս բոլորին, ովքեր ունեն շատ ազատ ժամանակ և գաղափար, ստեղծել իրենց համակարգչային խաղը: Այնուամենայնիվ, անհրաժեշտ է նաև հստակ պատկերացում ունենալ բուն գործընթացի և դրա հաջորդականության մասին:

Ինչ խաղ պատրաստել:

Ամենայն հավանականությամբ մի մարդ, ով հետաքրքրված է «Ինչպե՞ս ինքներդ խաղ պատրաստել»: արդեն գաղափար ունես. Ամենից հաճախ սա նրա խաղացած խաղերից մեկի ինչ-որ փոփոխություն է: Միգուցե ձեր սիրած խաղին ինչ-որ բան բացակայում է, և դուք որոշեք ավելացնել այն (մտածեք, թե արդյոք ձեր խաղն ունի փոփոխման տարբերակներ՝ ներկառուցված խմբագիր կամ MOD-գործիք):

Օրինակ, MOBA խաղերի ժանրը ստեղծվել է WarCraft 3 խմբագրիչում (այժմ հայտնի Dota-ն հայտնվել է հենց խմբագրի լայն հնարավորությունների շնորհիվ):

Ամեն դեպքում, գաղափարը լինելու է ելակետը։ Այստեղից պետք է սկսել:

Գաղափար

Բայց ամեն դեպքում, եթե ձեզ հետաքրքրում է «Ի՞նչ խաղ պատրաստել»: - հոդվածը կօգնի ձեզ գաղափարների որոնման հարցում:

Ձեր խաղի գաղափարի gameplay բաղադրիչը կորոշի խաղի ժանրը և հարթակը:

Ապագա խաղի ժանրը և հարթակը

Ժանր ընտրելիս նկատի ունեցեք, որ պետք է սկսել կարճ ու պարզ բանից։ Առաջին նրբաբլիթը ամենից հաճախ գնդիկավոր է լինում, բայց եթե կարողանաք թխել այս նրբաբլիթը, ձեր զարգացման մկանները կամրապնդվեն, և հաջորդ անգամ կկարողանաք ավելին անել:

Հետո որոշեք հարթակ: Սա աներևակայելի կարևոր է, քանի որ խաղը կախված է հարթակից: Օրինակ, դինամիկ հրաձիգ պատրաստելը, որտեղ կրակոցի ճշգրտությունը կախված է ռեակցիայից և սենսորային էկրանով շարժական սարքերի վրա կենտրոնանալը լավ գաղափար չէ:

Հայեցակարգ

Որոշ մտքեր ունենալուց հետո նստեք և նկարագրեք խաղի գաղափարը: Սկզբում դրանք կարող են լինել միայն թեզեր, որոնք հետո վերածվում են տրամաբանորեն ասված մտքերի։ Եթե ​​դա հնարավոր չեղավ անել, վերանայեք ձեր գաղափարը և ազատվեք հակասություններից։

Որոշեք, թե ինչ պետք է գրավի պոտենցիալ խաղացողներին, այսինքն՝ դրա փիլիսոփայությունը: Օրինակ՝ առաջարկեք դառնալ փոքր կղզու երկրի միակ կառավարիչը կամ կառավարել կործանիչ ինքնաթիռը անմիջապես օդաչուների խցիկից՝ ժամանակին միացնելով անհրաժեշտ անջատիչ անջատիչները:

Հիմա ձեր խաղի առանձնահատկություններին: Ամենայն հավանականությամբ, շատ փորձարարներ արդեն փորձել են իրենց ձեր ժանրում, բայց դուք դեռ պետք է ինքներդ ինչ-որ բան հորինեք, հակառակ դեպքում նախագծի նկատմամբ հետաքրքրություն չի լինի: Ահա մի փոքրիկ օրինակ.

Օրինակ

ՀայեցակարգՓոքր խանութի սիմուլյատոր:
ԱռանձնահատկությունԴուք անձամբ բանակցում եք մատակարարների հետ, ներգրավում նոր հաճախորդներ և հուսահատորեն փորձում գոյատևել դաժան իրականության մեջ:
Բացատրեք, թե ինչ գործոններ են ազդում հաջողության վրա, ինչպես նաև խոսեք խաղի մեխանիկայի հիմնական հատկանիշների մասին:
Մի փորձեք ավելացնել իրեր, որոնք չեք ցանկանում իրականացնել: Ձեր խաղը պետք է լինի մի բան, որի համար դուք ինքներդ կցանկանաք վճարել:
Վերջին քայլը բոլոր նախագծերը թղթապանակի մեջ դնելն է, այնուհետև դարակում: Մի երկու շաբաթ անց վերադարձեք նրանց մոտ, քանի որ կարող եք կորցնել և՛ ցանկությունը, և՛ պատրույգը, և ավելի լավ է այս փուլն անցնել նախքան նախագծի սկսվելը, քան ամեն ինչ թողնել կիսատ վիճակում։

Զարգացման պլան


Հստակ զարգացման պլանը ամուր հիմք է ձեր նախագծի համար և ամուր հիմք ձեր աճի համար՝ որպես խաղեր մշակող

Այս պլանը կլինի ձեր խաղի կմախքը, այնպես որ այստեղ դուք պետք է նշեք յուրաքանչյուր մանրուք, յուրաքանչյուր միկրո պահ, այն ամենը, ինչ կարևոր եք համարում: Նրանք, ովքեր մենակ խաղեր են սարքում, կարող են անել առանց պլանների (պայմանով, որ մեծ փորձ ունեն), բայց եթե տակդ թիմ կամ փորձ չկա, ապա ամեն ինչ պետք է արձանագրել։

Հստակ ժամանակացույցը, թե երբ սկսել ծրագրավորումը կամ նկարել հենց առաջին արվեստը, կարող է լինել միայն ձեր սեփականությունը, այնպես որ ես ձեզ հետ կիսում եմ ընդհանուր կետերը, որոնց խախտումը կարող է հետ կանգնել մի քանի շաբաթ առաջ կամ նույնիսկ ստիպել ձեզ հրաժարվել գաղափարից: ստեղծելով ձեր առաջին խաղը:

  1. Ձեր պլանը պետք է մշակվի մեկ ամսվա համար, ոչ ավելին: Այսպիսով, վստահեք ձեր ինտուիցիային և սկսեք պարզ: Ավելի լավ է շուտ ավարտել, քան բաց թողնել վերջնաժամկետը:
  2. Հենց հասկացաք, որ այս ապրանքը ձեզ ոչինչ չի կարող սովորեցնել, դրեք այն դարակում և մոռացեք։ Դուք կարող եք ստուգել ձեր հմտությունները՝ սկսելով նմանատիպ նախագիծ զրոյից:
  3. Նույնիսկ լավագույն ծրագրավորողները ձգտում են ավելի սառը դառնալ, ուստի յուրաքանչյուր նոր խաղ պետք է սկսվի «Ես ավելի լավ կանեմ, քան նախորդ անգամ» մտքով:
  4. Մի անտեսեք պլանավորումը: Ցանկացած նախագծի մշակման ժամանակ կան փոքր «ֆորսմաժորներ», և դրանք գրեթե անհնար է կանխատեսել, ուստի ավելի հեշտ է պարզապես ժամանակացույցում հաշվի առնել դրանք վերացնելու վրա ծախսված ժամանակը: Նախատեսվե՞լ եք 8 ժամով: Ազատորեն դրանք վերածեք 12-ի:
  5. Դիզայնը վերջին բաներից մեկն է, որի մասին պետք է մտածի սկսնակ խաղերի մշակողը: Ձեր խնդիրն է «աճեցնել ձեր հմտությունները», այնպես որ հանգստյան օրերն անցկացրեք մի քանի նոր մեխանիզմներ (նախկինում ձեզ անծանոթ) կիրառելով, այլ ոչ թե նկարելով:
  6. Ձեր պլանը բաժանեք մի քանի մասի: Այս նշաձողերին հասնելը մոտիվացիան բարձրացնելու լավ միջոց է: Եթե ​​չեք կարողանում բավարարել ձեր շաբաթական պահանջները, պարզեցրեք ընդհանուր պլանը:
  7. Ինքներդ ձեզ չափազանց վերացական խնդիրներ մի դրեք։ «Tweak the character» -ի փոխարեն գրեք «introduce new shooting mechanics» կամ «փոխեք տեսքը հարվածի ժամանակ» - հստակ նպատակներին հասնելը շատ ավելի հեշտ է:
  8. Ինքներդ ձեզ նամակներ ուղարկեք, ոչ թե էլեկտրոնային փոստով ամեն երկուշաբթի: Դրանք պետք է պարունակեն անցած շաբաթվա ընթացքում կատարված բոլոր գործողությունները։ Համեմատելով ամսվա բոլոր նամակները՝ տեսողականորեն կարող եք տեսնել առաջընթացը:
  9. Շաբաթական առնվազն մեկ ժամ ծախսեք ձեր արտադրանքը խաղալու վրա: Ի վերջո, ոչ ոք չի կարող ձեր խաղերը ձեզնից լավը դարձնել:
  10. Երկու շաբաթ առանց նախագծի վրա աշխատելուց հետո դուք շփոթված կլինեք և կկորցնեք շարանը, որը կստիպի ձեզ ամեն ինչ նորից սկսել։ Հենց այս պահին է, որ մարդկանց մեծամասնությունը հրաժարվում է և հրաժարվում է սեփական խաղ ստեղծելու գաղափարից:
  11. Ձեր առաջին խաղում ժամանակ վատնելը ձայնի և մթնոլորտի վրա անհավանական անիմաստ է: Հիմնական բանը. զարգացնել խաղը, քանի որ կան գլուխգործոցներ, որոնք բաղկացած են սովորական շարժվող պիքսելներից:
  12. Եթե ​​մեկ ժամից ավելի ինչ-որ բան եք անում, և այն դեռ չի ստացվում, օգնություն խնդրեք: Ինչու՞ մեկ շաբաթ լճանալ, որ ամաչում էիր ֆորումում թեմա ստեղծելուց:
  13. Թող ուրիշները փորձեն ձեր խաղը: Այո, քննադատությունն անմիջապես կթափվի, բայց պետք չէ դրան ուշադրություն դարձնել։ Նույնիսկ առաջատար ստուդիաների նախագծերը հաճախ ցեխով են պատված, բայց դա չի խանգարում նրանց շարունակել գլուխգործոցներ ստեղծել, չէ՞:
  14. Դուք չունեք անսահմանափակ ռեսուրսներ, այնպես որ դուք պետք է իրատեսական, հասանելի նպատակներ դնեք:
  15. Ձեր առաջին խաղը հղկելուց հետո անմիջապես մի քանի նոր գաղափարներ գտեք և նոր նախագիծ ձեռնարկեք: Մի մոռացեք կիրառել այն, ինչ սովորել եք նախկինում:
  16. Ստուգեք.

Անցնենք վերնագրի ստեղծմանը։ Տարօրինակ կերպով, սյուժեն այստեղ գրեթե ամբողջությամբ անտեսված է: Հիմնական բանը խաղի մեխանիկայի բոլոր ասպեկտները գրելն է և բացատրել, թե ինչպես են դրանք աշխատում: Ըստ էության, հենց բովանդակության աղյուսակն է ընկած խաղի ձեռնարկի հիմքում:

Այժմ մենք լրացնում ենք բովանդակության աղյուսակի յուրաքանչյուր թեզը յուրաքանչյուր փոքրիկ բանի մանրամասն նկարագրությամբ, և դա անում ենք հնարավորինս հստակ, հակառակ դեպքում կարող են խնդիրներ առաջանալ իրականացման հետ:

Վերջապես, դուք պետք է ցույց տաք ձեր ծրագիրը բոլորին, ում պատրաստվում եք օգտագործել զարգացման մեջ: Հնարավոր է, որ որոշ գաղափարներ չիրականանան, կամ ձեզ ավելի հարմարավետ այլընտրանքներ առաջարկեն։ Հստակ պատկերացում ունենալով աշխատանքի իր մասի մասին՝ փորձառու մասնագետն անմիջապես մի քանի մեկնաբանություն կանի։

Զարգացման գործիքների ընտրություն



Շարժիչը ձեր խաղի սիրտն է, ընտրեք պատասխանատու կերպով, ստուգեք հոդվածը

Սկսնակների համար ավելի հեշտ կլինի վերցնել պատրաստի շարժիչը, քան զարգացնել իրը:
Յուրաքանչյուր շարժիչ ունի իր առանձնահատկությունները: Ոմանք ձեզ կստիպեն սովորել, թե ինչպես ծրագրավորել, իսկ ոմանք նույնիսկ կարիք չունեն տարբերակել ընթացակարգը գործառույթից, նրանք ունեն տեսողական ծրագրավորման գործիքներ:

Եթե ​​տանք չափազանց լայն դասակարգում, ապա շարժիչները կարելի է բաժանել երկու տեսակի՝ երկչափ նախագծերի համար (GameMaker: Studio, RPG Maker XV) և եռաչափ խաղերի համար (Unity, Unreal Development Kit և Source)

Դիտեք մի քանի պաշտոնական վիդեո ձեռնարկներ և փորձեք ինքներդ ինչ-որ բան պատրաստել շարժիչում: Եթե ​​այս առաջադրանքը ձեզ ճնշող թվաց, փորձեք համագործակցել ծրագրավորողի հետ, որոշ տղաներ կարող են ոգեշնչվել ձեր գաղափարից և օգնել ձեզ կատարելագործել այն:

Նախատիպ

Հաջորդ փուլը թեստային տարբերակն է։ Ձայնը և գրաֆիկան այստեղ նշանակություն չունեն, գլխավորն այն է, որ բոլոր գործառույթներն աշխատում են ճիշտ այնպես, ինչպես նախատեսել եք: Ի դեպ, համբերատար եղեք, քանի որ ստիպված կլինեք փոփոխություններ կատարել, քանի դեռ չեք սկսել վայելել գեյմփլեյը։

Նաև պատրաստ եղեք զրոյից պատրաստի նախատիպ ստեղծելու անհրաժեշտությանը: Անմիջապես չափում եք կառավարումը. այն պետք է լինի հնարավորինս հարմար և ինտուիտիվ: Հակառակ դեպքում, հիասթափված խաղացողը կգնա ելքի կոճակը փնտրելու:

Այս փուլը ձեր խաղային դիզայնի փայլեցումն է: Տարբեր տարբերակներ փնտրելու և փորձելու փուլ.

Գրաֆիկա և ձայն

Անմիջապես որոշեք, թե ինչ գույների սպեկտր է ձեզ անհրաժեշտ: Եթե ​​դա պիքսելներով լի հասարակ 2D հարթակ է, ապա անիմաստ է վարձել նվագախումբ և գրաֆիկական դիզայներների մի ամբողջ թիմ՝ ժամանակի և փողի վատնում: Միևնույն ժամանակ, դուք չպետք է խնայեք ռեսուրսները, եթե դրանք իսկապես անհրաժեշտ են ձեր գաղափարի լիարժեք արտահայտման համար: Ազատորեն համադրեք այլ մարդկանց գաղափարները: Միակ արգելքը հեղինակային իրավունքի խախտումն է։

Այստեղ դուք պետք է ուրվագծեք նախագիծը: Ի դեպ, պարտադիր չէ նկարել կարողանալ, քանի որ ինդի նախագծերի մեծ մասը օգտագործում է պիքսելային արվեստ՝ շնորհիվ իր պարզության և հանրաճանաչության։ Եթե ​​դեռևս որոշել եք եռաչափ նախագիծ, ապա ստիպված կլինեք մասնագետներ վարձել՝ կերպարների բարդ մոդելներ ստեղծելու համար:

Վերջապես, ստեղծեք խաղի տիեզերքի որոշ դրվագներ: Սրանք հասկացություններ են այն մասին, թե ինչպիսին է մակարդակը, կամ ինչպես են կերպարները փոխազդում խաղից դուրս: Ժամանակն է կյանքի կոչել ձեր գաղափարները:

Blender-ը պարզ և անվճար խմբագիր է 3D մոդելներ ստեղծելու համար:
Photoshop-ը անփոխարինելի է երկչափ պատկերների մշակման համար, ինչպես նաև հիանալի աշխատանք է կատարում հյուսվածքների հետ:
net-ը թույլ է տալիս արագ ստեղծել պիքսելային արվեստ:
Հնչյունները, գրաֆիկայի հետ մեկտեղ, մթնոլորտի զգացում են ստեղծում ձեր խաղում: Ձեր ծառայության մեջ է անվճար ծրագրերի համար պատրաստի ձայնադարանների հսկայական հավաքածու, իսկ բացակայող մեղեդիները կարելի է ձայնագրել տանը, գլխավորը խոսափող ձեռք բերելն է:

Զտում

Խաղացեք այն, ինչ ստեղծել եք, և որքան հնարավոր է հաճախ: Այսպիսով, դուք կարող եք տեսնել ամբողջ կոպտությունը: Սովորեք մեկ կանոն՝ կամ վերջնականացրեք տարրը իդեալական վիճակի, կամ հեռացրեք այն: Օրինակ, եթե մակարդակի խաղը ձեզ չափազանց միապաղաղ է թվում, փորձեք այն ավելի բազմազան դարձնել:
Անընդհատ հղում կատարեք խաղի փիլիսոփայությանը, որպեսզի խուսափեք այն պահից, երբ նախագիծը վերածվում է անհամապատասխան մակարդակների և կերպարների կույտի:
Հղկեք գրաֆիկան և ձայնը. գործընթացը շատ ժամանակատար է, բայց մթնոլորտը կախված է դրանից:

Փորձարկման փուլ

Երբ դուք ունեք խաղի նախնական թողարկում տարբերակը (մի շփոթեք այն նախատիպի հետ), անցեք վրիպակների և սխալների որոնմանը: Ավելի լավ կլինի, եթե գտնեք նրանց, այլ ոչ թե պոտենցիալ խաղացողներին թողարկումից հետո առաջին օրը:

Կենտրոնացեք այն բաների վրա, որոնք ձեր խաղաոճին չեն համապատասխանում: Օրինակ, գնացեք քարտեզի այն մասերը, որոնք չեն մասնակցում հիմնական խաղի ընթացքում: Փորձարկումը երբեմն ավելի շատ ժամանակ է պահանջում, քան ինքնին մշակումը, և դրա արագությունը կախված է թեստավորողների քանակից և պրոֆեսիոնալիզմից:

Եթե ​​կան անհավանական թվով սխալներ, նախ շտկեք ամենահավակնոտները: Հետևաբար, սկսեք որոնել դրանք որքան հնարավոր է շուտ. դա ձեզ ավելի շատ ժամանակ կտա փոփոխություններ կատարելու համար: Բացի այդ, առաջարկեք խաղալ ընկերների ու ծանոթների հետ։ Արտաքին հայացքը թույլ կտա նկատել բազմաթիվ նրբերանգներ, որոնք դուք ինքներդ երբեք չէիք կռահի։ Բացի այդ, դա բացարձակապես անվճար է:

Ազատ արձակել

Կազմակերպեք գովազդային արշավ. խթանեք հետաքրքրությունը սոցիալական ցանցերում, պատվիրեք ակնարկներ խաղային բլոգերների համար և մի մոռացեք ֆորումով կայքի մասին, քանի որ երկրպագուները պետք է ինչ-որ տեղ հավաքվեն:
Ընտրեք բաշխման հարթակ: Քիչ հավանական է, որ դուք անմիջապես ցանկանաք ներդրումներ կատարել հոստինգի կամ հատուկ սերվերների մեջ, այնպես որ ուշադրություն դարձրեք հանրաճանաչ կայքերին, ինչպիսիք են Steam-ը, GOG-ը, Humble-ը, Play Market-ը և այլն: Հիշեք, որ սեփականատերերը գանձում են արժեքի որոշակի տոկոս, ուստի այս հարցը պահանջում է մանրամասն ուսումնասիրություն:
Մի մոռացեք խաղի աջակցության մասին նույնիսկ թողարկումից հետո: Շարունակեք շտկել սխալները, թողարկել լրացուցիչ բովանդակություն կամ անմիջապես անցեք շարունակության մեջ:

Հոդվածում ամեն ինչ ասված է շատ թեզ, բայց միևնույն ժամանակ ընդհանուր պատկերացում է տրվում խաղի թողարկման ամբողջական ցիկլի մասին։ Պետք չէ անմիջապես հույս դնել միլիոնավոր դոլարների վաստակի վրա, քանի որ խաղերն առաջին հերթին ստեղծագործություն են:

Շատերը կարող են չհավատալ ձեզ: Ինչ կա՝ հաստատ մի երկու երեկո կլինի, երբ կուզենաս ամեն ինչից հրաժարվել, բայց չպետք է հանձնվես։ Հիշեք. իսկապես լավ արտադրանքը պահանջում է շատ ժամանակ, գումար և ձեր նյարդերը:

P.S.

Եթե ​​ունեք հարցեր կամ օգնության կարիք ունեք - գրեք ֆորումի բաժին, ես ստանում եմ ծանուցումներ - ես միշտ կպատասխանեմ և կօգնեմ ամեն կերպ, ինչով կարող եմ:

Իհարկե, ժամանակակից խոշոր խաղային նախագծերը, ինչպիսիք են WoW-ը կամ StarCraft-ը, փորձառու ծրագրավորողների երկար տարիների աշխատանքի արդյունք են, որոնք նույնպես պահանջում են զգալի ֆինանսական ներդրումներ։ Նման նախագիծ ստանձնելու համար պետք է առնվազն դիպլոմ ունենալ, որոշակի փորձ և կազմակերպչական տաղանդներ ունենալ: Այնուամենայնիվ, նախագծի բարդությունը ոչ միշտ է նրա հաջողության չափանիշը և չի երաշխավորում խաղացողների հետաքրքրությունը: Եվ բոլորը կարող են իրենց ուժերը փորձել ստեղծել խաղեր, թեև տեխնիկապես ավելի քիչ բարդ, բայց կարող են առաջացնել ինչպես օգտատերերի, այնպես էլ, հնարավոր է, խաղեր արտադրող խոշոր ընկերությունների հետաքրքրությունը: Դրա համար նույնիսկ պարտադիր չէ ծրագրավորման լեզուների իմացություն ունենալ։

Նախ, ժամանակակից խաղերի մեծ մասը հագեցած է գործիքներով, որոնք թույլ են տալիս փոխել խաղի աշխարհը՝ նկարել նոր և լաբիրինթոսներ, վերափոխել կերպարների և խաղային առարկաների տեսքը, նույնիսկ նախագծել նոր առաքելություններ և առաջադրանքներ: Սա թույլ է տալիս նույն StarCraft-ի կամ 3D հրաձիգի հիման վրա սեփական դիզայնով համակարգչային խաղ, որում բնօրինակ խաղը չափազանց դժվար կլինի: Կան խաղային շարժիչներ, որոնք հատուկ նախագծված են խաղեր ստեղծելու համար:

3D Game Maker-ը ամենահայտնի շարժիչներից է, որը թույլ է տալիս ստեղծել ձեր սեփական 3D խաղը: Շնորհիվ ինտերֆեյսի արտասովոր պարզության՝ դրա միջոցով կարելի է ստեղծել լիարժեք 3D խաղ ընդամենը 10 րոպեում: Մենք ընտրում ենք ստեղծվող խաղի ժանրը, որոշում ենք պահանջվող մակարդակների քանակը (համակարգը թույլ է տալիս նախագծել մինչև 20 տարբեր մակարդակներ), պատրաստի մոդելներից ընտրում ենք գլխավոր հերոսին։ Խաղն արդեն կարելի է գործարկել և փորձարկել, թեև դրա վրա աշխատանքը, իհարկե, նոր է սկսվել: Ի վերջո, խաղը դեռևս զրկված է ամենակարևոր բանից, ինչը պահպանում է օգտատիրոջ ուշադրությունն ու հետաքրքրությունը՝ սյուժեն։ Ուստի անհրաժեշտ է նաև հակառակորդներ ընտրել, մտածել այլ անհրաժեշտ մանրամասների մասին։ Այս խաղի մշակման արժեքը կազմում է $35, ինչը բավականին կառավարելի գումար է խաղի ստեղծողների համար:

3D Game Studio-ն ամենահզոր գործիքն է և՛ 3D, և՛ 2D խաղեր ստեղծելու համար, և ծրագրավորումը, որպես այդպիսին, գործնականում չի պահանջվում: Կաղապարային իրավիճակների, օրինակների և էֆեկտների բոլոր տեսակները խաղի դիզայներին տալիս են գործիքների բավականին լայն գունապնակ՝ իրենց երևակայություններն իրականացնելու համար: Բնական էֆեկտներ, հայելային մակերեսներ, ստվերներ, թափանցիկ մակերեսներ - այս բոլոր հատկանիշները կարող են լիովին օգտագործվել խաղի ինտերիերի մշակման մեջ: Խաղի ինտերֆեյսի պատրաստի տարրերը տրամադրվում են նաև մշակողին՝ թույլ տալով օգտատիրոջը շփվել խաղի հետ ոճային և հարմար ձևով։ Այս շարժիչի պրոֆեսիոնալ տարբերակը կարժենա 900 դոլար, իսկ սկսնակ տարբերակը շատ ավելի էժան է՝ ընդամենը 70 դոլար։

Եթե ​​3D աշխարհները ձեզ չեն գրավում, ուշադրություն դարձրեք Game Maker-ին. սա ձեզ երևակայության անսահման հնարավորություն է տալիս՝ թույլ տալով ստեղծել համակարգչային խաղ 2D ձևաչափով: Մենք ընտրում ենք առարկաներ, մտածում դրանց փոխազդեցության մասին: Պատկերները կարելի է նկարել ցանկացած գրաֆիկական խմբագրիչում և ներմուծել համակարգ: Խաղը կարող է հագեցած լինել ձայնային էֆեկտներով և ազդանշաններով: Ինտերֆեյսը չափազանց պարզ է և տրամաբանական, իդեալական սկսնակների համար:

Ծրագիրը նախատեսված է երկչափ խաղեր ստեղծելու համար՝ առանց ծրագրավորման լեզուների օգտագործման։ Կոդի տողերի փոխարեն փոխարինվում են խաղի հերոսների պատրաստի գործողությունները։ Օգտագործողը պետք է միայն խաղային առարկաներ ստեղծի, նրանց մատակարարի երկչափ սփրայթներ կամ անիմացիա, ստեղծի օբյեկտների միջև փոխազդեցության կանոններ, դասավորի առարկաները մակարդակներում: Դուք կարող եք նկարել գրաֆիկա և անիմացիա անմիջապես Game Maker-ում՝ առանց երրորդ կողմի ծրագրեր օգտագործելու:

Այս ծրագրում վերևից ներքև խաղերը և կողային դիտման հարթակները գերազանց են:

«Game Maker»-ը կհետաքրքրի նաև առաջադեմ ծրագրավորողներին, այստեղ հասանելի է նաև ձեր սեփական ծրագրի կոդը ավելացնելու հնարավորությունը։

Ծրագրի անվճար տարբերակը ոչ մի կերպ չի սահմանափակում սովորական օգտատերերին՝ համեմատած Game Maker Pro-ի վճարովի տարբերակի հետ։ Վճարովի տարբերակը հնարավորություն է տալիս մուտք գործել բարդ ծրագրային մոդուլներ, որոնք հետաքրքիր են միայն իրական պրոֆեսիոնալ ծրագրավորողների համար:


Շատ պարզ 2D խաղի դիզայներ: Ծրագրավորման լեզուների իմացությունը պարտադիր չէ։

Ի տարբերություն Game Maker-ի՝ Construct 2-ը կարող է խաղեր ստեղծել iOS, Android, Facebook, Chrome Web Store, Desktop Windows, Windows 8 Apps, Web (HTML5), Kongregate և շատ այլ հարթակների համար:

Սա ավելի բարձր որակի ծրագիր է, բայց նաև փողի նկատմամբ ավելի ագահ: Ծրագիրը անվճար է, քանի դեռ չեք ցանկանում վաճառել ձեր խաղը: Այս դեպքում ձեզ հարկավոր կլինի գնել լիցենզավորված տարբերակ: Ծրագրավորողների կայքում կա նաև հատուկ խանութ, որտեղ կարող եք գնել ձեր խաղի համար նախատեսված շինանյութեր՝ ձայնային հավաքածուներ, երաժշտություն, մանրամասն հրահանգներ:

Մենք խորհուրդ ենք տալիս «TDS-ից A-ից Z» ձեռնարկը (վերևից վար հրաձիգ խաղի ստեղծում):


3D խաղեր ստեղծելու ծրագրեր (կայքի կայք)

«3D Rad»-ը ամենաէժան տարբերակն է 3D խաղային շարժիչների շարքում։ Ծրագիրը կարելի է օգտագործել ընդհանուր առմամբ անվճար, իսկ վճարելով 5$ դուք ստանում եք վերջին թարմացումները թողարկման օրը (անվճար տարբերակում թարմացումները հայտնվում են միայն երեք ամիս հետո)։ Ամենից հաճախ այս շարժիչը օգտագործվում է մրցարշավային խաղեր ստեղծելու համար:

Ծրագիրն ունի պարզ և ինտուիտիվ ինտերֆեյս, որը ծանրաբեռնված չէ մանրուքներով:

«3D Rad»-ն աջակցում է առանձին փլագինների տեղադրմանը, ունի նախապես տեղադրված AI մոդելներ, ստվերային քարտեզներ և հյուսվածքներ։ Հնարավոր է օնլայն խաղեր ստեղծել։


NeoAxis Game Engine SDK

Գերազանց խաղային շարժիչ՝ պարզ ինտերֆեյսով և բարձրորակ գրաֆիկայով: Նախատեսված է գրեթե ցանկացած ժանրի խաղեր ստեղծելու համար:

Ogre3D շարժիչի հիման վրա: Ծրագրավորման լեզուն C# և C++ և .NET հարթակն է, բայց դա հնարավոր է անել առանց ծրագրավորման՝ պատրաստի գործողությունների հատուկ գրադարանների շնորհիվ։ Շարժիչի համար կան տարբեր հավելումներ և ընդլայնումներ, որոնք մշակվել են երրորդ կողմի օգտագործողների կողմից: Հնարավոր է արտահանել 3dsMax-ի և Maya-ի, Autodesk Softimage-ի և Blender-ի համար: Աջակցվում են PSSM (Parallel-Split Shadow Map) ստվերները, լուսավորությունը և ստվերները:

NeoAxis Engine-ը բաշխվում է 4 տեսակի լիցենզիայի ներքո. Ոչ առևտրային - անվճար ոչ առևտրային նախագծերի համար; Ինդի լիցենզիա - 95/295 դոլար (մեկ / թիմ); Կոմերցիոն - $395/995 (մեկ/թիմ); Աղբյուրի լիցենզիա - $9,800-ից:

Այս խաղի շարժիչի հիմնական առավելությունը առավելագույն հարմարավետությունն ու պարզությունն է: Բացի այդ, շարժիչը մշակվել է հայրենական ծրագրավորողների կողմից, որի շնորհիվ այն լռելյայն ունի ռուսերեն լեզու: Երբ գնում եք լիցենզավորված տարբերակ, դուք ստանում եք բարձրորակ տեխնիկական աջակցություն ձեր մայրենի լեզվով:


Համապարփակ գործիք, որը պարունակում է այն ամենը, ինչ ձեզ կարող է անհրաժեշտ լինել խաղ ստեղծելու համար: Unity 3D փաթեթը ներառում է գրաֆիկական շարժիչ, որն ամբողջությամբ օգտագործում է DirectX-ի և OpenGL-ի հնարավորությունները, ներկառուցված 3D մոդելի խմբագրիչ, առանձին ծրագրեր՝ ստվերների, ստվերների, լանդշաֆտների, ֆիզիկայի և ձայների ստեղծման և մշակման համար, ինչպես նաև հարուստ սցենարների գրադարաններ: Unity 3D-ի միջոցով դուք կարող եք ամբողջությամբ մոռանալ երրորդ կողմի ծրագրերի մասին կամ նվազագույնի հասցնել դրանց օգտագործումը:

«Unity 3D»-ը հարմար է ցանկացած ժանրի խաղեր ստեղծելու համար։ Աջակցվող հարթակներն են սովորական համակարգիչներ (Windows XP/Vista/7, OSX), շարժական սարքեր (Android, iOS, Blackberry), խաղային կոնսուլներ (Wii, Playstation 3, Xbox), ինտերնետ բրաուզերներ (Flash, Web Player):

Գոյություն ունի համատեղ զարգացման հատուկ համակարգ՝ Asset Server, որը թույլ է տալիս զարգացնել խաղը որպես ամբողջ թիմի մաս՝ անմիջապես ինտերնետի միջոցով:

Միակ բացասականն այն է, որ «Unity 3D»-ից օգտվելու համար պետք է գոնե միջին մակարդակով համակարգչային ծրագրավորում իմանալ։ Չնայած պատրաստի գործնական ծրագրային լուծումների հարուստ գրադարանին և ակնթարթային կոմպիլյացիայով հզոր սկրիպտային շարժիչին, դուք ստիպված կլինեք ինքներդ գրել կոդի մի մասը JavaScript-ում կամ C#-ում:


Unreal Development Kit (UDK)

Խաղի մշակողների պրոֆեսիոնալ միջավայրում ամենատարածված խաղային շարժիչներից մեկը: Unreal Engine-ն օգտագործվել է այնպիսի խաղեր ստեղծելու համար, ինչպիսիք են Unreal Tournament շարքը, Mass Effect շարքը, XCOM, Borderlands 2, DmC: Devil May Cry և տասնյակ ու հարյուրավոր ավելի փոքր խաղեր:

«UDK»-ն աջակցում է հետևյալ հարթակներին՝ PC, Xbox 360, PlayStation 3, Wii, Android:

Այս շարժիչը ի սկզբանե նախատեսված էր 3D հրաձիգներ ստեղծելու համար, սակայն կան նաև հարակից ժանրերի խաղեր ստեղծելու հնարավորություններ՝ slashers, adventure, MMO խաղեր:

Խաղի շարժիչը հիանալի է դեմքի անիմացիաներ ստեղծելու, շենքերի բարդ ճարտարապետության, բարդ ֆիզիկական առարկաների մշակման գործում: Որպես «UDK»-ի մի մաս, կան բոլոր անհրաժեշտ գործիքները անիմացիաներ, հյուսվածքներ, հնչյուններ, մակարդակներ, մոդելներ, ծրագրային սկրիպտներ ստեղծելու համար: Ներկառուցված գրադարան կա, որը պարունակում է ավելի քան 1000 կառուցվածք, այլ 3D մոդելներ, ստանդարտ հյուսվածքներ և ձայներ: Կա ծրագրավորման հնարավորություն հատուկ լեզվով «Անիրական Սկրիպտ» (ստեղծվել է C ++-ի հիման վրա):

Դուք կարող եք անվճար օգտագործել «UDK»-ն, քանի դեռ չեք որոշել պաշտոնապես հրապարակել այս շարժիչով ստեղծված ձեր խաղը: Այս դեպքում դուք ստիպված կլինեք դուրս գալ թանկարժեք լիցենզիա ստանալու համար:


CryENGINE 3 անվճար SDK

«CryENGINE 3»-ը ժամանակակից խաղային շարժիչների գագաթնակետն է, որն ապահովում է ֆոտոռեալիստական ​​գրաֆիկա՝ DirectX 11-ի և երրորդ սերնդի շեյդերների աջակցությամբ: Շարժիչի երրորդ տարբերակը ստեղծվել է 2009 թվականին։ Այս շարժիչով ստեղծվել են Far Cry և Crysis խաղերի շարքը, Aion առցանց խաղը, ինչպես նաև տասնյակ քիչ հայտնի համակարգչային խաղեր։

Crytek-ը որոշել է անվճար տարածել այս արդեն հայտնի խաղային շարժիչը։ Բայց անվճարը գործում է հենց այն պահը, երբ դուք ցանկանում եք պաշտոնապես թողարկել այս շարժիչով ստեղծված խաղը: Լիցենզավորված տարբերակը ավելի թանկ է, քան բոլոր նմանատիպ ծրագրերը, բայց արժե գումարը:

«CryENGINE 3»-ում կարող եք խաղեր ստեղծել հարթակների համար՝ PC, PlayStation 3 և Xbox 360:

Դուք կարող եք ներմուծել հյուսվածքներ «3ds max», «Maya» գրաֆիկական ծրագրերից, ինչպես նաև շարժիչի նախորդ տարբերակներից:

CryENGINE 3 շարժիչը պարզվեց, որ շատ տարածված է, այն ունի մի ամբողջ ռուսալեզու համայնք, որի շնորհիվ հեշտությամբ կարող եք գտնել բոլոր տեսակի ուսումնական նյութեր, ինչպես նաև կոնկրետ հարցերի պատասխաններ:


Ինչպես զարգացնել RPG խաղ մեկ շաբաթվա ընթացքում զրոյից և առանց բյուջեի: Մաս I

RPG մեկ շաբաթում. Զրոյից? Արդյո՞ք դա նույնիսկ հնարավոր է:
Ես ռիսկի դիմեցի և արեցի դա։

Համացանցը լի է տեղեկատվական ռեսուրսներով, որոնք հասանելի են փոքր, անկախ (հնդկական) խաղեր մշակողների համար: Նման հանրային ֆորումներից մեկում, վիճաբանության ժամանակ, ես անխոհեմություն ունեցա ասելու, որ եթե ինձ տրվի մեկ շաբաթ ժամանակ, համակարգիչ՝ Windows-ի նոր տեղադրմամբ և լավ ինտերնետ կապով, ես կարող եմ արժանապատիվ խաղ ստեղծել առանց ծախսերի։ մի դրամ դրա վրա: Ոչ, այն, իհարկե, չի կարողանա մրցել Halo 2-ի կամ նույն տրամաչափի որևէ այլ բանի հետ (եթե ես կարողանայի նման խաղ պատրաստել մեկ շաբաթում, ես վաղուց կթողեի իմ աշխատանքը), բայց դա բավականին կլինի: հետաքրքիր և խաղալի:

Թոմ Բեմփթոնը՝ «Օրվա խաղի» ամենամսյա խաղային ակնարկների հեղինակը (www.gameinaday.com), ասել է. Այնուհետև նա ավելացրեց լրացուցիչ պայման՝ ես պետք է դա անեմ առանց գոյություն ունեցող խաղային շարժիչների օգտագործման: Ինձ թույլատրվում է օգտագործել միայն հիմնական գրադարաններ/API-ներ:

Սկզբում ես հրաժարվեցի այս մտքից։ Ես շատ ժամանակ չունեի աշխատանքի վայրում մեկ շաբաթ արձակուրդ վերցնելու ընթացիկ խաղի նախագծի մշակումից: Բայց հետո մտածեցի՝ դժոխք, որովհետև ի՞նչ է շաբաթը: Տիպիկ ընկերությունում, ինչպիսին է EA-ն, աշխատանքային շաբաթը 40 ժամ է: Ուրեմն ինչու խաղ չսարքել ոչ թե օրացուցային շաբաթում, այլ 40 մաքուր ժամում: Դա արդեն ավելի իրական է, բայց ես չէի ուզում ստեղծել մեկ այլ Tetris կամ Arkanoid: Իսկ ի՞նչ կասեք դերային խաղի մասին՝ ամենադժվար խաղային ժանրերից մեկը: Դա հնարավոր է?

Ես գիտեի, որ դա չափազանց դժվար է լինելու: Բայց ես ընդունեցի մարտահրավերը։

Բացի այդ, ես մանրամասն գրեցի, թե ինչ և ինչպես եմ անում, նկարագրեցի զարգացման առաջընթացը։ Ես մտածեցի, որ դա կարող է հետաքրքիր լինել խաղերի մշակողների համար, կամ գոնե զվարճալի գրառումներ ստանալ, թե ինչպես եմ ես երեսով ընկել ցեխի մեջ, եթե հանկարծ ձախողվեմ: Այն ամենը, ինչ ես հասկացա, իմ ամենժամյա գործունեության երկար ու խելահեղ գրառումն էր: Փորձեցի այնպես փոխել, որ կարդալը ձանձրույթ չառաջացնի։ Ինչպես եղավ, դատեք ինքներդ։

Այսպիսով, ահա թե ինչպես ես խաղ ստեղծեցի մեկ շաբաթվա ընթացքում զրոյից և առանց բյուջեի: Եթե ​​դուք չափազանց ծույլ եք կարդալ և ցանկանում եք արագ անցնել պատմության վերջը՝ տեսնելու, թե ինչպիսի տեսք ունի վերջնական արտադրանքը և տեսնել դրա բոլոր սխալները, կարող եք ներբեռնել խաղի Windows տարբերակը այստեղ՝ http://www. .rampantgames.com/hackenslash.html

ՊԼԱՆԱՎՈՐՈՒՄ
Թիրախ
Ստեղծեք հին դպրոցական RPG 80-ականների սկզբի հին խաղերի ոճով, վերևից ներքև տեսարանով, ինչպիսիք են Ափշայի տաճարը, Ultima III և Telengard-ը: Խաղացողը կտեղափոխվի տիպիկ զնդանի սենյակներով՝ պայքարելով տարբեր հրեշների դեմ «սրի և մոգության» միջոցով: Աստիճանաբար նա կբարելավի իր ունակությունները՝ ձեռք բերելով փորձ, մակարդակի բարձրացում, ձեռք բերելով կախարդական տեխնիկա։

Այնուամենայնիվ, խաղը բաղկացած է լինելու ավելինից, քան միայն ինքն իրեն մարտից: Խաղացողը նաև հնարավորություն կունենա գաղտագողի անցնել հրեշների կողքով կամ բանակցել նրանց հետ: Կլինեն կողպված դռներ և սնդուկներ, և զնդանի եզակի առանձնահատկություններ, որոնք կունենան անսպասելի ազդեցություն: Խաղը չի ունենա երկար նկարագրություններ կամ երկխոսություններ. այն հիմնականում լինելու է տիպիկ hack & slash: Դուք կհետևեք ճանապարհին այնքան ժամանակ, մինչև բավականաչափ ուժեղ լինեք՝ դիմակայելու վերջնական ղեկավարին, ավարտեք որոնումը և ապահով վերադառնաք տուն (ձեր մեկնարկային սենյակ):

Զարգացման կանոններ

Կանոն թիվ 1. Մշակման ժամանակը սահմանափակվում է մեկ շաբաթով (ներառյալ 40 ժամ)
Խաղի մշակման վրա ընդհանուր առմամբ պետք է ծախսվի 40 ժամից ոչ ավելի։ Դրանք կներառեն խաղի վրա իրականում ծախսված ժամանակը և դրա մասին մտածելը: Տասը րոպեից ավելի զարգացման ընդմիջումները չեն հաշվվելու: Սա կլինի «կատարյալ» աշխատանքային շաբաթ՝ 40 բարձր արդյունավետությամբ ժամերով:

Ամբողջովին ֆունկցիոնալ ալֆա տարբերակը կպատրաստվի 40 ժամում։ Հետագա ավարտը, ինչպիսին է խաղի վերջնական կարգաբերումը, ընդհանուր ժամանակում բաշխման համար տեղադրողի ստեղծումը, հաշվի չի առնվի, այս փուլում նոր գործառույթ չի ավելացվի: Մշակման գործընթացի փաստաթղթավորումը նույնպես հաշվի չի առնվում:

Կանոն թիվ 2. Օգտագործեք միայն անվճար գործիքներ
Բացառությամբ Windows-ի տեղադրման հետ կապված ծրագրաշարի, օգտագործվում է միայն անվճար ծրագրակազմ, եթե հնարավոր է բաց կոդով: Սրա իմաստը ցույց տալն է, որ խաղ մշակելու համար թանկարժեք (կամ նույնիսկ էժան) գործիքներ պետք չեն: Սարքավորումները, ինչպիսիք են սկաները, խոսափողը և թվային տեսախցիկը, չեն ազդում այս կանոնի վրա. եթե դրանք չունեք, մենք կենթադրենք, որ դրանք կարող են փոխառվել ինչ-որ մեկից:

Կանոն թիվ 3. Շարժիչներ չկան, միայն ստանդարտ գրադարաններ/API-ներ
Խաղը պետք է ստեղծվի «զրոյից»՝ առանց առկա խաղային շարժիչների օգտագործման: Ոչ մի խաբեություն, և ստեղծելով խաղ կամ դրա մասերից որևէ մեկը՝ օգտագործելով խաղի դիզայներները կամ օգտագործելով նմանատիպ ծրագրեր:

Գործիքներ
Կոդ:

Python 2.3 (http://www.python.org/)
Python Win
PyGame (http://www.pygame.org/)
Py2exe - կազմելու այն, ինչ տեղի է ունենում գործարկվող ֆայլի մեջ բաշխման համար: (http://starship.python.net/crew/theller/py2exe/)

Gimp 2.0 (http://gimp-win.sourceforge.net/)
MS Paint (այն, որը գալիս է Windows-ի հետ) - PrintScreen ստեղնով նկարահանված սքրինշոթները տեղադրելու համար (GIMP-ը ինչ-ինչ պատճառներով հրաժարվել է դա անել)
Անվճար հյուսվածքները վերցվել են (http://www.textureartist.net/textures/index.htm) և (http://www.mayang.com/textures/)

Audacity (http://audacity.sourceforge.net/) գումարած իմ խոսափողը կամ անվճար:

Աշխատանքների ժամանակացույց (պլան).
Ժամանակացույցերը պատրաստվում են ավելի ուշ խախտելու համար, բայց դրանք դեռևս անհրաժեշտ են առաջընթացը և տողերը վերահսկելու և անհրաժեշտության դեպքում ճշգրտումներ կատարելու համար:

Ժամ 1-10. Հիմնական ճարտարապետություն
Շարժիչի դիզայնը և հիմնական բաղադրիչները: Ստացեք աշխարհի ցուցադրումը էկրանին: Ես պետք է կիրառեմ թեստային խաղացողին աշխարհով մեկ տեղափոխելու և իրերին նայելու ունակությունը, այնուհետև կատարվածը վերածեմ խաղի խմբագրի:

Ժամ 11-20. Խաղացողի ընտրանքներ
Խաղացողի համար բոլոր հիմնական հատկանիշների իրականացումը՝ շարժվել, հարձակվել, դռներ բացել, մահ, իրեր հավաքել և գույքագրել: Ստեղծեք շրջակա միջավայրի բոլոր օբյեկտների լարային պատկերը` ստուգելու խաղացողի` աշխարհի հետ փոխազդելու կարողությունը:

Ժամ 21-30. Աշխարհի վերածնունդ
Ավելացնել արհեստական ​​ինտելեկտ, խաղի իրադարձություններ, թակարդներ, հատուկ էֆեկտներ: Այս ժամանակահատվածի ավարտին ես պետք է ունենամ բավականին ամբողջական տեխնոլոգիական ցուցադրություն՝ ներառելով խաղի բոլոր հիմնական հատկանիշները։

Ժամ 31-40. բովանդակության և կանոնների ավելացում
Ստացեք լիարժեք խաղ տեխնո ցուցադրությունից: Ավելացնել ամբողջ լրացուցիչ բովանդակությունը: Խաղի մեխանիկայի ամբողջականության և հավասարակշռության հասնելու համար: Լեհեք այն ամենը, ինչի համար բավական ժամանակ կա, ավելացրեք հատուկ էֆեկտներ, անիմացիա և այլն։

40 ժամ հետո. Խաղի փորձարկում և թողարկում
Փորձարկեք և շտկեք հայտնաբերված սխալները (առանց նոր գործառույթներ ավելացնելու): Հավաքեք ամեն ինչ և տեղադրեք ինտերնետում: Ամբողջական փաստաթղթեր.

Hackenslash Dev Diary: Շաբաթվա խաղ

Ժամ 1 - Վայրի դիզայնի և բազայի դասեր
Այս ժամը ծախսվել է խաղի համար բազային դասեր ստեղծելու և դրանք հետագա ձևավորման մեջ օգտագործելու համար: Աշխարհը կներկայացվի որպես պորտալով միացված սենյակների հաջորդականություն։ Աշխարհում ամեն ինչ հիմնված է սենյակների վրա, ինչպես դա եղել է հին արկածային խաղերում կամ MUD-ներում: Խաղի օբյեկտների մեծ մասը ներկայացված է որպես «GameObject», որն ունի դիրք և բովանդակություն (այն կարող է պարունակել նաև այլ առարկաներ. քարտեզը կարող է պարունակել սենյակներ, սենյակը կարող է պարունակել սնդուկ, սնդուկը կարող է պարունակել սուր: Եվ ես կարծում եմ, որ սուրը կարող է պարունակել մի քանի սենյակ, բայց մենք դա չենք անի:)

Ես ստեղծում եմ առարկաներ արարած (արարած) և խաղացող (խաղացող)
Ես ստեղծում եմ մի շարք ատրիբուտներ արարածների համար և ներարկում դրանք դասի մեջ: Ըստ երևույթին, ես խելագար եմ, ով չափազանց շատ RPG խաղեր է խաղում: Ես դեռ հստակ չգիտեմ, թե ինչպիսի տեսք կունենա և կաշխատի խաղային մեխանիզմները:
Ես պատրաստում եմ սենյակային օբյեկտ, որը ժառանգում է GameObject-ից: Սենյակն ունի լայնություն, բարձրություն և պատեր, և ուրիշ ոչինչ այս պահին:

Աստիճանաբար ես սկսում եմ հասկանալ, թե ինչպես է ամեն ինչ աշխատելու, և անհրաժեշտ ուղղումներ եմ անում։ Այս փուլում ես նույնիսկ չեմ փորձում օգտագործել PyGame-ը, և ծրագիրը բացի վահանակից ոչինչ չի ցուցադրում: Բայց ես զգում եմ, որ այն ամենը, ինչ արվել է, մեծ առաջընթաց է:

Ժամ 2 - PyGame 101
Այս ժամի նպատակն է նախաստորագրել PyGame-ը և սկսել գոնե ինչ-որ բան նկարել էկրանին: Իրականում, ես իմ ժամանակի մեծ մասը ծախսում եմ PyGame-ի փաստաթղթերը կարդալու վրա՝ փորձելով պարզել, թե ինչ կա այնտեղ և ինչպես, քանի որ PyGame-ի կամ SDL-ի հետ քիչ կամ ընդհանրապես փորձ չունեմ:

Այս ժամը ավարտվում է մի ծրագրով, որը ցուցադրում է սևով լցված դատարկ էկրան: Ոչ տպավորիչ: Փաստորեն, այս պատուհանի հետևում շատ բան կա: Կա խաղի հանգույց, շրջանակի փոխարկում, մի քանի դասի զանգեր և շատ անգործուն կոճակներ: Բայց դա ավելի տպավորիչ չի դարձնում սև էկրանը:

Ժամ 3 - Եթե պատերը ականջ ունենային, ես խիստ կսաստեի նրանց:
Այս ժամի նպատակն է պատերով որոշել սենյակի ուրվագծերը և ցուցադրել այն անշարժ սև էկրանին: Դա անելու համար ինձ անհրաժեշտ է սենյակ և գրաֆիկա: Դուք պետք է շատ ժամանակ անցկացնեք GIMP-ում՝ խմբագրելով ինտերնետից ներբեռնված հյուսվածքները, որպեսզի դրանք վերածվեն համապատասխան սալիկների։ Ես ստեղծում եմ հյուսվածքների մենեջերի դաս: Եվ ես լրացնում եմ սենյակի նմուշի կառուցվածքը: Ես նաև մի քիչ ավելի շատ ժամանակ եմ ծախսել PyGame-ի փաստաթղթերը փնտրելու համար՝ գտնելու որևէ այլ բան, որը կարող էի օգտագործել՝ աշխատանքը հեշտացնելու համար:

Ժամն անցել է։ Ես դեռ նույն սև էկրանն ունեմ։ Չկային պատեր, և ոչ:

Ժամ 4 - Հյուրանոցն ունի անվճար սենյակ
Որոշ շարահյուսական սխալների դեմ պայքարելուց հետո ես վերջապես կարողացա ստիպել, որ պատերը հայտնվեն էկրանին: Ճիշտ է, դրանք սխալ են ցուցադրվում, դրանք նշված տեղում չեն և նույնիսկ հատվածների միջև ընկած հատվածներով: Սարսափելի է։ Բայց մի փոքր շտկելով և խմբագրելով, ես ստացա այն, ինչ էկրանին կարծես սենյակ էր՝ 10-ը 10 քառակուսի:

Առանց ծրագրի մանրամասն պլանի, իսկապես շատ հեշտ է շփոթվել, երբ որոշակի աշխատանք եք կատարել և մտածել «Ի՞նչ է հաջորդը»: Ես որոշեցի, որ եթե մեկ սենյակ նկարելը լավ է, ապա երկուսը նկարելը կրկնակի ավելի լավ է:

Ստեղծված սենյակները պահելու համար ես ստեղծել եմ «minidungeon» ֆայլ։
Ես կսկսեմ ավելացնել «պորտալների» տրամաբանությունը՝ պատերի բացվածքներ՝ այլ սենյակներ գնալու համար (և տրամադրելով բոլոր օֆսեթ տեղեկատվությունը, որն անհրաժեշտ է հարակից սենյակները ճիշտ ցուցադրելու համար):

Ժամ 5 - Hackenslash-ը ստանում է ավելի շատ սենյակներ

Պատուհանի վերնագիրը փոխեցի «Hacenslash!»: Միայն այն պատճառով, որ դա թույն է:
Ես ստեղծել եմ օբյեկտների քարտեզ՝ սենյակները պահելու համար, և MapMaster դաս, որը պարունակում է մի քանի քարտեզ:
Ես ավելացրեցի երկրորդ սենյակը և միացրի առաջինին պորտալի միջոցով:
Հարակից սենյակները միացված են ընթացիկին պորտալների միջոցով և այժմ ցուցադրվում են էկրանին:
Ես ուղղեցի կտրման որոշ սխալներ, որպեսզի պատերը, որոնք մասամբ տարածվում են պատուհանից այն կողմ, ճիշտ ցուցադրվեն:

Ժամ 6 - որի ընթացքում կատարելագործում ենք նկարելու մեր հմտությունները

Ավելացրել է դռների դաս, ինչպես նաև տեղադրել քարտեզներ դռների տեղադրման համար (դուռը պետք է ընդհանուր լինի երկու սենյակի համար): (Խմբագրել. Ափսոս, որ ես այն երբեք չեմ օգտագործել:)
Ես ստեղծեցի ևս 3 պատի սալիկ, դրանք համադրեցի մեկ պատկերի մեջ:
Պատերի գրաֆիկական տեսքը տատանվում է կախված տեսակից:
Ես պարզ գրաֆիկ եմ պատրաստում վերևից ներքև դիտելու համար:

Ժամեր 7-8 - Պտտումներ և բացականչություններ:

Ես հասկացա, թե ինչպես պտտել bitmaps-ը PyGame-ում:
Ես հասա թեստային խաղացողի սահուն ռոտացիայի: Պտտման անկյունը շտկելու համար անհրաժեշտ են բազմաթիվ ճշգրտումներ:
Ես սովորել եմ, թե ինչպես օգտագործել տառատեսակներ PyGame-ում և ստեղծում եմ որոշ դասեր՝ տեքստը ցուցադրելու և շարժելու համար:
Ավելացվեց տեքստի ավտոմատ մշակման դաս, քանի որ ապագայում այս գործառույթը հաճախակի կօգտագործվի:

Ժամ 9-11 - Տարրեր - brrr!

Եվ այստեղ նորից պետք է լուծեմ «Ի՞նչ հետո» հարցը։

Սենյակներին անհրաժեշտ են ավելի հետաքրքիր տարրեր, այնպես որ դուք պետք է կազմեք դրանց ցանկը: Ես չգիտեմ, թե ինչպես դրանք համակարգել, ուստի որոշեցի սկսել ընդհանուրներից։ Ես ներկայացրել եմ երեք ստատիկ տարրեր, որոնք կարելի է գտնել տիպիկ բանտային սենյակում՝ գորգ, սյուն (բլոկ՝ պատերի նման ֆունկցիոնալությամբ) և սանդուղք (թույլ է տալիս տեղափոխվել նոր վայր)

Ես որոշեցի, որ տարրերը կարող են զբաղեցնել մեկից ավելի սալիկ և կարող են պտտվել ցանկացած աստիճանով: (Խմբագրել. Հետադարձ հայացքով, շատ հիմար լուծում. Ես չափազանց շատ ժամանակ ծախսեցի դրա իրականացման վրա, բայց պարզվեց, որ այն գրեթե անօգուտ էր):

Ընդհանուր առմամբ, ես ծախսեցի մոտ երեք ժամ աշխատելով տարրերի վրա՝ պատռված գրաֆիկա ստեղծելու և կոդ գրելու միջև:

Ժամեր 12 - 13 - Մեզ թալան է պետք:

Ես ստեղծում եմ գրաֆիկա և կոդ իրերի համար: Զարմանալի է, թե որքան երկար կարող է տևել նկարչությունը: Հատկապես նյարդայնացնում է, երբ պատկերը թվում է, թե հավն իր թաթով նկարում է, անկախ նրանից, թե որքան ջանք է գործադրվել դրա վրա։

Ես բազմաթիվ վիճակագրություններ եմ ավելացրել իրերին, այդ թվում՝ դրանց արժեքը, չափը, սարքավորումների անցքերը և այլն: Նրանց հետ դեռ չի կարելի շփվել, բայց գոնե նրանք հայտնվում են սենյակի ճիշտ տեղերում:

Ժամ 14 - Գորգեր

Ես շատ հետ եմ գրաֆիկից, ի՞նչ պետք է անեմ:
Սև ֆոնը չափազանց տգեղ է թվում, ուստի ես սենյակի ներսում հատակները գորգեր եմ հարթել՝ առանձին սալիկներով:

Դրանից հետո հանկարծ պարզվեց, որ ես մոռացել եմ թափանցիկ ֆոն ավելացնել խաղացողի սփրայթներին և իրերին։ Ես ստիպված էի շատ ժամանակ ծախսել այս անտեսումը շտկելու համար:

Բայց մակարդակն այժմ թույն է թվում: Դե, գոնե ավելի սառը, քան սևը:

Ժամ 15-16 - Սեղմեք: Սեղմել!

Ես զբաղված էի մկնիկի կառավարմամբ և իրադարձությունների մշակմամբ:
Ավելացվեց մկնիկի հսկողություն: Մինչ շարժումը կտրուկ է, մակարդակի սահուն ոլորում չկա:
Խաղացողը կարող է դուրս գալ սենյակից, բախման ստուգում չկա:
Ես ուղղել եմ մի քանի սխալներ:
Խոշտանգել է GIMP-ը և ստեղծել գեղեցիկ աստիճաններ:
.
Արդեն գրեթե 17 ժամ է զարգացել, այնպես որ ես սկսում եմ մի փոքր նյարդայնանալ: Խաղը ստեղծելու ճանապարհի 2/5-ն անցա՝ ավարտվեց զարգացման երկրորդ «աշխատանքային օրը»։ Այն, ինչ ես արդեն արել եմ, տպավորիչ է, բայց հասկանում եմ, որ անելու շատ ավելին է մնացել։ Ես ունեմ ևս չորս ժամ՝ ավարտելու հիմնական խաղացողի հնարավորությունները և համաձայնեցնելու ժամանակացույցը: Դժվար կլինի... բայց ես դեռ չեմ ափսոսում, որ ավելորդ ժամանակը ծախսեցի գրաֆիկա նկարելու վրա։

Ժամ 17 - Դանդաղ շարժվեք, մինչև մեր ճակատը պատին դիպչենք

Ժամանակի մեծ մասը ծախսվում է գրաֆիկայի ճշգրտման և սխալների վերացման վրա:
Ավելացվեց բախման հայտնաբերում և հարթ ոլորում, երբ խաղացողը շարժվում է:
Խաղացողն այժմ կարող է մի քանի քայլ կատարել (շրջադարձեր)՝ ի պատասխան մկնիկի գործողության:

Ժամ 18 - Անցնելով շեմերը

Խաղացողն այժմ կարող է պորտալներով անցնել այլ սենյակներ:
Սա առաջացնում է կոսմետիկ վրիպակ՝ հարակից սենյակների միջև համընկնող պատերով և հատակներով:
Ուղղվել են ռոտացիայի հետ կապված բազմաթիվ սխալներ, որոնք անանցանելի են դարձրել պորտալները:

Ժամ 19 - Սանդուղք դեպի դրախտ, Դժոխքի մենյու

Եղբայրս կամավոր գնաց խաղի համար երաժշտություն ստեղծելու: Նա ստեղծել է Void War-ի երաժշտությունը, և այն բավականին լավ է ստացվել: Սա ինձ հիշեցրեց ձայնի (և երաժշտության) նվագարկումը: Թվում է, թե դա բավականին հեշտ է դա անել PyGame-ում, ուստի այն չպետք է շատ երկար տևի: (Խմբագրել. ես երբեք ժամանակ չեմ գտել դրա համար, ցավոք, դուք ոչ մի ձայն չեք լսի Hackenslash-ում):

Իմ հաջորդ նպատակն է կարգավորել արարածների և առարկաների հետ փոխազդեցությունները: Ինձ շատ է դուր գալիս, թե ինչպես է դա արվում The Sims-ում և Neverwinter Nights-ում, երբ ցանկանում եք շփվել խաղի օբյեկտի հետ, բացվում է համատեքստի ընտրացանկ: Նախատեսում եմ նման բան իրականացնել։

Աստիճանների ուսուցում խաղացողին նոր սենյակ տեղափոխելու համար:
Ես մի փոքր շրջել եմ համացանցում և PyGame-ի փաստաթղթերում, տեսնելով, թե արդյոք PyGame-ում նմանատիպ մենյուի համար բաց կոդով մենյու կա: Եվ ոչինչ չգտա:
Ես սկսեցի պատրաստել իմ սեփական ճաշացանկը:

Ժամեր 20 - 21 - Ի՞նչ կա ճաշացանկի հետ:

Ես շարունակում եմ աշխատել ճաշացանկի վրա։ Մենյուը հեշտությամբ կարելի է միացնել օբյեկտին, ավելի ճիշտ՝ օբյեկտը ստեղծում է մենյու, ինչը հեշտացնում է հետադարձ կապի իրականացումը խաղացողի ընտրության մշակման համար։
Ես սկսեցի աշխատել իրերի մենյուի վրա։ Այն արդեն հայտնվում է ճիշտ տեղում, և թույլ է տալիս ընտրել ինչ-որ տարր, բայց սեղմելիս այն դեռ ոչինչ չի անում, աշխատում է միայն ընտրացանկը փակելու կոճակը։

Ժամ 22 - Ընթացքի մեջ քնել

Ես շարունակում եմ աշխատել իրերի վրա՝ փորձելով իրականացնել դրանց ֆունկցիոնալությունը և սովորեցնել նրանց արձագանքել ցանկի հրամաններին, ներառյալ համատեքստային տեղեկատվություն ավելացնելու հնարավորությունը: Այժմ այն ​​ունի քիչ ֆունկցիոնալություն, բայց դեռ աշխատում է, ցուցադրելով տեղեկատվություն գործող հրամանի մասին
Բարելավեցի շարժման հաշվարկը տարբեր գործողություններ կատարելիս՝ ստանալով ավելի շատ շարժունակություն։

Ես նկատում եմ, որ արդեն ուշ է, և որ այս աշխատանքի համար նախատեսված ժամից շատ եմ անցել։ Եթե ​​ես ուշադրություն չդարձնեի զարգացման ընդհանուր ժամանակին, հավանաբար մինչև առավոտ դուրս կնստեի։ Բայց քանի որ ես սահմանափակված եմ ժամանակով, համարյա իզուր ժամանակն իսկապես վատ նորություն է: Հետաքրքիր է, թե ինչպես են առաջնահերթությունները փոխվում, երբ ժամանակը քիչ է: Ընդհանուր առմամբ, ես գնում եմ քնելու:

Ժամ 23 - Ճակատամարտի պարամետրեր:

Ես փոփոխում եմ (դե, իրականում նոր եմ սկսում) դասի որոշ ատրիբուտներ, որոնք ստեղծվել են առաջին ժամում:
Վերին աջ անկյունում ես ստեղծում եմ վահանակ, որը կցուցադրի նվագարկչի ընտրանքները:
Ես օպտիմիզացրել եմ այս պատուհանը՝ վերածելով այն պատկերի, որն ավելի արագ է նկարում, քան տառատեսակները: Այս պատկերը թարմացվում է միայն այն ժամանակ, երբ փոխվում են համապատասխան նիշերի պարամետրերը:

Ժամ 24 - Խաղացողի մենյու

Ես ավարտեցի ընտրանքների պատուհանի օպտիմալացումները:
Ստեղծվել է թռուցիկ ընտրացանկ, որը հայտնվում է, երբ խաղացողը կտտացնում է որևէ կերպարի:
Ես ստեղծեցի արագ մենյու խմիչքներ օգտագործելու, կախարդանքներ անելու և այլնի համար:
Ես ուղղեցի ընտրացանկի որոշ սխալներ:

Ժամ 25 - Նախքան (մեկ անգամ) հատակները և պատերը սղոցելը

Այսօր առավոտյան ուղեղումս միտք ծագեց (արդյո՞ք ես իսկապես այդքան մեծ ուղեղ ունեի, որ կարող է տեղավորել այդքան շատ գաղափարներ) ինչպես լուծել հարակից սենյակներում պատերի համընկնման խնդիրը (տե՛ս տասնութերորդ ժամի նկարագրությունը): Իսկ եթե նկարեմ միայն պատերի կեսը: Այս կերպ համընկնումը բացարձակապես չի լինի, և պետք չէ ավելացնել բարդ տրամաբանություն՝ համընկնումները հայտնաբերելու և շտկելու համար:

Ես սկսում եմ աշխատել այս գաղափարի իրականացման վրա։ Դժբախտաբար, իրականում հորինված պարզեցումը ավելի է դժվարացնում սենյակը (մասնավորապես հատակները) նկարելը, և այն կարող է իրականացվել ոչ այնքան արագ, որքան ես ակնկալում էի: Այս համակարգի ստեղծման և վրիպազերծման համար պահանջվեց մոտ մեկ ժամ: Բայց արժեր:

Կոդը վրիպազերծելիս ես գտա ևս մի քանի սխալ՝ կապված սենյակների միջև անցման հետ:

ԲԱԺԻՆ – Ճգնաժամ!

Ես հենց նոր հասկացա, որ մշակման ժամանակի 3/5-ից ավելին անցել է, և որ տասնհինգ ժամից էլ քիչ է մնացել խաղն ավարտին։ Նայելով խաղի անհրաժեշտ հատկանիշների ժամանակացույցը և գնահատելով, որ յուրաքանչյուրն իրականացնելու համար կպահանջվի միջինը մեկ ժամ, ես հասկացա, որ ինձանից կպահանջվի մոտ քսանհինգ ժամ ամեն ինչ իրականացնելու համար: Ժամանակից տասը ժամ շուտ։ Նախագիծը պաշտոնապես վտանգված է։

Ես չեմ կարող անցնել ժամկետի սահմանը: Անհնար է նաև օգնական ներգրավել կամ գնել կոդ/ռեսուրսներ, քանի որ նախատեսված է, որ ես ինքնուրույն կպատրաստեմ խաղը 40 ժամում։ Ես պետք է պարզեմ, թե ինչպես աշխատել ավելի արդյունավետ, բայց ես արդեն աշխատում եմ առավելագույն արտադրողականությամբ: Կարծես թե ես այլ ելք չունեմ, ես պետք է վերանայեմ ֆունկցիոնալությունը և որոշեմ, թե որ գործառույթները դուրս գցեմ խաղից:

Դռներ: Կտրեք: Ես շատ եմ ուզում խաղի մեջ դռներ սարքել։ Ցավալի է բաժանվել այս ֆունկցիայից, մանավանդ որ ես որոշ ժամանակ է, ինչ աշխատում եմ դրա վրա։ Բայց դեռ շատ աշխատանք կա, օրինակ՝ արհեստական ​​ինտելեկտը: Իսկ դրանք գործի հասցնելու համար երեւի 2-3 ժամ կպահանջվի, որը ես չունեմ։
Գրապահոց. Պարզեցրե՛ք: Մոռացեք լրացուցիչ գույքագրման և զենքը կամքով փոխելու ունակության մասին: Այն ամենը, ինչ վերցվում է և չի դառնում ներկայիս սարքավորումը, անմիջապես կվերածվի փողի։
Թակարդներ. Պարզեցե՛ք: Կցանկանայի, որ դրանք ակտիվացնելու համար շատ թակարդներ ունենային՝ հետաքրքիր և բազմազան հետևանքներով։ Դա նախատեսված չէ: Թակարդները կունենան պարզ տեսողական էֆեկտ, վնաս կհասցնեն և ժամանակավորապես կբարձրացնեն պատահական հրեշի հետ բախվելու հնարավորությունը
Աղեղներ (փոքր զենքեր). Կտրեք: Խաղը կունենա միայն melee զենքեր, հեռավորության վրա դուք կարող եք հարձակվել կախարդներով:
Պահպանել/Բեռնել խաղը՝ պարզեցնել: Միայն բնավորությունը կարող է փրկվել, ոչ թե աշխարհի վիճակը: (Խմբագրել. ես դա էլ չեմ արել!)
Մասնիկների համակարգ. Հետաձգել: Մասնիկների համակարգի ստեղծումը տեղափոխվեց առաջնահերթությունների ցանկի ներքևում: Ես կասկածում եմ, որ դրանք պետք է արվեն: Լավ կլիներ ունենալ տպավորիչ վիզուալներ ուղղագրության մասնիկներով...բայց հավանաբար երբեք չի լինի:
Ուղղագրություններ: Պարզեցրե՛ք: Հեգերի մասին լուրջ հասկացություն ունեի՝ դրանք կարելի էր գտնել մատյանների տեսքով, իսկ թիվը մեկ տասնյակից ավելի է։ Տխուր է, բայց կլինեն միայն մի քանի կախարդանքներ՝ բուժել, վնասել, թուլացնել, հզորացնել և վերականգնել: Բարձրացնելով մակարդակը՝ դուք կարող եք թույլ տալ խաղացողին ուժեղացնել կախարդանքները՝ ավելացնելով կախարդական միավորների քանակը:
Հրեշների և խաղացողների անիմացիա. Կտրեք: Ես խեղճ նկարիչ եմ, որ դա անեմ բավական արագ:

Երբ որոշում եմ, թե ինչ չեմ անելու (կամ ինչ կհետաձգեմ ավելի ուշ), նույնքան կարևոր է որոշել, թե ինչ է պետք անել նախ:

Խաղում ծրագրված շատ բաներ կան, որոնք ես համարում եմ շատ կարևոր՝ թակարդներ գտնել, գաղտնի դռներ (դե, հիմա գաղտնի անցումներ) և բացել սնդուկները։ Բայց դեռ խաղի հիմքը մարտական ​​է: Ուստի որոշեցի կենտրոնանալ դրա վրա, այն դարձնել առաջնահերթություն: Ես իմ առջեւ նպատակ եմ դրել, մեկուկես ժամից իմ հրեշները կենդանանան, որ սպանվեն։

Հիանալի, մենք պարզեցինք առաջնահերթությունները, մենք շարունակում ենք զարգանալ:

Ժամ 26 - Եկեք գլորենք զառերը

Ես աշխատում եմ «զառերի» մեխանիզմի վրա, մեխանիզմ, որով խաղի մեջ կմտցվի պատահականության տարր։ Քանի որ մենք չունենք իրական զառերի սահմանափակում, մենք կարող ենք պատահական թիվ ստանալ ցանկացած ցանկալի միջակայքում: Օրինակ՝ 1-ից մինչև 33, կամ 6-ից մինչև 17: Այսպիսով, ես կարող եմ գցել զառերը, համեմատել այն, ինչ ընկել է իմ հարձակման և հակառակորդի պաշտպանության հետ: Եթե ​​գլորված թիվը պաշտպանությունից բարձր է, ապա հարձակումը հաջող է:

Օրինակ, ենթադրենք, որ ես ունեմ հարձակման ընդհանուր արժեքը 15: Ես հարձակվում եմ հրեշի վրա, որն ունի 10 պաշտպանություն: Իմ հնարավորությունները 15-ն են 25-ից (25 =15 +10), կամ 3-ը 5-ից: Այսպիսով, խաղը կստեղծի պատահական թիվ 1-ից 25-ի միջև, և եթե այն տասը գերազանցի, ես կհաղթեմ:

Հասցված վնասը հաշվարկվում է մի փոքր այլ կերպ: Պաշտպանին ավելացրել եմ «զրահ», իսկ հարձակվողին՝ «վնաս»։ Ես ստեղծում եմ պատահական թիվ 1-ից մինչև դրանց գումարը, ապա հանում եմ զրահը: Եթե ​​արդյունքը մեկից պակաս է, ապա վնաս չի հասցվում: Հակառակ դեպքում դա հավասար է արդյունքին։ Այսպիսով, եթե 10 վնասով հրեշը հարձակվի 5 զրահաբալոն ունեցող խաղացողի վրա, խաղը կստեղծի 1-ից մինչև 15 թիվը, որից այն կհանի 5-ը, ինչն էլ տեղի է ունենում՝ հասցված վնասը:

Այս բացատրությունն ու նկարագրությունը ավելի երկար տևեց, քան դրա իրականացումը։

Ժամի վերջում ես կրճատեցի զնդանի ցուցադրման տարածքի չափը, այժմ պատուհանի աջ հատվածը ամբողջությամբ նվիրված է օգտատիրոջ ինտերֆեյսին, այս փոփոխությունը մի փոքր բարձրացրեց կատարողականությունը: Ես նաև համոզվեցի, որ խաղացողի շարժումը կախված չէ կադրերի արագությունից։