• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 05:24
CEST 11:24
KST 18:24
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
ByuL, and the Limitations of Standard Play1Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview8
Community News
[TLMC] Summer 2026 Ladder Map Rotation05.0.16 patch for SC2 goes live (8 worker start)75ZeroSpace at Steam NextFest - Last free demo31Weekly Cups (June 8-14): Clem and Solar double, PTR tested0RSL: S6 Finals played at BlizzCon 202611
StarCraft 2
General
5.0.16 patch for SC2 goes live (8 worker start) Is the larve respawn broken? The Death of Cheese: From a Professional Cheeser Mizenhauer's Douyu Cup Preview ByuL, and the Limitations of Standard Play
Tourneys
Douyu Cup 2026: $20,000 Legends Event (June 26-28) Maestros of The Game 2 announcement and schedule ! RSL Revival: Season 6 - Qualifiers and Main Event INu's Battles#17 <BO.9> Sparkling Tuna Cup - Weekly Open Tournament
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 531 Experimental Artillery Mutation # 530 One For All Mutation # 529 Opportunities Unleashed
Brood War
General
ASL 22 Proposed Map Pool Farewell Beloved Starcraft (Youtube Videos) BW General Discussion vespene.gg — BW replays in browser Quality of life changes in BW that you will like ?
Tourneys
[ASL21] Grand Finals [Megathread] Daily Proleagues The Casual Games of the Week Thread [BSL22] GosuLeague Casts - Tue & Thu 22:00 CEST
Strategy
Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies Why doesn't anyone use restoration?
Other Games
General Games
Nintendo Switch Thread Path of Exile Stormgate/Frost Giant Megathread Beyond All Reason ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
The Games Industry And ATVI US Politics Mega-thread Canadian Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023 McBoner: A hockey love story Cricket [SPORT]
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
Listen To The Coaches!
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12751 users

Custom map/ UMS creators wanted - Page 3

Forum Index > BW General
Post a Reply
Prev 1 2 3 4 5 Next All
Freakling
Profile Joined October 2012
Germany1534 Posts
Last Edited: 2017-04-27 19:22:32
April 27 2017 17:38 GMT
#41
Maybe your tool is marketed more toward people who don't really make maps much, or have never really made a map before, or who are making a completely new map. If so, I'll back off a bit. But if you want established mapmakers to use this, it needs to be able to work with the things that people have already done.


If the triggers are already written for a map, you certainly don't need any tools for that any more. However, when any one, including you, starts any new map from scratch...

I understand. I come from a programming background where we're drilled that "the compiler knows better" from day 1, it's like a mantra (and it's mostly true given a decent enough compiler, which mine most likely ain't yet).


A good compiler for a sufficiently complex program, certainly. The issue is more that UMS map makers are used to writing all their stuff in assembler, and they don't want to rewrite any code that ain't broken ;D
Also, there is the issue that when memory is very limited (not just data memory but also the memory the program itself takes up, in this case meaning there is a trigger limit to a map), assembler might just be the best choice... So to run with the analogy, you should probably include the option for the super-geeks to use some inline assembler...
KhaosKreator
Profile Joined April 2009
Canada145 Posts
April 27 2017 18:34 GMT
#42
On April 27 2017 21:57 integral wrote:
Maybe your tool is marketed more toward people who don't really make maps much, or have never really made a map before, or who are making a completely new map. If so, I'll back off a bit. But if you want established mapmakers to use this, it needs to be able to work with the things that people have already done.

But established mapmakers make completely new maps all the time?

Having the compiler use available unused memory by default is obviously the way to go. You just have to make sure there are advanced options for people that want to manage that themselves.
Kyrie, Ignis Divine, Eleison
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 01:32:15
April 27 2017 21:46 GMT
#43
I've pushed a new version with a much cleaned-up internal code representation with hopefully way less codegen bugs. If something didn't work as it should before, hopefully it works now.

An example of the new rnd256() function.

#define LUCKY_NUMBER 90

