Staredit Network > Forums > SC1 Mapping Tools > Topic: [Compiler] Programming Language - SCUMSLang
[Compiler] Programming Language - SCUMSLang
Feb 4 2021, 2:13 am
By: Teroneko  

Feb 4 2021, 2:13 am Teroneko Post #1



Hello,

I am currently working on an own compiler named SCUMSLang (pronounced S-C-U-M-S-Lang).
The project, the upcoming binaries and also the source code can you view at https://github.com/SCUMSLang/SCUMSLang (MIT).
But you can also join the SCUMSLang community server at discord (who is first? :P).

I want to supersede LangUMS (https://github.com/LangUMS/langums) because it has some limitations and minor bugs. The greatest limitation is actual a design decision. LangUMS lets fire triggers in a huge "queue"/"state machine"/"pipeline" so every trigger of any player is dependent on another trigger. When a trigger needs more time than other, it will affect its following triggers negatively. So my vision is to implement triggers in many "queues"/"state machines"/"pipelines" so it won't affect other player's triggers. Moreover I want to implement a sleep method that takes advantage of hyper triggers/complex hyper triggers.

Approximately Features of SCUMSLang (✅ means implemented)
  • Pretty the same features like LangUMS
  • Written in C# (✅)
  • Independable state machines but dependent on those they have to be
  • Enum types (e.g. Player.Player1, Player.Force1 and so on) (✅)
  • Statically types (e.g. int, short, byte, bool, string, or concrete enum type) (✅)
  • Integer pool with overflow detection
  • Function overloading (✅)
  • Side effectless sleep()
  • Better IDE integration with in-code API documentation
  • Chocolatey (package manager) support

My motivation is to create a new complex CPU Mouse map without partially digging into SCMDraft and put some triggers inside to make triggers to work that got procuded by LangUMS. For example is the mathematical "while (randomLocation > 64) { randomLocation = randomLocation - 64; }"-expression somewhat slow and delays all following triggers like spawning SCV Dropper when you build a Protoss Nexus in-between the delay. There is also the straaaaaange bug, that my Protoss Probe is sometimes stucking in Protoss Pylon because of such delays. Here a reference to the CPU Cat map I am talking about: CPU Cat Revival.

The current state of the project is not usable but I really would like to hear your opinion about the project! :)

Post has been edited 8 time(s), last time on Feb 17 2021, 2:14 pm by Teroneko.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[02:18 am]
Oh_Man -- Close enuf
[04:14 pm]
Vrael -- perhaps there is a small professional player trapped in a box in the server rack where pluto is running? hmm?
[04:14 pm]
Vrael -- 240*12*2 is 5760, where is the other 240 APM?
[03:44 pm]
Oh_Man -- 1 action is selecting the unit and another action is moving it
[02:58 pm]
Vrael -- 240*12 is 2880, where is the other 3000 APM?
[02:55 pm]
Oh_Man -- another arty stream
[02:49 pm]
Oh_Man -- it doesnt need maphack. the person who stole it and is using it on the ladder is using it with maphack. all its training was done with normal fog of war
[01:28 pm]
NimoStar -- Unless specifically logged and retrained. But that wasn't in the original version. It just played itself
[01:28 pm]
NimoStar -- it has a static training, which is converted into weights. it doesn't actually learn from new games.
Please log in to shout.


Members Online: lifebot, UndeadStar, NudeRaider