Golf. But with Mortars. And Combat. And Golf Carts.
MortarGolf is a wacky take on traditional golf where you use mortars to shoot your way through 9 holes, drive golf carts across the battlefield, and fend off opponents trying to disrupt your perfect backswing. Speed matters, accuracy matters, and survival definitely matters.
Imagine golf, but instead of a golf ball, you're shooting mortars. Instead of a golf cart, you're driving a military vehicle. Instead of peaceful putting greens, you're dodging gunfire from other players. That's MortarGolf.
- Type: Team-based competitive golf with combat
- Players: 1-32 players (Recommended: 4-16)
- Teams: Up to 4 teams of 1-2 players (golfer + caddy)
- Duration: 9 holes (18-hole expansion planned)
- Maps: Firestorm (more maps planned)
- Mortar-Based Golf: Use mortars with adjustable power, angle, and spin to reach the green
- Combat Golf: Shoot at opponents during their shots to disrupt them (but watch out for their caddy!)
- Speed Factor: Time matters - fastest completion earns more money
- Shop System: Buy weapons, armor, and upgrades between holes
- Caddy System: AI or player-controlled caddies provide support, defense, and revives
- Career Tracking: Generate a passcode at the end of each round to track your career on an external website
- โณ 9-Hole Golf Course - Designed on Battlefield's Firestorm map
- ๐ฏ Mortar Shot Mechanics - 3-click shot meter (backswing, power, follow-through)
- ๐๏ธ Putting System - Dart-based putting with randomized targets when you reach the green
- ๐ Golf Cart Combat - Drive jeeps/humvees between shots while avoiding enemy fire
- ๐ค Caddy System - AI or player caddies defend you and revive you when downed
- โฑ๏ธ Time-Based Scoring - Speed bonuses for completing holes quickly
- ๐ Dual Scoring - Traditional golf score + time-based performance
- ๐ฐ Money System - Earn currency based on performance
- ๐ Leaderboards - Live leaderboards during play
- ๐๏ธ Achievements - Track career accomplishments
- ๐ Career Passcodes - Persist stats across matches via external website
- ๐ Between-Hole Shop - Purchase upgrades, weapons, ammo, and armor
- ๐ฒ Random Items - Shop inventory rotates, offering different items each hole
- โ๏ธ Weapon Variety - Customize your loadout for combat and defense
- ๐ Cart Upgrades - Improve your vehicle's speed and durability
- ๐จ Customization - Unlock collectibles and cosmetics in the Pro Shop
- ๐๏ธ Tee Times - Schedule matches with other players
- ๐ฏ Driving Range - Practice your shot mechanics
- ๐ฅ Pro Shop - Social hub, leaderboards, and collectible shop
- ๐ Spectator Mode - Watch other foursomes from the gallery
- ๐ฌ In-Game Chat - Communicate with teammates and opponents
- Matchmaking - Form a foursome (4 players with optional caddies)
- Tee Off - All players address their "ball" (mortar) simultaneously
- The Drive - Navigate to your next shot location while fending off opponents
- The Approach - Take subsequent shots to reach the green
- The Putt - Use the dart-based putting system to sink your shot
- Shopping - Spend earned money on equipment for the next hole
- Next Hole - Repeat until all 9 holes are complete
- Tournament End - Final scores, podium, and career passcode generation
- Select your club (driver, iron, wedge, putter)
- Adjust aim direction
- Set launch angle
- Apply spin (hook/slice/backspin/topspin)
- Click 1: Start backswing
- Click 2: Determine shot power (meter-based)
- Click 3: Determine accuracy (hook/slice based on timing)
- Lie Type: Fairway (normal), Rough (reduced power), Tee Box (enhanced)
- Wind: Directional wind affects trajectory
- Obstacles: Navigate around or through destructible obstacles
- Combat: Getting hit during your shot can ruin your aim
- During Driving: Full combat enabled while navigating between shots
- During Shots: You're vulnerable, but your caddy provides cover
- Death Penalty: +1 stroke and respawn at last position
- Caddy Revive: Caddies can revive downed golfers
- Caddy Death: Temporary respawn delay
- Strokes taken to complete the hole
- Compared to par (under par = birdie, eagle, etc.)
- Lower is better
- Total time to complete the hole
- Faster times earn more money
- Used as tiebreaker
- Winner has the best golf score
- Ties broken by fastest time
- Money earned based on both factors
- Launch Battlefield 6
- Navigate to Portal Mode
- Search for "MortarGolf" in the server browser
- Join a Server or create your own with the MortarGolf ruleset
- Open BF6 Portal Editor
- Import MortarGolf.ts from this repository
- Configure Settings (player count, round duration, etc.)
- Publish Server and share with friends
- Join a Server - Find a MortarGolf server in the browser
- Select Role - Choose to be a golfer or caddy
- Wait for Tee Time - Matchmaking will form foursomes
- Accept Rules - Read and accept the game rules
- Get to Your Cart - Spawn and drive to the first tee
| Action | Input |
|---|---|
| Aim Shot | Mouse/Right Stick |
| Adjust Power | Click/Trigger (timing based) |
| Adjust Angle | Mouse Wheel/D-Pad |
| Apply Spin | WASD/Left Stick |
| Select Club | Number Keys/Bumpers |
| Enter Cart | E/Interact |
| Exit Cart | E/Interact |
| Shoot Weapon | Left Click/Right Trigger |
| Revive Teammate | Hold E/Hold Interact |
| Open Shop | Auto-opens between holes |
- Drive Smart: Faster routes aren't always safer
- Protect Your Shot: Position your caddy strategically
- Manage Money: Save for important holes, splurge when needed
- Read the Wind: Check wind direction before every shot
- Know Your Clubs: Use the right tool for the distance
- Speed vs. Safety: Decide when to rush and when to take your time
- Combat Timing: Disrupt opponents during their backswing for maximum effect
mods/MortarGolf/
โโโ src/ # Source files (multi-file development)
โ โโโ types.ts # Type definitions
โ โโโ constants.ts # Configuration
โ โโโ state.ts # Global state
โ โโโ helpers.ts # Utility functions
โ โโโ ui.ts # UI components
โ โโโ player.ts # Player management
โ โโโ messages.ts # Message system
โ โโโ gameflow.ts # Game flow logic
โ โโโ updates.ts # Update loops
โ โโโ events.ts # Event handlers
โโโ DOCS/ # Documentation
โ โโโ BF6_SDK.md # SDK documentation
โ โโโ BUILD_SYSTEM.md # Build system guide
โ โโโ common_checklist.md # Development checklist
โ โโโ dev_guidelines.md # Coding guidelines
โโโ llm/ # LLM development files
โ โโโ brief.md # Project brief
โ โโโ todo.md # Task list
โ โโโ memory.md # Dev progress tracking
โ โโโ prompts.md # Useful prompts
โโโ build.config.json # Build configuration
โโโ MortarGolf.ts # Generated single-file output
โโโ CHANGELOG.md # Version history
โโโ README.md # This file
npm install
# Watch for changes and auto-rebuild npm run watch:mortar # Or build once npm run build:mortar
The build system combines all src/*.ts files into a single MortarGolf.ts file ready for BF6 Portal.
- Read the Brief (
llm/brief.md) - Understand the game design - Follow Guidelines (
llm/dev_guidelines.md) - Code standards and patterns - Track Progress (
llm/todo.md) - Granular task list - Document Decisions (
llm/memory.md) - Keep notes on progress - Update Changelog (
CHANGELOG.md) - Log all changes - Build & Test - Use watch mode during development
- Commit - Commit both source files and generated output
- Language: TypeScript
- SDK: Battlefield 6 Portal SDK
- Build System: Custom Node.js builder
- Mod Library:
modlib(BF6 utility library)
We welcome contributions! Here's how you can help:
- Check existing issues first
- Create a new issue with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- Screenshots/videos if applicable
- Open an issue with the
enhancementlabel - Describe the feature and why it would be valuable
- Include mockups or examples if possible
- Fork the Repository
- Create a Branch (
git checkout -b feature/AmazingFeature) - Follow Dev Guidelines (see
llm/dev_guidelines.md) - Make Changes in
src/files, not the generated output - Test Thoroughly
- Build (
npm run build:mortar) - Commit (
git commit -m 'Add some AmazingFeature') - Push (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow existing patterns in
dev_guidelines.md - Use TypeScript types appropriately
- Comment complex logic
- Keep functions small and focused
- Test with multiple player counts
- Project setup and documentation
- Core type definitions complete
- Constants and configuration complete
- Basic single-hole gameplay
- Shot mechanics (mortar system)
- Simple scoring
- Basic UI
- Full 9-hole course
- Advanced shot mechanics (spin, lie effects)
- Shop system
- Combat mechanics
- AI caddy system
- Multiple foursome support
- Complete feature set
- Pro shop & career tracking
- Driving range
- Full polish (VFX, SFX, UI)
- Comprehensive testing
- 32-player support
- 18-hole courses
- Additional maps
- Tournament modes
- Skins game
- Procedural obstacles
- Enhanced social features
This project is licensed under the MIT License - see the LICENSE file for details.
Note: This mod requires Battlefield 6 and is built using the official BF6 Portal SDK. All Battlefield assets and trademarks are property of EA/DICE.
- Name: CompewterTutor
- Email: compewtertutor@gmail.com
- GitHub: @compewtertutor
- Repository: github.com/compewtertutor/mortargolf
- Issues: github.com/compewtertutor/mortargolf/issues
- Discussions: github.com/compewtertutor/mortargolf/discussions
- Join the discussion in Issues
- Share your best rounds
- Submit course ideas
- Report bugs and suggest features
- EA/DICE - For Battlefield 6 and the Portal SDK
- BF6 Portal Community - For inspiration and feedback
- Official Game Modes - Vertigo, BombSquad, AcePursuit, Exfil for reference patterns
(Coming soon - screenshots and gameplay videos will be added as development progresses)
Ready to tee off? Find a MortarGolf server in Battlefield 6 Portal and start your golf career!
Par for the course has never been this explosive. โณ๐ฅ
Last Updated: October 17, 2025 Version: 0.1.2