Unity is losing users!

Gotta be careful with these unreal engine or unity style marketplaces because it encourages users to just pay for things instead of trying to learn and develop their programming skills (talking systems/code type assets, mostly). Most people want things done as fast and as easily as possible, while skipping the learning and growing part, which these marketplaces heavily encourage, and create a whole culture around. I understand not wanting to reinvent the wheel, but from my observations, in many (or most?) cases itā€™s something simple and/or something they couldā€™ve done themselves. This also encourages developers to just scratch the bottom of the barrel and try to monetize anything they can come up with as an asset, which then loops into the problem above.

Either way I personally think jmonkey should stay away from that sort of crap, and not sell itself out just to try competing with these monopolies of game engines (that will always be leagues above jme in the funding department anyway due to their chinese investors).

I for one have learned so much about game and software development from my ~3 years using jme (also learning java as I go). I used both unity and unreal before for even longer, and they gave me little knowledge that could be universally applied for video game/software development on different engines/platforms, because they are too user-friendly with their custom editors and APIs and all. Almost like they train you not to make games, but to make games for those engines. But thanks to JME I now have a much better understanding how video games actually work.

7 Likes

Yeah, jMonkeyEngine isnā€™t trying to compete with those enginesā€¦ it canā€™t.

We could learn from them, sure. Some better tools would be nice.

ā€¦but itā€™s always been a ā€œJava programmerā€™sā€ engine and I donā€™t see that changing.

9 Likes

This has always been something that really stood out to me with Unity (and any similar engines that have big marketplaces, super simple editors to lower the entry barrier, and take less revenue)

It seems like their goal is not to create an engine for making good and profitable games, but instead they just want an easy to use engine that will bring in more customers to their asset stores. Users learn how to use Unity, see how easy it is to pump something out fast, and then the majority never want to learn anything more complex.

I never liked Unity because they donā€™t seem to care that their business model results in a bunch of devs making games too quickly and carelessly and then most of those games never even profit according to the stats Iā€™ve seen. And then game marketplaces (like Steam) end up flooded with unprofitable games, but of course Unity still profited on their subscription fees and marketplace so it doesnā€™t matter to them.

Iā€™ve always found it especially interesting that the company that creates Unity Engine have apparently never created an actual game themselves, just a few tech demos. So it doesnā€™t even seem like they have much faith in their engine. At least companies like Epic Games (Unreal Engine) have made their own games with their engine and appear to be personally invested in its success in the same way that the rest of the indie devs using it are. Unity could care less if anyone makes good games with their engine because they will still profit from their markeplace and subscription fees.

Its funny that when I was new to game dev, Iā€™d browse those marketplaces and think how useful all that stuff could be. But now that Iā€™ve been working with JME for so long, Itā€™s crazy to think how much money you could waste paying for plugins to do things that are actually fairly easy to recreate in JME if you are willing to take the time to learn. And when you make something yourself for your own game, youā€™re more likely to do a better job than some guy who was just throwing together a plugin to sell and forget about.

8 Likes

Hereā€™s a little something I found on a gamedev blog regarding Unity:

Looks like you hit the nail on the head @yaRnMcDonuts :wink:
Makes me very glad I ended up not going with Unity.

The blog post is also worth a read:

4 Likes

As someone who started my gamedev path with jme as a hobbyist and then ended up a professional Unity dev at a bigger company, I wouldnā€™t underestimate the importance of Unityā€™s capability to make games easily and quickly even for bigger commercial gamedev. Sure, it allows people with no idea what theyā€™re doing to slap some assets together and call it a game, but it also allows people who do know what theyā€™re doing to create games a lot faster than with code focused engines like jme.

When you got a team of 30 or more working on a project, the iteration times start becoming very important. Salaries start to add up when people are dealing with their engineā€™s verbosity or even fighting the engine to get something working instead of iterating on the game itself. As a result, Unity and Unreal take up most of the market share of games made by bigger studios, that donā€™t use an in house engine.

This is also the reason why I ended up switching away from jme. Itā€™s an amazing learning tool which will force you to learn how game development works on a lot lower level than Unity/Unreal/Godot/Pick your engine, but once you know how things work, it just becomes tedious.

Unityā€™s management and side projects are a whole other topic I donā€™t wanna get into currently, as this wall of text is long enough as it is, but letā€™s just say that thereā€™s a reason we have in-house extensions or straight up replacements for a lot of Unity packages at work.

