Учините своје Пигаме пројекте занимљивијим интеграцијом појачања и колекционарских предмета.
Појачања и колекционарски предмети играју кључну улогу у побољшању играња и учинку игара привлачнијима. Додавањем ових елемената својим Пигаме пројектима, можете креирати јединствене изазове, повећати мотивацију играча и пружити могућности за стратешко доношење одлука.
На срећу, Пигаме пружа флексибилне начине за имплементацију појачања и колекционарских предмета са релативном лакоћом.
Направите једноставну игру
Пре него што почнете, уверите се да имате пип инсталиран на вашем систему. Користите ову команду да бисте инсталирали пигаме библиотека:
пип инсталл пигаме
Почните тако што ћете поставити једноставну игру у којој играч може да се креће лево и десно док избегава непријатеља.
Код који се користи у овом чланку доступан је у овом ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.
Ово ће послужити као основа за додавање појачања и колекционарских предмета. Ево примера исечка кода:
увоз пигаме
увоз насумично# Иницијализујте Пигаме
пигаме.инит()# Подесите прозор игре
ширина_прозора = 800
висина_прозора = 600
прозор = пигаме.дисплаи.сет_моде((ширина_прозора, висина_прозора))
пигаме.дисплаи.сет_цаптион("Моја игра")# Подесите плејер
плаиер_видтх = 50
плаиер_хеигхт = 50
плаиер_к = (виндов_видтх - плаиер_видтх) // 2
плаиер_и = виндов_хеигхт - плаиер_хеигхт - 10
плаиер_спеед = 5# Поставите непријатеља
ширина_ непријатеља = 50
непријатељ_висина = 50
непријатељ_к = рандом.рандинт(0, ширина_прозора - ширина_ непријатеља)
непријатељ_и = 50
непријатељска_брзина = 3# Игра петља
трчање = Истина
док трчање:
за догађај ин пигаме.евент.гет():
ако евент.типе == пигаме. ОДУСТАТИ:
трчање = Фалсе# Кретање играча
кључеви = пигаме.кеи.гет_прессед()
ако кључеви [пигаме. К_ЛЕФТ] и плаиер_к > 0:
плаиер_к -= плаиер_спеед
ако кључеви [пигаме. К_ДЕСНО] и плаиер_к < виндов_видтх - плаиер_видтх:
плаиер_к += плаиер_спеед# Непријатељски покрет
непријатељ_и += непријатељска_брзина
ако непријатељ_и > висина_прозора:
непријатељ_к = рандом.рандинт(0, ширина_прозора - ширина_ непријатеља)
непријатељ_и = 0# Детекција судара
ако (плаиер_к < енеми_к + енеми_видтх) и \
(плаиер_к + плаиер_видтх > енеми_к) и \
(плаиер_и < енеми_и + енеми_хеигхт) и \
(плаиер_и + плаиер_хеигхт > енеми_и):
трчање = Фалсе# Обришите екран
виндов.филл((0, 0, 0))плаиер_пос = (плаиер_к, плаиер_и,
плаиер_видтх, плаиер_хеигхт)
непријатељ_пос = (непријатељ_к, непријатељ_и,
непријатељ_ширина, непријатељ_висина)# Драв плаиер
пигаме.драв.рецт (прозор, (255, 255, 255), плаиер_пос)# Нацртајте непријатеља
пигаме.драв.рецт (прозор, (255, 0, 0), непријатељски положај)# Ажурирајте екран
пигаме.дисплаи.упдате()
# Прекините игру
пигаме.куит()
Испод је излаз:
Креирајте колекционарске предмете
Да бисте креирали колекционарске предмете, додајте предмет који, након судара са играчем, нестаје и додаје 10 поена резултату. За ово морате проверите колизије између играча и колекционара. Ево ажуриране верзије кода која укључује колекционарске предмете. Креирајте нову датотеку под називом колекционарство.пи и додајте код са ажурирањима у наставку:
# Подесите колекционарско
цоллецтибле_видтх = 30
цоллецтибле_хеигхт = 30
цоллецтибле_к = рандом.рандинт(0, ширина_прозора - колекционарска_ширина)
цоллецтибле_и = 50# Подесите резултат
резултат = 0
фонт = пигаме.фонт. Фонт(Ниједан, 36)# ...
# Откривање судара са колекционарским предметом
ако (плаиер_к < цоллецтибле_к + цоллецтибле_видтх) и \
(плаиер_к + плаиер_видтх > цоллецтибле_к) и \
(плаиер_и < цоллецтибле_и + цоллецтибле_хеигхт) и \
(плаиер_и + плаиер_хеигхт > цоллецтибле_и):
цоллецтибле_к = рандом.рандинт(0, ширина_прозора - колекционарска_ширина)
цоллецтибле_и = 50
резултат += 10
# ...цоллецтибле_пос = (цолецтибле_к, цоллецтибле_и)
# Цртајте колекционарски предмет
пигаме.драв.цирцле (прозор, (0, 255, 0), цоллецтибле_пос, цоллецтибле_видтх)
# Нерешен резултат
сцоре_тект = фонт.рендер("Резултат: " + стр (резултат), Истина, (255, 255, 255))
виндов.блит (сцоре_тект, (10, 10))
Испод је излаз:
Креирајте појачања
Сада можете увести појачања у своју игру са следећом логиком. Када се играч судари са објектом за појачавање, појачање ће нестати. Ако се играч судари са непријатељем док је напајање активно, непријатељ ће бити елиминисан. Креирајте нову датотеку под називом поверупс.пи и додајте код са ажурирањима у наставку:
# Подесите напајање
поверуп_видтх = 40
поверуп_хеигхт = 40
поверуп_к = рандом.рандинт(0, ширина_прозора - ширина_појачања)
поверуп_и = 50
схиелд_ацтиве = Фалсе
схиелд_тимер = 0# ...
# Детекција судара са укључењем
цоллисион_поверуп = (плаиер_к < поверуп_к + поверуп_видтх) и \
(плаиер_к + плаиер_видтх > поверуп_к) и \
(плаиер_и < поверуп_и + поверуп_хеигхт) и \
(плаиер_и + плаиер_хеигхт > поверуп_и)ако цоллисион_поверуп:
поверуп_к = рандом.рандинт(0, ширина_прозора - ширина_појачања)
поверуп_и = 50
схиелд_ацтиве = Истина
схиелд_тимер = пигаме.тиме.гет_тицкс()# ...
# Проверите тајмер штита
ако схиелд_ацтиве:
цуррент_тиме = пигаме.тиме.гет_тицкс()
ако тренутно_време - тајмер_штита > 5000:
схиелд_ацтиве = Фалсе# ...
# Дефинишите врхове троугла
к1 = поверуп_к + поверуп_видтх / 2
и1 = поверуп_и
к2 = поверуп_к
и2 = поверуп_и + поверуп_хеигхт
к3 = поверуп_к + поверуп_видтх
и3 = поверуп_и + поверуп_хеигхт# Нацртајте троугао
пигаме.драв.полигон (прозор, (255, 255, 0), [(к1, и1), (к2, и2), (к3, и3)])# ...
# Детекција судара са активним штитом
цоллисион_схиелд = штит_активан и \
(плаиер_к < енеми_к + енеми_видтх) и \
(плаиер_к + плаиер_видтх > енеми_к) и \
(плаиер_и < енеми_и + енеми_хеигхт) и \
(плаиер_и + плаиер_хеигхт > енеми_и)
ако цоллисион_схиелд:
непријатељ_к = рандом.рандинт(0, ширина_прозора - ширина_ непријатеља)
непријатељ_и = 0
Испод је излаз:
Подешавање тајмера за појачања
Да би појачање нестало након одређеног времена и поново се појавило на случајној локацији, можете увести тајмере. Креирајте нову датотеку под називом тимер.пи и додајте код са ажурирањима у наставку:
# Подесите тајмер за поновно покретање
поверуп_респавн_тимер = 0# Проверите тајмер за укључење
аконе схиелд_ацтиве:
цуррент_тиме = пигаме.тиме.гет_тицкс()
ако цуррент_тиме - поверуп_респавн_тимер > 3000:
поверуп_к = рандом.рандинт(0, ширина_прозора - ширина_појачања)
поверуп_и = 50
поверуп_респавн_тимер = пигаме.тиме.гет_тицкс()
Визуелизација тајмера за напајање
Да бисте пружили визуелни приказ тајмера за укључење, можете нацртати објекат правоугаоног облика који се временом постепено исцрпљује. Креирајте нову датотеку под називом бар.пи и додајте код са ажурирањима у наставку:
# Подесите траку за напајање
бар_видтх = 100
бар_хеигхт = 10
бар_к = ширина_прозора - ширина_бара - 10
бар_и = 10# ...
# Израчунајте напредак тајмера за укључење
ако схиелд_ацтиве:
цуррент_тиме = пигаме.тиме.гет_тицкс()
елапсед_тиме = цуррент_тиме - схиелд_тимер
тимер_прогресс = (5000 - протекло време) / 5000
# Нацртајте траку за напајање
бар_рецт = пигаме. Рецт (бар_к, бар_и, бар_видтх * тимер_прогресс, бар_хеигхт)
пигаме.драв.рецт (прозор, (0, 255, 255), бар_рецт)
Испод је излаз:
Најбоље праксе за додавање појачања и колекционарских предмета
Када је у питању укључивање појачања и колекционарских предмета у ваше Пигаме пројекте, праћење најбољих пракси може у великој мери побољшати целокупно искуство играња. Узмите у обзир следеће смернице да бисте обезбедили уравнотежену и занимљиву примену:
Висуал Дистинцтион
Неопходно је направити јасне визуелне разлике између појачања, колекционарских предмета и других елемената игре. Користите различите боје, облике или симболе да их играчи лако препознају. Ова визуелна јасноћа помаже играчима да идентификују и дају приоритет својим циљевима, чинећи игру интуитивнијом и пријатнијом.
Баланс и изазов
Настојте да одржите уравнотежено и изазовно искуство играња. Подесите учесталост појачања и колекционарских покрета да бисте избегли преоптерећење играча или да игру учините превише лаком. Проналажење праве равнотеже захтева пажљиво тестирање и понављање.
Узмите у обзир повратне информације играча и фино подесите стопе појављивања да бисте створили привлачно и задовољавајуће искуство.
Повратне информације и награде
Пружање тренутних повратних информација и награда када играчи прикупе појачања или колекционарске предмете повећава осећај постигнућа и мотивације. Размислите о додавању визуелних ефеката, звучних знакова или анимација како бисте указали на успешну аквизицију.
Награђивање играча поенима, додатним животима или откључавањем посебних способности додаје додатно узбуђење и подстиче играче да активно траже ове елементе.
Тајмери и трајања
Примените тајмере и трајања за појачања да бисте одржали правичност и стратешко доношење одлука. Појачања би требало да имају ограничено трајање како би се спречило да играчи буду надјачани током дужег периода.
Балансирање трајања је од кључног значаја, јер прекратко трајање може деловати неодољиво, док предуго може да дебалансира игру. Тестирајте различита трајања да бисте пронашли најбољу тачку за свако појачање.
Тестирајте и поновите
Плаитестинг је витални корак у процесу развоја. Тестирајте своју игру темељно са различитим конфигурацијама и нивоима тежине како бисте били сигурни да су појачања и колекционарски предмети на одговарајући начин избалансирани и интегрисани у игру.
Обратите пажњу на повратне информације играча и поновите на основу њиховог искуства. Овај итеративни приступ вам омогућава да фино подесите систем, стварајући пријатно и задивљујуће искуство играња.
Учините игре привлачнијим са колекционарским предметима
Додавање појачања и колекционара вашим Пигаме пројектима може значајно побољшати целокупно искуство играња. Ови елементи уводе стратешке изборе, награђују играче и повећавају мотивацију. Колекционарски предмети се могу користити за откључавање нових функција, нивоа или способности, док појачања пружају привремене предности и јединствену механику играња.
Пажљивим дизајнирањем и применом ових функција можете креирати игре које су импресивније, изазовније и пријатније за играче.