Marek — TrekHolding
Frontend & tools — HTML · JS · PY · LUA · LUAU

BattleGroundsWWII

Full-time UI Designer & Scripter • Roblox WWII Game Development

Project Overview

As a full-time UI designer and scripter for BattleGroundsWWII, I created immersive WWII gaming experiences on the Roblox platform. This ongoing project involves developing comprehensive user interfaces, combat systems, and backend architecture for a large-scale multiplayer war game.

Click images to view full size • More development screenshots available upon request

Key Responsibilities

  • Designed and implemented polished loading screens with real-time asset tracking
  • Developed complex damage calculation and kill tracking systems
  • Created weapon spawning and management logic for multiple weapon types
  • Built comprehensive player progression systems with XP and leveling
  • Implemented DataStore integration for persistent player data
  • Designed intuitive user interfaces for combat and gameplay

Technical Implementation

The project required sophisticated backend systems to handle combat mechanics, player progression, and data persistence.

Combat System Example

local function onPlayerDamaged(victim, attacker, weaponName) if victim and attacker and victim ~= attacker then local attackerPosition = attacker.Character and attacker.Character:FindFirstChild("HumanoidRootPart") local victimPosition = victim.Character and victim.Character:FindFirstChild("HumanoidRootPart") lastDamageDealer[victim.UserId] = { killer = attacker, weapon = weaponName or "Unknown Weapon", timestamp = os.clock(), attackerPos = attackerPosition and attackerPosition.Position, victimPos = victimPosition and victimPosition.Position } end end

DataStore Integration

local ok, saved = pcall(function() return store:GetAsync(player.UserId) end) if ok then lvl.Value = math.clamp(saved, 1, LevelService.MaxLevel) end -- Save player data on disconnect Players.PlayerRemoving:Connect(function(player) local lvl = player:FindFirstChild("leaderstats") and player.leaderstats:FindFirstChild("Level") if lvl then pcall(function() store:SetAsync(player.UserId, lvl.Value) end) end end)

Project Details

Role
Full-time UI Designer & Scripter
Duration
Ongoing Project
Team Size
5+ Developers
Platform
Roblox
Play Game

Technologies

Luau
Roblox Studio
UI Design
DataStore
Combat Systems
Asset Management

Key Features

  • Asset tracking loading screen
  • Real-time damage calculation
  • Kill attribution system
  • Multi-weapon loadouts
  • XP progression mechanics
  • Persistent player data
  • Combat state management
×