خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه ایجاد پاور آپ و کلکسیون در Arcade

به بازیکنان خود در حین پیشروی در بازی شما چیزی برای انتخاب کردن بدهید.

پاور آپ ها و کلکسیون ها عناصر ضروری بازی هستند که می توانند تجربه گیم پلی را افزایش دهند و به بازی های آرکید هیجان بیافزایند. آنها توانایی ها، پاداش ها و چالش های اضافی را برای بازیکنان فراهم می کنند. با کتابخانه آرکید، می‌توانید در کمترین زمان بازی‌های جذابی با قدرت‌ها و کلکسیون‌ها ایجاد کنید.

یک بازی ساده بسازید

با یک تنظیم اولیه شروع کنید که در آن بازیکن می تواند با استفاده از ورودی های صفحه کلید در چهار جهت (چپ، راست، بالا و پایین) حرکت کند. علاوه بر این، یک شی دشمن را برای ایجاد تعامل در محیط بازی معرفی کنید.

کد استفاده شده در این مقاله در این مخزن GitHub موجود است و برای استفاده شما تحت مجوز MIT رایگان است.

یک فایل جدید با نام simple-game.py ایجاد کنید و کد زیر را اضافه کنید:

import arcade

blue = arcade.color.BLUE
red = arcade.color.RED
black = arcade.color.BLACK
white = arcade.color.WHITE
yellow = arcade.color.YELLOW
green = arcade.color.GREEN
orange = arcade.color.ORANGE