countdown(Exactly, 0) => {
set_countdown(2 + rnd256() / 80);

if (rnd256() >= LUCKY_NUMBER) {
print("lucky you");
spawn(TerranMarine, Player1, 1 + rnd256() / 40, "TestLocation");
order(TerranMarine, Player1, Attack, "TestLocation", "TestLocation2");
} else {
print("try again next time");
spawn(TerranMarine, Player2, 1 + rnd256() / 40, "TestLocation2");
order(TerranMarine, Player2, Attack, "TestLocation2", "TestLocation");
}
}

fn main() {
while(true) {
poll_events();
}
}


Also template functions:


fn spawn_units<T>(T, qty) {
talking_portrait(T, 5);
spawn(T, Player1, qty, "TestLocation");
order(T, Player1, Move, "TestLocation", "TestLocation2");
}

fn main() {
spawn_units(TerranMarine, 5);
}

kane]deth[
Profile Joined October 2009
Canada368 Posts
April 28 2017 01:04 GMT
#44
Just wanna chime in and say it's really really cool what you're doing here. I've never made any detailed maps before, but as a programmer knowing I can make cool advanced maps using code instead of having to learn about the trigger system and manipulating death counters is really enticing. I'm going to take a look at this soon!
integral
Profile Blog Joined February 2009
United States3161 Posts
Last Edited: 2017-04-28 03:05:06
April 28 2017 03:03 GMT
#45
On April 28 2017 02:38 Freakling wrote:
Show nested quote +
Maybe your tool is marketed more toward people who don't really make maps much, or have never really made a map before, or who are making a completely new map. If so, I'll back off a bit. But if you want established mapmakers to use this, it needs to be able to work with the things that people have already done.


If the triggers are already written for a map, you certainly don't need any tools for that any more. However, when any one, including you, starts any new map from scratch...


On April 28 2017 03:34 KhaosKreator wrote:
But established mapmakers make completely new maps all the time?



What? Even for maps I've already completed, I still use tools to update and edit it... Even if I didn't, this isn't actually relevant to what I was saying, because even in new maps I still copy and paste from what I've done in the past. The whole point of a program like this is to save time.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 14:30:06
April 28 2017 12:35 GMT
#46
The last big limitation is now lifted. You no longer need a reserved player at all. The "unused" unit death counters for all players are mapped by default. This gives us 416 memory locations to work with which should be more than enough for the default configuration. You can still pass a registers file with --reg to override it.

I still need a list of the names of all AI scripts if anyone has such a thing. Otherwise I'll just export a map from scmdraft 2 and extract them manually but it'd be nice to not have to.
integral
Profile Blog Joined February 2009
United States3161 Posts
April 28 2017 16:07 GMT
#47
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 16:21:30
April 28 2017 16:15 GMT
#48
On April 29 2017 01:07 integral wrote:
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.


I'd love to join that community but the website is really really slow for me for some reason (10-20 secs to load a page). I had to clone the wiki locally so I can work without waiting forever.
integral
Profile Blog Joined February 2009
United States3161 Posts
April 28 2017 16:59 GMT
#49
On April 29 2017 01:15 nlight wrote:
Show nested quote +
On April 29 2017 01:07 integral wrote:
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.


I'd love to join that community but the website is really really slow for me for some reason (10-20 secs to load a page). I had to clone the wiki locally so I can work without waiting forever.


Yeah. It's a long-running joke how slow it is.
nlight
Profile Joined October 2011
Bulgaria58 Posts
April 28 2017 17:40 GMT
#50
TMCu - TerranCustomLevel
ZMCu - ZergCustomLevel
PMCu - ProtossCustomLevel
TMCx - TerranExpansionCustomLevel
ZMCx - ZergExpansionCustomLevel
PMCx - ProtossExpansionCustomLevel
TLOf - TerranCampaignEasy
TMED - TerranCampaignMedium
THIf - TerranCampaignDifficult
TSUP - TerranCampaignInsane
TARE - TerranCampaignAreaTown
ZLOf - ZergCampaignEasy
ZMED - ZergCampaignMedium
ZHIf - ZergCampaignDifficult
ZSUP - ZergCampaignInsane
ZARE - ZergCampaignAreaTown
PLOf - ProtossCampaignEasy
PMED - ProtossCampaignMedium
PHIf - ProtossCampaignDifficult
PSUP - ProtossCampaignInsane
PARE - ProtossCampaignAreaTown
TLOx - ExpansionTerranCampaignEasy
TMEx - ExpansionTerranCampaignMedium
THIx - ExpansionTerranCampaignDifficult
TSUx - ExpansionTerranCampaignInsane
TARx - ExpansionTerranCampaignAreaTown
ZLOx - ExpansionZergCampaignEasy
ZMEx - ExpansionZergCampaignMedium
ZHIx - ExpansionZergCampaignDifficult
ZSUx - ExpansionZergCampaignInsane
ZARx - ExpansionZergCampaignAreaTown
PLOx - ExpansionProtossCampaignEasy
PMEx - ExpansionProtossCampaignMedium
PHIx - ExpansionProtossCampaignDifficult
PSUx - ExpansionProtossCampaignInsane
PARx - ExpansionProtossCampaignAreaTown
Enmy - SetPlayerToEnemy
Ally - SetPlayerToAlly
VluA - ValueThisAreaHigher
EnBk - EnterClosestBunker
EnTr - EnterTransport
ExTr - ExitTransport


I made a list of all AI script names if anyone is interested in it for whatever reason.
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-28 21:40:50
April 28 2017 21:33 GMT
#51
There is now a way to spawn units with properties. I think it is more flexible (?) than scmdraft or staredit as you can reuse CUWP slots for different unit types and they're quite scarce at 64 max. More info in the README here - https://github.com/AlexanderDzhoganov/langums#spawning-units-with-properties

Example:

unit LurkerType1 {
Health = 10,
Burrowed = true
}

fn main() {
spawn(ZergLurker, Player1, 1, "TestLocation", LurkerType1);
}
Glenstorm
Profile Joined January 2009
United States69 Posts
Last Edited: 2017-04-29 05:12:25
April 29 2017 05:04 GMT
#52
Just pushed an update to my vscode extension which adds in code completion on intrinsics, and gets up to date with the mammoth pile of new functionality in langums.

Some future features I might be looking at are filling in intellisense when working with intrinsic functions, and scanning the .scx file for locations and exposing those to autocomplete (if I figure out a friendly cross-platform way of distributing libmpq, might poke around asm.js).

Btw, you're a monster nlight, it's taking a pretty big chunk of my post-work free time just to keep up with your language updates
tec27
Profile Blog Joined June 2004
United States3702 Posts
April 29 2017 05:09 GMT
#53
On April 29 2017 14:04 Glenstorm wrote:
Just pushed an update to my vscode extension which adds in code completion on intrinsics, and gets up to date with the mammoth pile of new functionality in langums.

Some future features I might be looking at are filling in intellisense when working with intrinsic functions, and scanning the .scx file for locations and exposing those to autocomplete (if I figure out a friendly cross-platform way of distributing libmpq).

Btw, you're a monster nlight, it's taking a pretty big chunk of my post-work free time just to keep up with your language updates

You might be interested in: https://github.com/neivv/bw-chk

Probably doesn't get you all the way there (it's missing a lot of the stuff that'd probably be useful for you to auto-complete), but gets you much closer without using any native code, and is open for contributions if you'd like to add things
Can you jam with the console cowboys in cyberspace?
Glenstorm
Profile Joined January 2009
United States69 Posts
April 29 2017 05:22 GMT
#54
Looks like that plus your https://github.com/ShieldBattery/scm-extractor should get me there. VSCode is built on a node.js stack so I wont even have to deal with interop Thanks!
Freakling
Profile Joined October 2012
Germany1534 Posts
April 29 2017 09:35 GMT
#55
On April 29 2017 02:40 nlight wrote:
+ Show Spoiler +
TMCu - TerranCustomLevel
ZMCu - ZergCustomLevel
PMCu - ProtossCustomLevel
TMCx - TerranExpansionCustomLevel
ZMCx - ZergExpansionCustomLevel
PMCx - ProtossExpansionCustomLevel
TLOf - TerranCampaignEasy
TMED - TerranCampaignMedium
THIf - TerranCampaignDifficult
TSUP - TerranCampaignInsane
TARE - TerranCampaignAreaTown
ZLOf - ZergCampaignEasy
ZMED - ZergCampaignMedium
ZHIf - ZergCampaignDifficult
ZSUP - ZergCampaignInsane
ZARE - ZergCampaignAreaTown
PLOf - ProtossCampaignEasy
PMED - ProtossCampaignMedium
PHIf - ProtossCampaignDifficult
PSUP - ProtossCampaignInsane
PARE - ProtossCampaignAreaTown
TLOx - ExpansionTerranCampaignEasy
TMEx - ExpansionTerranCampaignMedium
THIx - ExpansionTerranCampaignDifficult
TSUx - ExpansionTerranCampaignInsane
TARx - ExpansionTerranCampaignAreaTown
ZLOx - ExpansionZergCampaignEasy
ZMEx - ExpansionZergCampaignMedium
ZHIx - ExpansionZergCampaignDifficult
ZSUx - ExpansionZergCampaignInsane
ZARx - ExpansionZergCampaignAreaTown
PLOx - ExpansionProtossCampaignEasy
PMEx - ExpansionProtossCampaignMedium
PHIx - ExpansionProtossCampaignDifficult
PSUx - ExpansionProtossCampaignInsane
PARx - ExpansionProtossCampaignAreaTown
Enmy - SetPlayerToEnemy
Ally - SetPlayerToAlly
VluA - ValueThisAreaHigher
EnBk - EnterClosestBunker
EnTr - EnterTransport
ExTr - ExitTransport


I made a list of all AI script names if anyone is interested in it for whatever reason.

You are still missing a lot of them. Those are just the standard StarEdit accessible ones. There are also all the Campaign scripts some spell scripts (recall/Dweb/nuke here, load nuclear silo), scripts that handle some unit spawns in some of the campaign missions, the all-so-important junkyard dog script (makes any unit move around like a critter), the vision scripts, and you even seem to have missed the suicide mission scripts.
Basically, have a look in SCMDraft, it can access all of them, to get the full list.
JungleTerrain
Profile Joined January 2012
Chile799 Posts
April 29 2017 09:49 GMT
#56
On April 29 2017 01:59 integral wrote:
Show nested quote +
On April 29 2017 01:15 nlight wrote:
On April 29 2017 01:07 integral wrote:
Good stuff. I think asking on TL for specific things like AI scripts won't be as likely to get a response as asking on staredit.net.


I'd love to join that community but the website is really really slow for me for some reason (10-20 secs to load a page). I had to clone the wiki locally so I can work without waiting forever.


Yeah. It's a long-running joke how slow it is.


Besides not really being a UMS mapmaker, this is one of the reasons I try to stay away from Staredit.net lol. But for me it's like 1-2 mins to load a page. My god it is horrible. So frustrating lol.

However I find it funny that some of the smartest guys in BW use such a slow website.
www.broodwarmaps.net
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-29 10:53:42
April 29 2017 10:52 GMT
#57
You are still missing a lot of them. Those are just the standard StarEdit accessible ones. There are also all the Campaign scripts some spell scripts (recall/Dweb/nuke here, load nuclear silo), scripts that handle some unit spawns in some of the campaign missions, the all-so-important junkyard dog script (makes any unit move around like a critter), the vision scripts, and you even seem to have missed the suicide mission scripts.
Basically, have a look in SCMDraft, it can access all of them, to get the full list.


I dumped these from scmdraft by using the Classic Triggers editor. Maybe they're not all listed there? Give me some hints where to look.

code completion on intrinsics, and gets up to date with the mammoth pile of new functionality in langums.


Awesome!

Btw, you're a monster nlight, it's taking a pretty big chunk of my post-work free time just to keep up with your language updates


Don't worry this won't be for too long, I'm almost done with the core features
fazek42
Profile Blog Joined April 2011
Hungary438 Posts
April 29 2017 11:19 GMT
#58
You guys are total beasts :O
Glenstorm
Profile Joined January 2009
United States69 Posts
April 29 2017 13:29 GMT
#59
What's the strategy for handling multi-condition events? I was working on some demo code where I found myself wanting to do the trigger equivalent of "Player 1 brings 1 civ to location and has >=100 minerals" and I haven't seen anything setup like that in the tests. Some syntaxes I imagined where nested lambdas, using one condition as an if inside the other, or some weird bring(...) && accumulate(...) => { } setup.

I've been poking around with snippets and in all likelihood I have to make the event snippets a bit less aggressive at setting up syntax for you, if they're viable in stuff like if statements.
[image loading]
nlight
Profile Joined October 2011
Bulgaria58 Posts
Last Edited: 2017-04-29 18:05:06
April 29 2017 14:32 GMT
#60
On April 29 2017 22:29 Glenstorm wrote:
What's the strategy for handling multi-condition events? I was working on some demo code where I found myself wanting to do the trigger equivalent of "Player 1 brings 1 civ to location and has >=100 minerals" and I haven't seen anything setup like that in the tests.


You can specify more than one condition per event handler separated by commas (up to 63 total), it's actually in the examples in the README. I will add some to the tests as well. For your case it would look like:


bring(Player1, AtLeast, 1, TerranCivilian, BuyMarines),
accumulate(Player1, AtLeast, 100, Minerals) => {
take_resource(Player1, Minerals, 100);
}


That code completion gif is really cool, nice job.

On a sidenote, LangUMS now supports 100% of the built-in trigger conditions & actions in the game. Now I'm starting to expand into new territory. The first addition is the is_present(Player) function which tells you if a player (or players) is currently present in the game.


if (is_present(Player3)) {
print("Player 3 is in the game.");
}


You can also use it to get the number of players in-game at the moment like this:


var playerCount = is_present();


Everyone who is actively trying out, testing, using, doing whatever with the tool please join the discord here - https://discord.gg/TNehfve so we can talk in real time.
Prev 1 2 3 4 5 Next All
Please log in or register to reply.
Live Events Refresh
Douyu Cup 2020
05:00
2026 - Day 3
WardiTV1058
Ryung 931
RotterdaM357
CranKy Ducklings290
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Ryung 931
RotterdaM 357
ProTech143
SortOf 96
StarCraft: Brood War
Larva 312
Soma 280
Leta 228
BeSt 142
ggaemo 63
Mind 58
Sharp 27
soO 25
Aegong 25
Killer 21
Dota 2
XaKoH 458
Counter-Strike
kRYSTAL_111
Heroes of the Storm
Khaldor178
Other Games
Pyrionflax106
crisheroes61
Organizations
Other Games
gamesdonequick707
StarCraft: Brood War
lovetv 14
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 12 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP16
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos2531
Upcoming Events
Maestros of the Game
3h 6m
herO vs Classic
Maru vs Serral
BSL22 NKC (BSL vs China)
4h 36m
Bonyth vs TerrOr
eOnzErG vs Dewalt
XuanXuan vs TBD
Douyu Cup 2020
19h 36m
BSL22 NKC (BSL vs China)
1d 4h
Mihu vs TBD
Online Event
1d 5h
RSL Revival
1d 16h
WardiTV Weekly
2 days
RSL Revival
3 days
RSL Revival
3 days
Bombastic Starleague
3 days
[ Show More ]
Kung Fu Cup
4 days
OSC
4 days
CrankTV Team League
5 days
Bombastic Starleague
5 days
Replay Cast
5 days
The PondCast
6 days
HomeStory Cup
6 days
Replay Cast
6 days
Liquipedia Results

Completed

CSL Season 21: Qualifier 1
WardiTV Spring 2026
Heroes Pulsing #2

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
BSL 22 Non-Korean Championship
CSL Season 21: Qualifier 2
SCTL 2026 Spring
Douyu Cup 2026
Maestros of the Game 2
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026

Upcoming

CSL 2026 Summer (S21)
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
BCC 2026
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E1
Heroes Pulsing #3
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.