Language…
25 users online: Anas, AnunnakiGirl,  Atari2.0, CharlieUltra, CourtlyHades296, Fozymandias, furario, Green, King-Raze, mmmdoggy, Mohamad20ZX, Natsuz2, NewPointless, Papangu, playagmes169, SAMYR DUTRA ARAUJO,  Sayuri, Scags, signature_steve, Skewer, SMW Magic, steelsburg,  Telinc1, TheBubbster123, yoshisisland - Guests: 291 - Bots: 462
Users: 64,795 (2,369 active)
Latest user: mathew

What is LM programmed in?

I’m honestly just curious about this. Does anyone know what language LM is programmed in, and also if a source exists for LM. The reason I want to know is in my journey to learn more about programming, I wonder what the likelihood of me porting over a native Linux client for LM is. Although this is totally unnecessary since the windows native works fine through wine.
According http://fusoya.eludevisibility.org/graphics/desktop.jpg, it's coded in C++, maybe C++98.

Unfortunately Lunar Magic is closed-source, so no source code is available for it. But there's a lot of tools hosted on SMW Central that has source code included and you can take a look yourself, including some of my tools (other closed-source ones will eventually be open-source on future updates).
GitHub - Twitter - YouTube - SnesLab Discord
I was sorta guessing it was closed source. I couldn’t find anything on it when I just google searched lunar magic source code.

That definitely looks like a C based code. And also so strangely looks just like Doom’s ACS code. I know ActionScript and Cis very similar but it’s crazy how identical that looks. The whole switch case branch is identical.

Edit: Just noticed the file extension on the screenshot, so it’s C++

Edit 2: if I do get stuff ported and working natively on Linux and want to upload it here, what would be the best method of doing so? PMing the original author of the tool and letting him upload it or me upload it myself with credit given to the original author.
Since it's Closed Source and FuSoYa very likely won't share the source code with you, you won't be able to port it in the first place. At best, you might be able to rewrite it from scratch, in which case you would be the author of the new version and wouldn't need FuSoYa's permission to do anything with it at all.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
I got a long way to go before I would EVEN attempt recreating it from scratch. I’m just starting out learning more advanced languages, and this is only from learning GM code and DoomScript ACS, which that one in structure is similar to C++. I know very basic RGSS3 Ruby.

I wanna learn python and C++ and maybe JavaScript, but I can only learn through example and trial and error. that’s why I want to port stuff over. That’s one way I’ll be able to learn.
Learning this way isn't a bad idea, but as mentioned, Lunar Magic source code isn't available, so you can't port it to another platform. You will have to pick a different tool to port if you want to use this approach.

Of course there are different ways of learning, though. My own way of learning programming was to just try to achieve certain goals and get there step by step, solving problems on a small scale to slowly approach the overall goal. It's just important to pick something down-to-earth as a goal, something that sounds like it might be achieveable with a bit of learning. For example: programming a simple Tetris clone, programming a little tool that does certain things you need to get done anyways or just programming a tool that copies another (simple) tool's functionality. Something like that. Even if you don't manage to accomplish whatever goal you've set yourself, it will still be a valueable learning experience, so it definitely won't be a waste of time.

Personally, how I started getting a grasp of ASM was to just try and write an HP counter patch, which ended up being the first patch I ever released on here. Getting some experience from that, I next tried to write a VWF text system, which was a way bigger challenge, but I eventually managed to do it and got even more experience from this. Or when learning Pascal at school, what I did to get more experienced with it was to program a Tetris clone. It was a valueable experience.

Maybe some of those approaches might also help you in familiarizing yourself with your programming language of choice.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
At one point I programmed an ASM shop block system on here but that was years ago and I don’t even remember much of anything involving ASM.
I know one thing I want to do, whether it’ll be in C++ or python is trying to create an ASM notepad program to assist in ASM programming.

Edit: what are some of the best languages to start out with maybe? I’ve heard python is easy, and like I stated I think I could do C++ cause DoomScript ACS is structured very similarity to C++
The best way to start out programming is find a project you're passionate about and do that, whatever language it might be. For me, it was making games in C++ then hacking in SNES ASM, both considered very difficult languages for a beginner. I could learn them though since I was interested and willing to put effort in.
Originally posted by RedFoxGaming
I know one thing I want to do, whether it’ll be in C++ or python is trying to create an ASM notepad program to assist in ASM programming.


That does sound like a good and tangible project to familiarize yourself with programming. There will certainly be a few hurdles along the way, but that's more or less the point of an exercise. Anyways, what you'll be looking for is "GUI programming". "GUI applications" are what desktop applications like that are usually referred to.