class Game(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(black)

        self.player = arcade.SpriteCircle(20, blue)
        self.player.center_x = width // 2
        self.player.center_y = height // 2

        self.enemy = arcade.SpriteSolidColor(20, 20, red)
        self.enemy.center_x = width // 4
        self.enemy.center_y = height // 4

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()

    def update(self, delta_time):
        pass

    def on_key_press(self, key, modifiers):
        if key == arcade.key.LEFT:
            self.player.center_x -= 10
        elif key == arcade.key.RIGHT:
            self.player.center_x += 10
        elif key == arcade.key.UP:
            self.player.center_y += 10
        elif key == arcade.key.DOWN:
            self.player.center_y -= 10

def main():
    game = Game(800, 600)
    arcade.run()

if __name__ == "__main__":
    main()

این کد را اجرا کنید و یک بازی اساسی با حرکت بازیکن و یک شی دشمن خواهید داشت.

بازی آرکید ساده با شی بازیکن و دشمن

ایجاد ایالات بازی

برای ترکیب قدرت‌ها و کلکسیون‌ها، باید حالت‌های بازی مانند امتیاز و سلامت را ایجاد کنید. شما می توانید امتیاز و سلامت را با استفاده از یک متغیر جداگانه مدیریت کنید. کد را طوری تغییر دهید که این ویژگی ها را شامل شود. سلامت بازیکن در هنگام برخورد با شی دشمن کاهش می یابد.

class Game(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)

        self.score = 0
        self.health = 100

    def on_draw(self):
        arcade.draw_text(f"Score: {self.score}", 10, 10, white)
        arcade.draw_text(f"Health: {self.health}", 10, 30, white)

    def update(self, delta_time):
        if arcade.check_for_collision(self.player, self.enemy):
            self.health -= 10

            if self.health <= 0:
                self.game_over()

    def game_over(self):
        # Add game over logic here
        pass

اکنون سلامت بازیکن در هنگام برخورد با دشمن 10 کاهش می یابد و امتیاز و مقادیر سلامتی روی صفحه نمایش داده می شود.

مطلب مرتبط:   نحوه ایجاد گرافیک در یک برنامه JES

اضافه کردن کلکسیون

در مرحله بعد، کلکسیونی ایجاد کنید که در صورت جمع آوری امتیاز بازیکن را 10 افزایش دهد. این کلکسیون ها برای تنوع بصری اشکال مختلفی خواهند داشت. یک فایل جدید به نام collectibles.py ایجاد کنید و کد را با آپدیت زیر اضافه کنید:

class Game(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)

        self.collectibles = arcade.SpriteList()

        for _ in range(5):
            collectible = arcade.SpriteSolidColor(20, 40, yellow)
            collectible.center_x = random.randint(0, width)
            collectible.center_y = random.randint(0, height)
            self.collectibles.append(collectible)

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()
        self.collectibles.draw()
        arcade.draw_text(f"Score: {self.score}", 10, 10, white)
        arcade.draw_text(f"Health: {self.health}", 10, 30, white)

    def update(self, delta_time):
        for collectible in self.collectibles:
            if arcade.check_for_collision(self.player, collectible):
                self.score += 10
                collectible.remove_from_sprite_lists()

فهرستی از کلکسیون ها با پنج نمونه ایجاد کنید که هر کدام با یک مستطیل زرد نشان داده شده است. وقتی بازیکن با یک کلکسیون برخورد می کند، امتیاز او 10 افزایش می یابد و کلکسیونی از لیست اسپرایت حذف می شود.

بازی آرکید با اشیاء کلکسیونی، شی بازیکن و دشمن

اضافه کردن پاور آپ ها

اکنون می توانید به بازی خود پاور آپ اضافه کنید. هنگامی که بازیکن قدرت را جمع آوری می کند، یک سپر به مدت 10 ثانیه در اطراف آنها ظاهر می شود. در این مدت اگر بازیکن با دشمن برخورد کند، دشمن را نابود می کند. یک فایل جدید به نام power-ups.py ایجاد کنید و کد را با آپدیت زیر اضافه کنید:

class Game(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)

        self.power_up = arcade.SpriteSolidColor(50, 20, green)
        self.power_up.center_x = random.randint(0, width)
        self.power_up.center_y = random.randint(0, height)

        self.shield_active = False
        self.shield_duration = 10
        self.shield_timer = 0

    def on_draw(self):
        arcade.start_render()
        self.player.draw()
        self.enemy.draw()
        self.collectibles.draw()
        self.power_up.draw()
        arcade.draw_text(f"Score: {self.score}", 10, 10, white)
        arcade.draw_text(f"Health: {self.health}", 10, 30, white)

    def update(self, delta_time):
        if arcade.check_for_collision(self.player, self.enemy):
            if not self.shield_active:
                self.health -= 10
                if self.health <= 0:
                    self.game_over()
            else:
                self.enemy.remove_from_sprite_lists()

        if self.shield_active:
            self.shield_timer += delta_time

            if self.shield_timer >= self.shield_duration:
                self.shield_active = False
                self.shield_timer = 0

        for collectible in self.collectibles:
            if arcade.check_for_collision(self.player, collectible):
                self.score += 10
                collectible.remove_from_sprite_lists()

        if arcade.check_for_collision(self.player, self.power_up):
            self.shield_active = True
            self.power_up.remove_from_sprite_lists()

در زیر خروجی است:

مطلب مرتبط:   API های جنگو را به روشی آسان با قالب های جنگو مصرف کنید

بازی آرکید با پاور آپ، بازیکن و شی دشمن

از جمله ویژگی های اضافی

شما می توانید با افزودن ویژگی های اضافی، سیستم قدرت و کلکسیون را بیشتر تقویت کنید. برای مثال، می‌توانید یک تایمر روشن‌کننده ایجاد کنید که در صورت جمع‌آوری، زمان گیم‌پلی را افزایش می‌دهد. یک فایل جدید به نام timer-power-up.py ایجاد کنید و کد را با آپدیت زیر اضافه کنید:

class Game(arcade.Window):
    def __init__(self, width, height):
        super().__init__(width, height)
        arcade.set_background_color(black)

        self.player = arcade.SpriteCircle(20, blue)
        # ...

        self.timer_power_up = arcade.SpriteSolidColor(40, 20, orange)
        self.timer_power_up.center_x = random.randint(0, width)
        self.timer_power_up.center_y = random.randint(0, height)


        self.game_time = 60 # Initial game time in seconds
        self.timer_power_up_duration = 10

    # ...
    
    def update(self, delta_time):
        # ...

        if arcade.check_for_collision(self.player, self.timer_power_up):
            self.game_time += self.timer_power_up_duration
            self.timer_power_up.remove_from_sprite_lists()

    # ...

def main():
    game = Game(800, 600)
    arcade.run()

if __name__ == "__main__":
    main()

بهترین روش ها برای پاور آپ ها و کلکسیون ها

پاور آپ ها و کلکسیون ها نقش مهمی در افزایش تجربه گیم پلی بازی های آرکید دارند. برای اطمینان از اینکه این عناصر لذت بخش هستند و به خوبی در بازی ادغام می شوند، رعایت برخی از بهترین شیوه ها ضروری است:

وضوح و سازگاری بصری

از اسپریت های متمایز و از نظر بصری جذاب برای قدرت ها و کلکسیون ها استفاده کنید تا آنها را از دیگر عناصر بازی متمایز کنید. اطمینان حاصل کنید که ظاهر قدرت‌ها و کلکسیون‌ها با جلوه‌ها و هدف آنها در بازی مطابقت دارد.

یکپارچگی در طراحی، طرح‌های رنگی، و اندازه برای قدرت‌ها و کلکسیون‌ها در طول بازی حفظ کنید.

تعادل و چالش

کمیاب بودن و توزیع قدرت‌ها و کلکسیون‌ها را تنظیم کنید تا حس چالش و پاداش را برای بازیکنان حفظ کنید. از بازیکنان زیاد با قدرت یا کلکسیون زیاد خودداری کنید، زیرا ممکن است تاثیر و هیجان پیدا کردن آنها را کاهش دهد.

مطلب مرتبط:   نحوه پیاده سازی پیمایش پارالکس در گودو

به دقت بین اثربخشی و مدت زمان قدرت‌آپ‌ها تعادل برقرار کنید تا از فشار بیش از حد یا کم‌توانی آن‌ها جلوگیری کنید.

پاک کردن شاخص ها و بازخورد

هنگامی که پخش کننده یک پاور آپ یا کلکسیون را جمع آوری می کند، نشانگرهای تصویری و صوتی واضحی ارائه دهید. نمایش جلوه های بصری موقت، مانند انیمیشن ها یا ذرات، برای نشان دادن فعال شدن پاور آپ ها و مدت زمان آنها.

رابطه چالش-پاداش

اطمینان حاصل کنید که قدرت‌ها و کلکسیون‌ها پاداش‌های معنی‌داری مانند افزایش امتیاز، توانایی‌های اضافی یا زمان طولانی‌تر بازی را به بازیکن ارائه می‌دهند. دشواری به دست آوردن قدرت ها و کلکسیون ها را با مزایایی که ارائه می دهند هماهنگ کنید. وظایف چالش برانگیزتر باید پاداش های ارزشمندتری را به همراه داشته باشد.

تست بازی و تعادل

بازی را به طور گسترده آزمایش کنید تا نحوه تعامل بازیکنان با قدرت‌ها و کلکسیون‌ها را مشاهده کنید. از بازخورد پخش کننده برای تنظیم دقیق توزیع، مدت زمان و جلوه های قدرت و کلکسیون برای ایجاد یک تجربه متعادل و لذت بخش استفاده کنید.

با پیروی از این بهترین شیوه‌ها، می‌توانید یک سیستم قدرت و کلکسیون جذاب و متعادل ایجاد کنید که تجربه گیم‌پلی را افزایش می‌دهد و بازیکنان را درگیر بازی آرکید خود نگه می‌دارد.

با پاور آپ ها و کلکسیون بازی ها را سرگرم کننده تر کنید

پاور آپ ها و کلکسیون ها لایه ای از هیجان و تعامل را به بازی های آرکید اضافه می کنند. آنها نه تنها توانایی ها و پاداش های جدید را در اختیار بازیکنان قرار می دهند، بلکه چالش های جالب و انتخاب های استراتژیک را نیز ایجاد می کنند.

با ترکیب این ویژگی ها با استفاده از کتابخانه Python Arcade، می توانید بازی های خود را لذت بخش تر کنید و تجربه کلی بازی را برای بازیکنان خود افزایش دهید. به خاطر داشته باشید که آزمایش کنید، تکرار کنید، و خلاقیت خود را آزاد کنید تا قدرت ها و مجموعه های منحصر به فرد و جذابی ایجاد کنید که با تم و مکانیک بازی شما همخوانی دارند.