I don’t think you can import Unity projects. Unity is a 3d game engine, while Arcade is 2d. There are projects that make the illusion of a 3d area, but I don’t think you can take the code from Unity and put it in Arcade.
There is a way to use C++, but I wouldn’t recommend it. We mostly just use C++ for interfacing with hardware and you can’t author it in the editor (you need to use the CLI). Plus your C++ code wouldn’t run in the browser, only on hardware.
I did try to make an AI tho but i failed.
Actually I don’t know about C language.
Looks like the constraint is the engine (exposed APIs), not the programming language?
- The game engine they are using is written in C# (like monogame) or C++
- They need to write something that is very performance intensive (like graphics or shaders)
In my opinion, C++ is one of the most difficult languages to learn and use. It’s a programming language that was created 35 years ago and we’ve learned a lot about how to make programming languages better since then!
If you are just starting out, I would suggest not worrying too much about the language that you are learning. The good news is that once you’ve mastered a programming language it becomes much easier to learn a new one.
Anyways, that’s just my opinion and I’m a little biased as a member of the MakeCode team
@Nobrain, you’re definitely right that the majority of games, especially large commercial games, are made in C# and C++. And game engines like Unity, Unreal and others definitely let you make more advanced games than Arcade does today and I’d highly recommend checking out other engines if you feel motivated! Personally, I think Unity stikes a nice balance between power and learnability. (I can highly recommend the “Brakeys” YouTube channel as a good place to start.)
The reason MakeCode Arcade games today are comparatively “simple and light” as you said are likely due to one of two things:
- Arcade’s hardware orientation. Like you mentioned, you can take Arcade games onto small and relatively cheap hardware devices. Most games made in Unity or Unreal would be unable to be loaded onto hardware any smaller than say a Switch. In order to target these smaller devices, Arcade has a number of limitations like the screen size, 16 colors, and limited buttons. (Note that hardware isn’t the only reason Arcade has these limitations. We also believe that these limits make creating games more approachable and less overwhelming.)
- Arcade’s youngness. Arcade is still in it’s very early stages as a game engine especially compared to popular engines like Unity and Unreal. Many of the limitations you might run into today, we’re very interested in addressing and are totally achievable within the bounds of Arcade. Old GameBoy games could be deep and content rich and there’s no reason Arcade games can’t be too.
This definitely sounds like a bug or limitation with Arcade that should be addressable. Would you be able to share with us the AI code you wrote that didn’t work as expected? There’s a good chance we can fix the bugs in our engine or at least remember them as future work.
But actually it was a very long code, and i deleted it and the character. Then I tried tried to make a different character with lighter coding.( It was actually really long because it was supposed to be an enemy who lived his own life, he could hunt, sleep, and other stuff based on variables, like tired level which increases while moving, or hunger level which increased while not eating, that when it reached a limit, the character would get more aggressive, and later he would die. The code was very hard to make and it took like two weeks. But it started to glitch when I started making the view rays that they were supposed to be released by the enemy, but when the enemy would start to cast those, the character wouldn’t move.)
Wow, that sounds like a pretty awesome AI! It definitely sounds like a bug in MakeCode that we could fix. We’d be happy to do so if you have parts of the code around.
Also for large programs like that I’d recommend considering GitHub with MakeCode: https://arcade.makecode.com/github/getting-started
The good thing about GitHub is it lets you periodically save your code such that even if you decide to delete it you can always go back in time to get it back if you ever want it again.
GitHub might be especially interesting to you if you’re thinking about C++/C# and using bigger game engines. All professional and even most indie game development uses some kind of “version control” like GitHub.