Originally posted by RedFoxGaming
what are some of the best languages to start out with maybe? I’ve heard python is easy, and like I stated I think I could do C++ cause DoomScript ACS is structured very similarity to C++


Which programming language to learn really depends a lot on what you intend to do in the future. Want to program games? C and C++ are good languges for that. Want to program GUI applications? C# is pretty good for that. Want to make websites? You'll probably want to learn PHP and JavaScript. Want just an overall powerful language that can be used for a lot of different things and allows you to solve a lot of annoying tasks quickly? Python can probably do that.
Note that those aren't hard restrictions. For example: it's perfectly possible, and not too uncommon, to program games in C#. I have done so myself. C and C++ are just more commonly used for this, and if you happen to plan working as a game programmer in the future, you would likely need to learn C++ at some point.

As for a starting language, it's probably a good idea to go with something that is clean and beginner-friendly while also being useful, versatile and powerful. The language I tend to recommend to beginners is C#, because it is very clean, beginner friendly, versatile and yet also widely popular, which means it is actually used by a lot of companies and thus could raise your job chances if you plan to work as a programmer in the future. Additionally, C# is great for making GUI applications, so it would be ideal for the project you're thinking of doing.

I'm not sure if Python is actually "easy". I don't have much first-hand experience with it, but I think what people usually mean when they call it "easy" is that it is very powerful and versatile and that you can get quite a lot of things done with it in a short amount of time. It's definitely useful to learn at some point, but I'm not sure if it's ideal to pick as your first language, since its versatility also means that there's a bazillion ways to solve problems, and this could easily be too much for a beginner, something more focussed would probably be a better choice.

I'm not familiar with ACS at all, but I'm going to guess that its similarities are probably only in general syntactic structure. A lot of programming languages use a general structure like that, yet they're all very different once digging a bit deeper, and I'm going to assume the same is the case here. More precisely, I'm pretty sure that C++ is probably a lot more powerful and "dangerous" than ACS ("dangerous" in the sense that it's easy to make applications that crash). That being said, C++ is certainly useful to learn, but if you want to learn it, I reocmmend starting with C instead, since C++ is basically an evolution of C with a lot of features and complexity added on top of it. That can be very overwhelming for beginners, so it's not a bad idea to start with the more simple and straight-forward C before moving on to C++ once you're familiar with it.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Gonna chime in on the whole first language thing. I think RPG Hacker covered it pretty well, but I really would not recommend learning JavaScript as a first language, in case you were considering it. While it is basically essential for front end web development it is a horrible language to have to learn/work with in my opinion. The fact that it is dynamically and weakly typed makes it a very bad place to start learning, since it makes it quite hard to feel confident about your code which could be quite demotivating, especially if you're just starting out.
It is structurally the same. And some similarities in syntax. And it involves scripts running predefined functions or user defined functions. A script can be executed by the game engine itself. And I can make my own functions (similar to class in JavaScript)

A switch case and most of the for and while loops are identical, as is if, when, and else branches.

Ill pm you a code example to see if you think it’s simillar too when I get a chance.
Well, yeah, the syntax has a lot of similarities to C, but that was my point. A lot of programming languages have a similar general syntax (C, C++, C#, Java, JavaScript, GML etc.), but they're still very different in the details. The main difference here is probably going to be that C and C++ have direct memory access (which is also what most of the pitfalls are related to), I'm assuming that ACS doesn't have that since a game scripting language usually doesn't need something like that.

Don't get me wrong, though. This doesn't mean that knowing ACS wouldn't be useful for learning C/C++. From my own experience, mastering any programming language will make it easier for you to learn and adept to any other progamming language. While yeah, programming languages are very different in the details, almost all of them still have some amount of basic core functionality in common and being familiar with that in any programming language will always helpful in learning any other programming language. Honestly, the best way to see how similar or different two languages are is to just try them out. Just try playing around with C for a bit, maybe doing some beginner tutorials or something like that, that will give you a feel for the language.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
ACS and GML are by two most well known languages, and I can program a very basic game in Batch for whatever that’s worth. But you’re right, ACS doesn’t let me have direct memory access and what I can do with it is limited to the game engine itself.

I could try doing an application in GML too and see how that works. I’ve never tried to develop an app in GML but I own GameMaker Studio with every export option.

Thank you all for your opinions on my questions I have to admit. This community did get friendlier in the past years I was gone.
I'm sure that's C++ (C++98)
Nitrocell Presents - ASM is priority.


IN PROGRESS