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.
[12:50 am]
MTiger156 -- Could try an automatic difficulty scaling based on player count. Turning down enemy HP and damage via EUD, or reducing enemy count?
[07:59 pm]
Ultraviolet -- Ya I heard that watching the vid, too. Was considering submitting Impossible Ultraviolet, but it's only technically playable with one person.. in practice playing with one person would be terrible
[05:52 pm]
MTiger156 -- Oh, the full rules for submissions only appear in the Discord server. "Single Player Only" is a big oof since I'm only good at multiplayer concepts. However I will inquire about trying a multiplayer PvE concept that can be fully played and won alone.
[10:34 am]
C(a)HeK -- greetings all, test #7 is complete :)
[08:10 am]
Ultraviolet -- you all talk Tiger :P
[03:33 am]
MTiger156 -- Holy shit, this "Maporino! 2021" event that just got announced... this is something that takes place every year? Damn I wish I knew about it sooner, this can be my huge breakthrough in motivation :0_0:
[2021-2-26. : 7:23 am]
C(a)HeK -- thank you!
[2021-2-26. : 5:14 am]
C(a)HeK -- hello all, test 6 is complete - http://www.staredit.net/topic/18203/ :)
[2021-2-26. : 3:09 am]
RdeRenato -- yes
[2021-2-25. : 2:55 pm]
MTiger156 -- General Kenobi
Please log in to shout.


Members Online: armitage, Roy