با متنی که طراحی و ژانر آن را منعکس می کند، به بازی خود شخصیت بدهید.
زیبایی شناسی نقش مهمی در توسعه بازی دارد. جزئیات کوچک می تواند بر میزان توجه بازیکنان و غوطه ور شدن آنها در دنیای بازی تأثیر بگذارد. فونت های سفارشی و جلوه های متنی به شما این امکان را می دهد که شخصیت و سبک را در رابط کاربری، دیالوگ ها و عناصر HUD بازی خود القا کنید.
چه در حال طراحی یک بازی ماجراجویی، بازی پازل یا هر بازی دیگری باشید، فونت ها و جلوه های متنی سفارشی می توانند پروژه شما را از ابتدایی به جذاب تبدیل کنند.
یک بازی دو بعدی ساده بسازید
قبل از فرو رفتن در دنیای فونت های سفارشی و جلوه های متنی، یک پایه بازی دو بعدی ایجاد کنید. برای این مثال، با استفاده از ویژگی های Pygame، یک بازی با حرکت بازیکن بسازید.
کد استفاده شده در این مقاله در این مخزن GitHub موجود است و برای استفاده شما تحت مجوز MIT رایگان است.
برای شروع، پنجره بازی را تنظیم کنید. Pygame تابع pygame.display.set_mode() را برای ایجاد پنجره ای برای نمایش بازی شما فراهم می کند. همچنین می توانید با استفاده از pygame.display.set_caption() عنوانی برای پنجره تنظیم کنید.
import pygame
pygame.init()
# Set up display
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("My Pygame Adventure")
اکنون شی بازیکن را با استفاده از کلاس pygame.Rect() مقداردهی اولیه کنید. این کلاس یک شکل مستطیلی را نشان می دهد که می توانید از آن برای نمایش شخصیت ها و اشیاء در بازی های دو بعدی استفاده کنید.
# Initialize player
player = pygame.Rect(50, 50, 50, 50)
player_color = (255, 0, 0)
حلقه اصلی بازی قلب بازی شماست، جایی که تمام اکشن ها در آن اتفاق می افتد. به طور مداوم ورودی بازیکن را بررسی می کند، وضعیت بازی را به روز می کند و صفحه را دوباره ترسیم می کند.
# Main game loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Player Movement
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player.x -= 5
if keys[pygame.K_RIGHT]:
player.x += 5
if keys[pygame.K_UP]:
player.y -= 5
if keys[pygame.K_DOWN]:
player.y += 5
screen.fill((0, 0, 0))
# Draw the player
pygame.draw.rect(screen, player_color, player)
# Update the screen
pygame.display.flip()
pygame.quit()
در اینجا خروجی اصلی تا کنون آمده است:
متن را به بازی خود اضافه کنید
برای نمایش متن، با بارگیری یک فونت با استفاده از کلاس pygame.font.Font () شروع کنید. می توانید فایل فونت و اندازه فونت را مشخص کنید:
# Load font
font = pygame.font.Font(None, 36)
با بارگذاری فونت، اکنون می توانید متن را رندر کرده و روی صفحه نمایش دهید. متد render() شی فونت متن، تنظیمات antialiasing و رنگ را به عنوان آرگومان می گیرد. سپس می توانید از تابع blit() برای کشیدن متن رندر شده روی صفحه استفاده کنید.
# Main game loop
while running:
# Draw the player
# Render and display text
text = font.render("Welcome to My Game", True, (255, 255, 255))
screen.blit(text, (width // 2 - text.get_width() // 2, 10))
# Update the screen
خروجی باید چیزی شبیه به این باشد:
اضافه کردن فونت های سفارشی
در حالی که فونت های پیش فرض به خوبی کار می کنند، استفاده از فونت های سفارشی می تواند جذابیت بصری بازی شما را به میزان قابل توجهی افزایش دهد. برای افزودن یک فونت سفارشی، این مراحل را دنبال کنید.
ابتدا به یک فایل فونت TrueType سفارشی (TTF) نیاز دارید که با زیبایی شناسی بازی شما مطابقت داشته باشد. منابع زیادی به صورت آنلاین وجود دارد که می توانید فونت های رایگان یا پولی را پیدا کنید.
فایل فونت دانلود شده را در همان دایرکتوری اسکریپت بازی خود قرار دهید. این تضمین می کند که Pygame می تواند فونت را بیابد و بارگذاری کند.
# Load custom font
custom_font = pygame.font.Font("custom_font.ttf", 48)
# Main game loop
while running:
# Draw the player
# Render and display custom font text
custom_text = custom_font.render("Custom Font Text", True, (0, 255, 0))
screen.blit(custom_text, (width // 2 - custom_text.get_width() // 2, 100))
# Update the screen
شما باید متن را با فونت انتخابی خود مشاهده کنید:
ایجاد جلوه های متنی
افزودن افکت های متنی به بازی شما می تواند متن ایستا را به عناصر پویا و جلب توجه تبدیل کند. یکی از ساده ترین و در عین حال موثرترین افکت های متنی، افکت ضربان دار است.
جلوه متن ضربان دار شامل ایجاد انبساط و انقباض ریتمیک متن است که به آن کیفیتی تنفسی یا ضربانی می بخشد. در اینجا نحوه اجرای این افکت آورده شده است:
# Main game loop
while running:
# Draw the player
# Create text with pulsating effect
pulsating_text = custom_font.render("Pulsating Text", True, (0, 0, 255))
# Calculate pulsation factor based on time
pulsation_factor = 1 + abs((pygame.time.get_ticks() % 1000) - 500) / 500
width = int(pulsating_text.get_width() * pulsation_factor)
height = int(pulsating_text.get_height() * pulsation_factor)
# Scale the text based on pulsation factor
pulsating_text = pygame.transform.scale(
pulsating_text,
(width, height)
)
# Calculate text position to center it on the screen
text_x = width // 2 - pulsating_text.get_width() // 2
text_y = 200
screen.blit(pulsating_text, (text_x, text_y))
# Update the screen
با استفاده از pygame.time.get_ticks() ضریب ضربان را بر اساس زمان فعلی محاسبه کنید. با تنظیم ضریب، میزان انبساط و انقباض را کنترل می کنید و در نتیجه به اثر ضربان دار می رسید.
علاوه بر اثر ضربان دار، بسیاری از افکت های متنی دیگر نیز وجود دارد که می توانید با آنها آزمایش کنید تا به بازی خود جذابیت بیشتری بدهید:
- جلوه ماشین تحریر. نمایش متن حرف به حرف، شبیه سازی صدای ماشین تحریر.
- محو شدن متن به تدریج متن را به داخل یا خارج محو کنید تا یک انتقال صاف ایجاد کنید.
- تکان دادن متن متن را تکان دهید یا کمی تکان دهید تا احساس فوریت یا هیجان ایجاد کنید.
- متن درخشان یک جلوه درخشان ظریف به متن اضافه کنید تا در محیط های تاریک تر برجسته شود.
برای پیاده سازی این افکت ها، می توانید تکنیک هایی مانند تغییر کانال آلفا (شفافیت)، تغییر موقعیت و اعمال انتقال رنگ را با هم ترکیب کنید.
از خلاقیت نترسید و ترکیبی از افکت ها را آزمایش کنید تا مناسب سبک بازی خود را بیابید.
شامل ویژگی های اضافی
همانطور که با فونت های سفارشی و جلوه های متنی راحت تر می شوید، پیشرفت های بیشتری را به بازی خود اضافه کنید.
گفتگوهای تعاملی
مکالمات تعاملی را با NPC ها با استفاده از جعبه های متن و فونت های سفارشی پیاده سازی کنید. به بازیکنان اجازه دهید گزینههای گفتگو را انتخاب کنند که میتواند بر داستان یا نتیجه بازی تأثیر بگذارد.
عناصر HUD
اطلاعات ضروری بازیکن، نوارهای سلامت، امتیازات و موارد دیگر را با استفاده از جلوههای متنی جذاب نمایش دهید. طراحی یک HUD به خوبی سازماندهی شده و از نظر زیبایی شناسی می تواند به یک تجربه گیم پلی یکپارچه کمک کند.
متن متحرک
برای داستان سرایی پویاتر، انیمیشن ها را در جلوه های متنی خود بگنجانید. متنی که داخل و خارج می شود، اسکرول می شود یا رنگ آن تغییر می کند می تواند توجه را به لحظات یا رویدادهای مهم بازی جلب کند.
بهترین روش ها برای فونت های سفارشی و جلوه های متنی
همانطور که در قلمرو فونت های سفارشی و جلوه های متنی جستجو می کنید، در نظر گرفتن چند روش برتر می تواند به اطمینان از ارائه صیقلی و جذاب کمک کند.
ثبات
سبک بصری ثابتی را در فونت ها و جلوه های متنی بازی خود حفظ کنید. انسجام در تایپوگرافی به ظاهر حرفه ای تر و صیقلی تر کمک می کند.
خوانایی
هنگام انتخاب فونت، خوانایی را در اولویت قرار دهید. اگرچه فونت های تزئینی می توانند جذاب باشند، اما نباید وضوح متن را قربانی کنند. اطمینان حاصل کنید که فونت های انتخابی شما به راحتی خوانا هستند، حتی در اندازه های مختلف.
تضاد
به تضاد بین متن و پس زمینه توجه کنید. کنتراست بالا تضمین می کند که متن قابل مشاهده و خواندن آسان است و تجربه کاربر را بهبود می بخشد.
روانشناسی رنگ
تأثیر روانی رنگ در متن خود را در نظر بگیرید. رنگ های مختلف احساسات متفاوتی را برمی انگیزند، بنابراین رنگ هایی را انتخاب کنید که با حال و هوا و لحن بازی شما هماهنگ باشد.
بازی های خود را با فونت های سفارشی و جلوه های متن جذاب تر کنید
با ادغام فونت های سفارشی و جلوه های متنی در پروژه Pygame خود، نه تنها زیبایی بصری بازی خود را ارتقا می دهید، بلکه تجربه ای فراگیرتر و جذاب تر را برای بازیکنان فراهم می کنید.
متن طراحی شده با تفکر می تواند احساسات را منتقل کند، لحن بازی را تنظیم کند و بازیکنان را در طول سفرشان راهنمایی کند. افکتهای متنی چه نمایش اطلاعات مهم، ارائه گفتگوی شوخآمیز یا ایجاد حس شگفتانگیز باشد، یک ابزار همه کاره در زرادخانه توسعه بازی شما است.