8 Likes

It all depends on how serious you are. If youā€™re really serious about making pc/console games then your studio should have (hopefully at some point at least) their own in-house engine, with own tools. Doesnā€™t need to be made from scratch, can just be an extension of an existing engine you got access to, pretty much like every other in-house engine out there. All tailored for your game and studio needs, no middlemen, no reliance on their (questionably reliable) services, policies and closed source engines (that they are in control of, not you).
Unity/unreal is more of a stepping stone in the greater scheme of things, although if weā€™re talking mobile games only then I guess unity is as good as it gets due to how fast you can just slap a game together. Not very ambitious, more of a tool for profit, as you may have acknowledged already.

2 Likes

Iā€™d say this is only true about JME if you donā€™t make your own game-specific tools and systems, but of course that can be a tedious process as well, especially if you are working on many smaller games that donā€™t justify spending that extra time to make highly modular systems and unique tools or level editors.

For example if a game is only going to take a few months to make and you donā€™t have plans to add on to it after release, then spending an extra month making custom tools for that game in JME will likely seem like a waste.

And then in that case it will probably feel like everything is tedious since youā€™ll be forced to do all your level design, particle editing, material editing, etc solely in the SDK or something like JmonkeyBuilder (which are good tools for inspecting/editing single models, but are not optimal for anything at a larger scale).

But if you have a longer term plan to work on a larger project or many similar projects, then I think it is worth it to use JME and spend the extra time making your own highly customized tools to avoid all the otherwise tedious tasks.

3 Likes

When it come to companies, at a larger quantity, i think it comes down to:

What is the cheapest way to get shit done. Softwsre itself is just a small fraction of the cost. Mostly i think it is going to be work hours that take the money. And i would bet that you find cheaper/more/better (mix of those three) gamedevs in other languages then java. Plus the fact that java is still considered slow. (Not saying that its true but in the general opinion it is)

3 Likes

Yeah, that I can agree with. If you get decent tooling going, jme can be very nice. But it does take a while to get going, as unfortunately the general purpose tooling thatā€™s out there (sdk, jmbā€¦) simply isnā€™t as good as what unity/godot/unreal/big engine of your choice provide. This means that a lot of times you have to either start from scratch, or learn your way around a rather complicated codebase, just to change how some small thing in the exosting editors work. Which again takes time and effort that could be better used working on the actual game.

And even after all of that, itā€™s ridiculously easy to extend the Unity editor compared to jme sdk for example. Unityā€™s custom editor process is well documented while for jme you have to go sift through netbeans docs which last time I tried using them wereā€¦ not great.

6 Likes

This is still the caseā€¦ Those are basically just transferred over from Oracle to Apache without any revamping. And are about a decade old. Surely, nothing has changed so why need to change documentation. In the end it is just as easy as any, just maybe the starting point is a bit steep.

3 Likes

Unity and Unreal offer streamlining of many game development processes as well as offering the benefit of easily onboarding new devs to the teams. Godot is heading in that direction. For all my years as a developer using Unity (games and non-game apps) The more complex the project is the more issues and cracks start to appear. There is a joke in the teams I have been that you know how good a dev is using Unity by asking if they love/hate it and see their reactions.

Sure we can write Editor extensions but unless we get a source code license, you are adding things on top instead of a full replacement. You can get plenty of complains on how bloated or unstable it can be on computers. In my opinion, Unity should make the editor much more modular where we can add/remove features to only have what we need for projects. This is a reason some devs moved to Godot before the fee scandal.

I studied Unreal and even got certifications. I started a game project there and gave up halfway because unless you are a c++ master or just code using blueprints you will face more unnecessary headaches just to move from proof of concept to prototype. I tried Godot for about a week and I can actually recommend it more for solo devs than Unity, but it my case it did not spark game dev again for me.

I came back to code only game engines/frameworks and I actually felt the spark to make games again and this time using the experience I gathered over the years. I released Depthris on Steam using JME and made a TTRPG character creator using LibGDX. Curiously this work helped me land a 3D software dev job where we process a ton of 3D data on the backend. and on the C# side I am playing with Stride (code only variant) and Ogre3D if I plan to make something for consoles (MonoGameā€™s documentation is abysmal).

8 Likes