மொபைல் கேம்களில் Google Play Games சாதனைகள் (Achievements): ஸ்டோர் தாக்கம், 2,000 XP வரம்பு மற்றும் MonoGame கட்டமைப்பு
ஒரு மொபைல் கேமை உருவாக்கி அதை ஸ்டோரில் வெளியிட்ட பிறகுதான் உண்மையான சவால் தொடங்குகிறது: பிளேயரின் முதல் சில நிமிட ஆர்வத்தை நீண்டகால ஈடுபாடாக மாற்றுவது. பிளேயர்கள் வெறும் "ஒரு லெவலை முடித்து அடுத்த லெவலைத் தொடங்குவது" என்ற எளிய சுழற்சியில் மட்டுமே விடப்பட்டால், அவர்கள் சீக்கிரமே சோர்வடைந்து விடுகிறார்கள்—அல்லது நீங்கள் உருவாக்கிய ஆழமான கேம்ப்ளே மெக்கானிக்ஸில் பாதியைக் கூடக் கண்டறியாமல் செயலியை மூடிவிடுகிறார்கள்.
முதல் பார்வையில், Google Play Games Services (GPGS) சாதனைகள் (Achievements) அமைப்பு சில சிறிய பேட்ஜ்களின் தொகுப்பு போல மட்டுமே தோன்றலாம். ஆனால், அதைச் சரியாக வடிவமைக்கும்போது, அது பிளேயர்களை உங்கள் கேமின் ஒவ்வொரு மெக்கானிக்ஸ் அடுக்குக்கும் வழிநடத்தும் ஒரு சக்திவாய்ந்த பிளேயர் தக்கவைப்பு (retention) இயந்திரமாக மாறுகிறது.
இந்தத் தொழில்நுட்பக் கட்டுரையில், Google Play சூழலில் சாதனைகள் உண்மையில் என்ன சாதிக்கின்றன, Blocked: Pixel Panzer கேமில் Google-ன் கடுமையான XP விதிகளின் கீழ் 79 தனித்துவமான சாதனைகளை நாங்கள் எவ்வாறு கட்டமைத்தோம், மற்றும் தீவிர ஆர்கேட் போரின் போது FPS வீழ்ச்சி மற்றும் Android ANR (Application Not Responding) ஏற்படுவதைத் தடுக்கும் அசின்க்ரோனஸ் MonoGame / C# பேட்சிங் பைப்லைனை எவ்வாறு உருவாக்கினோம் என்பதை விரிவாகப் பார்க்கிறோம்.
1. Google Play Games சாதனைகள் ஏன் முக்கியமானவை?
Google Play Games சாதனைகளை ஒருங்கிணைப்பது பிளேயர் உளவியல் மற்றும் ஆப் ஸ்டோர் செயல்திறன் அளவீடுகள் இரண்டிலும் நான்கு உறுதியான நன்மைகளை வழங்குகிறது:
- மாற்று இலக்குகள் மற்றும் பிளேயர் தக்கவைப்பு (Day-7 / Day-30 Retention):
ஒவ்வொரு பிளேயராலும் உலகளாவிய லீடர்போர்டில் (leaderboard) முதலிடத்தைப் பிடிக்க முடியாது, ஆனால் ஒவ்வொரு பிளேயராலும் "100 துப்பாக்கிக் கோபுரங்களை அழிக்கவும்" அல்லது "சேதம் அடையாமல் ஒரு லெவலை முடிக்கவும்" என்ற இலக்குகளை நோக்கி முன்னேற முடியும். அதிகரிக்கும் சாதனைகள் (incremental achievements) ஒவ்வொரு கேமிங் அமர்விலும் முன்னேறும் ஒரு உறுதியான முன்னேற்றப் பட்டையை பிளேயர்களுக்கு வழங்குகின்றன. - கேம் மெக்கானிக்ஸை இயற்கையாகக் கற்றுக் கொடுத்தல் (மறைமுக Onboarding):
பிளேயர்கள் பெரும்பாலும் தங்களுடைய இயல்பான ஆயுதத்தையே தொடர்ந்து பயன்படுத்துவார்கள்; மற்றவற்றை முயற்சிக்கத் தயங்குவார்கள். Blocked: Pixel Panzer கேமில், ColorWheel மூலம் பச்சை அமிலக் குண்டுகளைக் கொண்டு ஒரே நேரத்தில் பிளாக்குகளை உருக்குவதற்கும், கருப்பு வெடிமருந்துகளால் கிரிட்டிக்கல் தாக்குதல்களை நடத்துவதற்கும் வெகுமதிகளை வழங்குவது, ஒவ்வொரு எலிமெண்டல் மோடையும் கண்டறிந்து தேர்ச்சி பெற அவர்களை ஊக்குவிக்கிறது. - உடனடி பின்னூட்டம் மற்றும் Google Play Gamer XP:
கடுமையான போரின் நடுவே திரையின் மேலிருந்து அதிகாரப்பூர்வ Google Play Games பேனர் கீழே இறங்குவதைப் பார்ப்பதும்—அவர்களின் உலகளாவிய Google Play Gamer லெவலுக்கான XP பெறுவதும்—பிளேயர்களுக்கு அவர்களின் ஆப்பரேட்டிங் சிஸ்டம் சுயவிவரத்துடன் இணைக்கப்பட்ட நிரந்தர முன்னேற்ற உணர்வை அளிக்கிறது. - Google Play சுற்றுச்சூழல் அமைப்பு மற்றும் தர சமிக்ஞைகள்:
Google Play Games Services V2 (PGS V2) ஒருங்கிணைப்பு, ஜீரோ-டேப் தானியங்கி உள்நுழைவு (Zero-Tap sign-in), Google Play Games on PC உடன் தடையற்ற இணக்கத்தன்மை மற்றும் Google Play Store இன் "கேம்ஸ்" தாவலில் வலுவான ஈடுபாட்டு சமிக்ஞைகளை வழங்குகிறது.
2. Google Play Console விதிகள்: 2,000 XP உச்சவரம்பு மற்றும் 10,000 படிகள் வரம்பு
Google Play Console இல் சாதனைகளை உள்ளமைக்கும் போது, மூன்று கடுமையான தளக் கட்டுப்பாடுகளை நீங்கள் மனதில் கொண்டு வடிவமைக்க வேண்டும்:
- 2,000 XP கடுமையான உச்சவரம்பு: ஒரு கேமில் உள்ள அனைத்து சாதனைகளின் மொத்தப் புள்ளிகள் 2,000 XP-க்கு மிகாமல் இருக்க வேண்டும். ஒவ்வொரு தனிப்பட்ட சாதனையும் 5 முதல் 200 XP வரை, 5-ன் மடங்குகளில் வழங்கப்பட வேண்டும்.
- அதிகரிக்கும் சாதனைகளுக்கான 10,000 படிகள் வரம்பு: தொடர் எண்ணும் கவுண்டர் சாதனைகள் Play Console இல் அதிகபட்சமாக 10,000 படிகளை (steps) மட்டுமே ஆதரிக்கும்.
- Play Games Services V2 கட்டாயம்: Google பழைய V1 SDK-ஐப் படிப்படியாக நிறுத்துகிறது. நவீன Android கேம்கள் நேரடியாக
Xamarin.GooglePlayServices.Games.V2(PlayGamesSdkமற்றும்PlayGames.GetAchievementsClient) அடிப்படையில் கட்டமைக்கப்பட வேண்டும்.
Blocked: Pixel Panzer இல் 79 சாதனைகள் பட்டியலை வடிவமைத்தல்
எங்கள் முக்கிய கேம்ப்ளே கூறுகளை (TurretBlock, FighterJet, EnemyRocket, ColorWheel, HydraRegenerationSkill, Season) பகுப்பாய்வு செய்து, 6 முதன்மைப் பிரிவுகளில் மொத்தம் 1,995 / 2,000 XP கொண்ட 79 சாதனைகளை நாங்கள் கட்டமைத்தோம்:
| பிரிவு | மாதிரி சாதனைகள் | வகை | இலக்கு / மெக்கானிக் |
|---|---|---|---|
| Enemy Hunters | Jet Hunter I–III, Sky Dominator, Turret Buster I–III, Siege Master |
Incremental | 10, 100, 1,000 மற்றும் 10,000 போர் விமானங்கள், பாதுகாப்பு கோபுரங்கள் மற்றும் இலக்கு தேடும் ராக்கெட்டுகளை அழித்தல். |
| Block Destruction & Explosives | Pioneer Breaker, Demolition Crew, Crusher Supreme, Pixel Obliterator, Chain Reaction |
Incremental / Standard | 1,000 முதல் 10,000 பிளாக்குகளை உடைத்தல் மற்றும் ஒரே டைனமைட் வெடிப்பில் 5/25/50 இலக்குகளைத் தகர்த்தல். |
| ColorWheel & Weapon Mastery | Prismatic Pilot, Acid Dissolver, Critical Striker, Power Blaster, Speedy Sprinter, Beam Vaporizer |
Incremental | பச்சை அமில தோட்டாக்கள் மூலம் பிளாக்குகளை உருக்குதல், கருப்பு கிரிட்டிக்கல் தாக்குதல்கள், சிவப்பு பவர் ஷாட்கள், லேசர்கள் மற்றும் ஏவுகணைகள். |
| Stage & Boss Progression | First Blood, Giant Slayer, Decimator, Speedrunner I–III |
Incremental / Standard | முதல் எதிரி வீழ்ச்சி, முதல் பாஸ் வெற்றி மற்றும் 4 நிமிடங்களுக்குள் நிலைகளை முடித்தல். |
| Purist Challenges | Untouchable, Clean Victory I–III, Purist Gladiator, Mono Specialist |
Incremental / Standard | எந்தச் சேதமும் அடையாமல் அல்லது திறன்களைப் பயன்படுத்தாமல் பாஸ்களைத் தோற்கடித்தல் மற்றும் நிலைகளை முடித்தல். |
| Atmosphere, Supplies & Meta | Storm Fighter, Retro Connoisseur, Gem Tycoon, Quad Spectrum, Audiophile, Loyal Supporter |
Incremental / Hidden | மழைக்காலத்தில் 100 கோபுரங்களை அழித்தல், CRT மானிட்டர்களை சேகரித்தல், மியூசிக் பிளேயரில் முழு பாடல்களையும் கேட்பது. |
ஒவ்வொரு சாதனைக்கும், சிரமம் அதிகரிக்கும் போது வெண்கலத்திலிருந்து தங்கம் மற்றும் பிரிஸ்மாடிக் நிலைகளுக்கு மாறும் சிறப்பு 512x512 பிக்சல்-ஆர்ட் பேட்ஜ் ஐகான்களை உருவாக்கினோம்:
ப்ரோ டிப் (மொத்தமாக ZIP இறக்குமதி): Google Play Console வலைத்தள இடைமுகத்தில் 79 சாதனைகளை கைமுறையாக உள்ளிடுவது பல மணிநேரங்களை எடுக்கும். அதற்குப் பதிலாக,
AchievementsMetadata.csv,AchievementsIconsMappings.csvமற்றும் உங்கள் 512x512.jpgஐகான்களை ஒரே.zipகோப்பாக தொகுத்து, Play Console-ன் "Import achievements" அம்சத்தைப் பயன்படுத்தி சில நொடிகளில் முழு பட்டியலையும் இறக்குமதி செய்யலாம்.
3. தூய கட்டமைப்பு: பகிரப்பட்ட குறியீட்டில் IGamesService மற்றும் AchievementDirector
Blocked: Pixel Panzer என்பது Windows PC (Microsoft Store) மற்றும் Android (Google Play) ஆகிய இரண்டிலும் இயங்கும் கிராஸ்-பிளாட்ஃபார்ம் MonoGame திட்டமாகும். எங்கள் பகிரப்பட்ட கேம்ப்ளே திட்டத்தை (Blocked.Shared) ஆண்ட்ராய்டு SDK சார்புகளிலிருந்து முழுமையாக விடுவித்து வைத்திருக்க, நாங்கள் Dependency Inversion Principle (SOLID) அணுகுமுறையைப் பயன்படுத்துகிறோம்.
முதலில், பகிரப்பட்ட அடுக்கில் இயங்குதள-சார்பற்ற IGamesService ஒப்பந்தத்தை வரையறுக்கிறோம்:
namespace Blocked.Shared.Services
{
public interface IGamesService
{
void Initialize();
Task<bool> SignIn();
Task<bool> IsAuthenticated();
// Leaderboards
void SubmitScore(string leaderboardId, long score);
void ShowLeaderboards();
void ShowLeaderboard(string leaderboardId);
// Achievements
void UnlockAchievement(string achievementId);
void IncrementAchievement(string achievementId, int steps = 1);
void ShowAchievements();
}
}
சாதனை சரிபார்ப்புகளை CollisionManager, GameplayScreen மற்றும் Player முழுவதும் சிதறடிப்பதற்குப் பதிலாக, அனைத்து 79 விதிகளையும் AchievementDirector என்ற ஒருங்கிணைப்பாளர் வகுப்பிற்குள் மையப்படுத்துகிறோம்:
public static class AchievementDirector
{
public static void OnEnemyKilled(
bool isJet = false,
bool isTurret = false,
bool isRocket = false,
bool isBoss = false,
Bullet? killingBullet = null,
bool killedByLaser = false)
{
var gamesService = ScreenManager.Instance?.GamesService;
if (gamesService == null) return; // டெஸ்க்டாப் பிசி பதிப்புகளில் பாதுகாப்பாக எந்தப் பாதிப்பும் ஏற்படுத்தாது
if (isTurret)
{
gamesService.IncrementAchievement(AchievementIds.TurretBuster1, 1);
gamesService.IncrementAchievement(AchievementIds.TurretBuster2, 1);
gamesService.IncrementAchievement(AchievementIds.TurretBuster3, 1);
gamesService.IncrementAchievement(AchievementIds.SiegeMaster, 1);
// மழைக்காலத்தில் அழிக்கப்படும் கோபுரங்கள் "Storm Fighter" சாதனையை முன்னேற்றும்
if (Season.Current == SeasonKind.Rainy)
{
gamesService.IncrementAchievement(AchievementIds.StormFighter, 1);
}
}
TrackWeaponKill(gamesService, killingBullet, killedByLaser);
}
}
4. முக்கியமான பொறியியல்: ANR-களைத் தடுக்க JNI / Binder IPC தாமதத்தை நீக்குதல்
வேகமான ஆர்கேட் கேமில், சாதனைகளை நேரடியாக Google Play SDK-க்கு அனுப்புவது கடுமையான செயல்திறன் சிக்கலை உருவாக்குகிறது:
ஒரு பிளேயர் ஒரு வெடிக்கும் பிளாக்கை (ExplosiveBlock) வெடிக்கச் செய்யும் போதோ அல்லது Laser Beam திறனைப் பயன்படுத்தும் போதோ, ஒரே பிரேமில் (16.6 மில்லி விநாடிகள்) 20 முதல் 30 பிளாக்குகளும் எதிரிகளும் அழிக்கப்படலாம். ஒவ்வொரு அழிவும் 5 அல்லது 6 அதிகரிக்கும் நிலைகளைப் புதுப்பிக்கும் போது, ஒற்றை பிரேம் 150-க்கும் மேற்பட்ட IncrementAchievement அழைப்புகளைத் தூண்டக்கூடும்!
முக்கிய கேம் லூப் த்ரெட்டில் Google Play Services-க்கு 150 ஒத்திசைவான JNI மற்றும் Binder IPC அழைப்புகளை நீங்கள் அனுப்பினால்:
- ஆரம்ப நிலை Android சாதனங்கள் (1–2 GB RAM கொண்ட Android Go போன்கள்) உடனடியாக கடுமையான பிரேம் நடுக்கத்தால் பாதிக்கப்படுகின்றன.
- JNI குளோபல் குறிப்பு (GREF) அட்டவணை நிரம்பி, Google Play Vitals இல் ANR (
Input dispatching timed out) பிழைகளைத் தூண்டுகிறது.
எங்கள் தீர்வு: இன்-மெமரி 1.5 வினாடி பேட்சிங் மற்றும் அமர்வு நகல் நீக்கம்
GooglePlayGamesService.cs இல் எங்களின் செயலாக்கம் MonoGame அப்டேட் லூப்பை Google Play IPC அழைப்புகளிலிருந்து முற்றிலும் தனிமைப்படுத்துகிறது:
- அமர்வு நகல் நீக்கம் (
_unlockedInSession):
ஒரு அமர்வின் போது ஒரு நிலையான சாதனை அன்லாக் செய்யப்பட்டவுடன், அதன் ஐடிHashSet<string>இல் சேர்க்கப்படும். அதே அல்லது அடுத்தடுத்த பிரேம்களில் மீண்டும் நிகழும் தூண்டுதல்கள் எந்த JNI செலவும் இல்லாமல் C#-லேயே உடனடியாகத் திரும்பும். - 1.5 வினாடி பின்னணி பேட்சிங் (
_pendingIncrements):
IncrementAchievementஐ அழைப்பது மெயின் த்ரெட்டில் நினைவகத்திலுள்ளDictionary<string, int>இல் உள்ள எண்ணை மட்டுமே அதிகரிக்கும் (ஜீரோ JNI அழைப்புகள்). ஒரு பின்னணிTask.Runபணியாளர் 1.5 வினாடிகளுக்குப் பிறகு விழித்துக்கொண்டு, திரட்டப்பட்ட மொத்தங்களின் ஸ்னாப்ஷாட்டை எடுத்து, ஒரு சாதனைக்கு ஒரு ஒருங்கிணைந்த அழைப்பாக Google Play Services-க்கு அனுப்புகிறது. 26502: CLIENT_RECONNECT_REQUIREDமற்றும் ஆஃப்லைன் தற்காலிக சேமிப்பைக் கையாளுதல்:
ஒரு பிளேயர் பல மணிநேரம் கேமை பின்னணியில் வைத்துவிட்டுத் திரும்பினால், Google Play அமர்வு டோக்கன் காலாவதியாகி26502 (CLIENT_RECONNECT_REQUIRED)பிழையைத் தரக்கூடும். எங்கள் சேவை இதைப் பிடித்து, கூல்டவுன் பாதுகாப்புடன் பின்னணியில் அமைதியாகSignIn()செய்ய முயற்சிக்கிறது. சாதனம் ஆஃப்லைனில் இருந்தால் GPGS-ன் உள்ளூர் ஆஃப்லைன் கேச் (client.Unlock) மூலம் பாதுகாக்கிறது—இதனால் பிளேயரின் எந்த முன்னேற்றமும் ஒருபோதும் இழக்கப்படாது.
private static readonly HashSet<string> _unlockedInSession = new(StringComparer.Ordinal);
private static readonly Dictionary<string, int> _pendingIncrements = new(StringComparer.Ordinal);
private static readonly object _achievementBatchLock = new();
private static bool _incrementFlushScheduled = false;
public void IncrementAchievement(string achievementId, int steps = 1)
{
if (!_isInitialized || string.IsNullOrEmpty(achievementId) || steps <= 0)
return;
bool shouldSchedule = false;
lock (_achievementBatchLock)
{
// ZERO JNI cost on the game loop thread — pure in-memory aggregation!
if (_pendingIncrements.TryGetValue(achievementId, out int current))
_pendingIncrements[achievementId] = current + steps;
else
_pendingIncrements[achievementId] = steps;
if (!_incrementFlushScheduled)
{
_incrementFlushScheduled = true;
shouldSchedule = true;
}
}
if (shouldSchedule)
{
Task.Run(async () =>
{
await Task.Delay(1500).ConfigureAwait(false);
FlushPendingIncrementsNow();
});
}
}
private void FlushPendingIncrementsNow()
{
List<KeyValuePair<string, int>>? snapshot = null;
lock (_achievementBatchLock)
{
_incrementFlushScheduled = false;
if (_pendingIncrements.Count == 0) return;
snapshot = new List<KeyValuePair<string, int>>(_pendingIncrements);
_pendingIncrements.Clear();
}
var act = _activity;
if (act == null || act.IsFinishing || act.IsDestroyed) return;
var client = PlayGames.GetAchievementsClient(act);
foreach (var kvp in snapshot)
{
if (kvp.Value > 0)
{
// 150 frame events become 1 combined step call to GPGS
client.Increment(kvp.Key, kvp.Value);
}
}
}
5. பிளேயர்கள் தங்கள் சாதனைகளை கேமிற்குள் எவ்வாறு கண்காணிக்கிறார்கள்?
போரின் போது வரும் பாப்-அப் அறிவிப்புகள் சிறந்ததுதான், ஆனால் பூட்டப்பட்ட பேட்ஜ்களைப் பார்ப்பதற்கும், சதவீத முன்னேற்றத்தைச் சரிபார்ப்பதற்கும், அவர்களின் அடுத்த இலக்கைத் தேர்ந்தெடுப்பதற்கும் பிளேயர்களுக்கு ஒரு பிரத்யேக இடம் தேவை.
இதை நேர்த்தியாக வழங்க, எங்கள் மொபைல் புள்ளிவிவரத் திரையை ஒருங்கிணைந்த STATS & RANKS மையமாக மாற்றினோம். திரையின் மேற்புறத்தில், இரண்டு தங்க பொத்தான்கள்—LEADERBOARD மற்றும் ACHIEVEMENTS—மென்மையான 2-வினாடி சைன்-அலை பிரகாசத்துடன் (Math.Sin) ஒளிர்கின்றன. Windows Desktop பதிப்புகளில், இந்த மொபைல் பொத்தான்கள் தானாகவே மறைந்துவிடும், இதனால் வழக்கமான STATISTICS திரை சுத்தமாக இருக்கும்.
பிளேயர் ACHIEVEMENTS பொத்தானைத் தொடும்போது:
FlushPendingIncrementsNow()உடனடியாக இயக்கப்பட்டு, இடைமுகம் திறப்பதற்கு முன் கடந்த 1.5 விநாடிகளில் ஏற்பட்ட முன்னேற்றங்கள் சேமிக்கப்படும்.GetAchievementsIntent()மூலமாக Google Play Games இன் அதிகாரப்பூர்வ சாதனைகள் ஓவர்லே கேமின் மீது நேரடியாகத் திறக்கப்படுகிறது:
பிளேயர்கள் பயன்பாட்டை விட்டு வெளியேறாமலேயே தங்கள் 2 / 79 முன்னேற்றத்தை ஆய்வு செய்யலாம், தனிப்பயனாக்கப்பட்ட பரிந்துரைகளைப் பார்க்கலாம் மற்றும் சதவீத வளையங்களைக் கண்காணிக்கலாம்.
6. முடிவுரை மற்றும் எங்களின் விளையாட்டுகள்
சமநிலையான 2,000 XP வரவுசெலவுத் திட்டம் மற்றும் பின்னணி பேட்சிங் பைப்லைனுடன் கட்டமைக்கப்படும் போது, Google Play Games சாதனைகள் ஒரு ஆர்கேட் கேமிற்கு பிரேம் வீதத்தைக் குறைக்காமல் ஆழத்தையும் நீண்டகால மறுவிளையாட்டு மதிப்பையும் சேர்க்கும் சிறந்த வழிகளில் ஒன்றாகும்.
எங்களின் 79 சாதனைகள் முன்னேற்ற அமைப்பு, ColorWheel போர் இயக்கவியல் மற்றும் உலகளாவிய லீடர்போர்டுகளை நேரடியாக அனுபவிக்க விரும்பினால்—அல்லது எங்கள் பிற கேம்களைப் பார்க்க விரும்பினால்—கீழே உள்ள ஸ்டோர்களில் அவற்றைக் காணலாம்:
🎮 எங்களின் கேம்கள்:
- 🛡️ Blocked: Pixel Panzer:
ColorWheel எலிமெண்டல் தோட்டாக்கள், மாறும் வானிலை, பாஸ் போர்கள், உலகளாவிய லீடர்போர்டுகள் மற்றும் 79 Google Play சாதனைகளைக் கொண்ட ரெட்ரோ பிக்சல் டேங்க் ஆக்ஷன்!
👉 Google Play இல் பதிவிறக்கவும் (Android & PC) | Microsoft Store (Windows PC) - 🎨 Paint Trek:
மின்னல் வேக அனிச்சைகளையும் தந்திரோபாய நகர்வுகளையும் இணைக்கும் வண்ணமயமான விண்வெளி ஆர்கேட் ஷூட்டர்.
👉 Google Play | Microsoft Store (PC & Xbox) - 🚀 Space Dodger:
விண்வெளியில் தடைகளைத் தவிர்க்கும் அதிவேக ரெட்ரோ ஆர்கேட் விளையாட்டு.
👉 Google Play இல் பதிவிறக்கவும்
📢 எங்கள் Devlogs மற்றும் சமூகத்தைப் பின்தொடரவும்:
கூடுதல் தொழில்நுட்பக் கட்டுரைகள் மற்றும் கேம் புதுப்பிப்புகளுக்கு எங்களைப் பின்தொடரவும்:
- 🎵 TikTok: @arargamesstudio
- 📸 Instagram: @arargamesstudio
- 🐦 X (Twitter): @arargamesstudio
- 📺 YouTube: @koreaaria
- 🧵 Threads: @arargamesstudio
- 📘 Facebook: arargamesstudio
குறிச்சொற்கள் & தலைப்புகள்
#GooglePlayGames #Achievements #MonoGame #CSharp #MobileGameDev #AndroidDev #IndieDev #GameArchitecture #BlockedPixelPanzer #PaintTrek #ArarGames
Hiç yorum yok:
Yorum Gönder