6 ms·
Since I started using Ogre3D I always had a hard time settling down to feature rich engines like unreal or unity. I don't know how often, giving beginners acce
by jokoon 7y ago
Since I started using Ogre3D I always had a hard time settling down to feature rich engines like unreal or unity.
I don't know how often, giving beginners access to a space shuttle, will it lead to a successful project that can compete with non-indie game developers.
There is also a fine line between an indie team of developers who can benefit from those tools, and experienced game developers who would not need them.
It seems unreal and unity are just very capable, but cheap, tools that are well-marketed towards students and beginners. The problem is, once those developers learned to use those tools, they are still unable to develop a game without those tools, which is a huge win for unity and unreal.
Generally I tend to believe unreal and unity only enable developers to make games that will never be able to compete with more established and skilled game developers. I think it's a pretty sad situation, because initially I really believe indie games were able to compete with those big studios, but they're not, and I think unity and unreal are responsible for this. It seems the whole FOSS mantra/paradigm/philosophy has a lot of trouble penetrating the field of game development, maybe because games are heavily monetized towards consumers, unlike other softwares. It bothers me.
- ironmagma 7y agoWhat engines are you suggesting make it easier to create those games that compete? My experience is that UE4 and Unity are both enabling of indie developers to make very high quality games. The only real limitations are how much effort you put into the art. UE4, while hard to code for, is still orders of magnitude less work than coding all the rendering, animation, and hardware logic from scratch. There are of course other engines, but they are either devoid of the features you need to compete with AAA titles, or have severe performance limitations.
- philipov 7y agoDo you think Godot is either missing necessary features or has severe performance limitations?
- jayd16 7y agoCurrently its missing necessary features. The roadmap looks good but I can't ship on a road map.
- philipov 7y agoI've been looking at Godot for a hobby project. Could you please describe what features you need from it that it's missing?
- jayd16 7y agoThe biggest for me is the fact they're rewriting the graphics stack. The churn is enough but I also just don't like "fixed"/"simplified"/"helpful" tools that hide the underlying platform. Unity's shader language is extremely ugly but at least I can use raw GLSL if I have to. I've had to use custom pragmas to get certain acceleration features to work on Samsung hardware that doesn't seem possible in Godot. Hopefully the updates with Vulkan will have more flexibility. That said, for a hobby project it seems fine.
- mikst 7y agoHi, I'm not very proficient in graphical programming, but godot docs say this > Godot uses a shading language similar to GLSL ES 3.0. Most datatypes and functions are supported, and the few remaining ones will likely be added over time. Unlike the shader language in Godot 2.x, this implementation is much closer to the original. https://docs.godotengine.org/en/3.0/tutorials/shading/shading_language.html https://docs.godotengine.org/en/3.0/tutorials/shading/shadin... Godot is relatively new and definitely "not there yet", but at least with its open nature you can do `git clone godot-doc.git` and no top manager can take it away from you.
- Xeronate 7y agoAlso interested in this question. I recently started on my first game project after 4 years of being a professional C# dev and chose unreal because it seemed to be the quickest path to success for a small multiplayer arena battle game. Seems like coding my own networking layer, renderer, animation system, etc. would take way longer.
- jeremyjh 7y agoIt doesn't provide everything that those engines have but Urho3d is a very solid engine that has been under development for many years. https://urho3d.github.io/ https://urho3d.github.io/ Someone else already mentioned Godot, which I think is fantastic and a lot of fun for making 2d games. I have not tried to use it for 3d, I understand its new renderer is making it more competitive with more advanced engines. edit: btw, I don't really agree with anything GP said. I just wanted to plug these two nice open source alternatives. I personally (as a casual hobbyist) did not really mesh with Unity or Unreal, for different reasons but I definitely understand what they offer to both beginners and serious businesses.
- jokoon 7y agoThe question is more about how to compete. For example, there are few indie games that managed to get a lot of sales because they innovated in terms of technology or ideas, like factorio or minecraft. Yet those games are pretty ugly, they're not "HD", while there are too many indie games that are HD with high poly graphics. Indie devs don't have money, so they obviously cannot compete on the art and content. They have to make games nobody is making, and not hesitate to make pixel art or low poly content to concentrate on the gameplay. They cannot compete with big studios on content. It's too time-expensive. This is the most important thing that people forget about games: the content doesn't matter. 3D artists don't matter. Games are not CG movies. Unless you're Kojima or final fantasy, nobody cares about cinematics. Game developers must focus on the gameplay and stop advertising about fancy graphics. This is a never-ending problem of video games since the 3D era: too much focus on the graphics, and no efforts on the gameplay, game balance, game theory, mechanics, reward system, difficulty, game lifespan, etc. > What engines are you suggesting If you're not aiming for bleeding edges graphics, you can use an graphics engine, or make your own. For physics and other stuff, there are plenty of libraries. I'm just saying unreal and unity are not engines, they're framework/platforms. They impose too many contraints, and you can't do everything you want with them. Not to mention the IP or business side.
- ngold 7y agoAs a noob, I've found learning c++ in unity pretty comprehensive. I can also look at how real code works looking through what others have done. And the youtube tutorial section is huge. At the end of the day I can't wait to know enough to jump ship to godot.
- crocodiletears 7y agoI think you're discounting the value of the tools Unity and UE offer to experienced developers/teams, and ignoring that outside a few exceptions, Indies haven't really been able to compete with AAA Devs since the PS2 era, when games more or less got programmed from scratch, or were adapted from the brittle code of previous titles. Nearly every major studio or publisher has a similar toolset they've either built from scratch (RED Engine, Frostbite, Anvil, Decima, Id Tech, etc.) or license (like Unreal) and built on top of. Years of testing, R&D, and workflow refinement goes into making these toolchains extensible and useful for teams of all skill levels and functions, as well as to make them scale well to the needs of different titles. The trade-off with these tools, is that their tremendous breadth can make working with them on complex projects their own knowledge domain for smaller teams, even as it abstracts away many of the complexities that come with developing your own engine. If you're an engineering oriented developer who has the luxury of developing for a very restricted set of platforms and the time to debug their own tooling, with narrow, well-defined graphical requirements, a clear vision, and a technically inclined art team, then using a framework like Ogre makes perfect sense. Lightweight frameworks are a joy to work with, and you only have to add what you need on top of them to get the job done. But iteration is slower, and you may spend months getting your tooling where it needs to be if you're going to work with a team. Good luck onboarding new artists and game designers though. First you have to worry about training. After that, compatibility. Artists tend to have a workflow that works best for them, and even using open file formats, and established toolchains, they've got a gift for finding edge cases in your system. Your map editing toolchain also has to work for both the artists, and the designers. Conversely, a mature engine like UE, or Unity has a wealth of crowdsourced documentation, and it's almost impossible to trip over an issue that someone else hasn't already triaged before you. New team members are almost guaranteed to know how to fulfill their responsibilities within the constraints of the engine's toolset, so they can get to iterating on prototypes much faster. They're also typically extensible enough that the engineering guy(s) can put whatever efforts they would have contributed to designing a rendering engine, tools, and debugging platform issues into adding features unique to their title. The featureset on these behemoths may be overwhelming, but it's more or less on par with what the 'pros' are using, so just by adopting one, you're virtually eliminating your technical capability gap with them. There is still a gap. With respect to tooling, Indies simply lack access and experience with parametric modelling tools like Houdini which greatly increase the efficiency of content-generation. The rest of that gap can be broken down to experience, and manpower. Experience can be fixed, but few indies are able to throw the number of bodies at a project that someone like EA or UbiSoft can. Engines allow anyone to make AAA level experiences with AAA levels of graphical fidelity now. The output gap has become about art and content, something no indie can effectively compete with in terms of volume. I agree that developing on large engines can cause you to hit a wall, and the engine essentially becomes the developer's world, but I think overall the proportion of people in the world who go further is the same, even if the proportion of people in the world cluelessly noodling with the low-cost space shuttle they've been given, and putting out garbage increases. People incapable of competing have been allowed to join the market. But the democratization of engines has also given those with the potential to be great a much lower barrier of entry onto the development scene
- fiblye 7y agoAs someone who's written engines, worked in bare bones do-everything-yourself frameworks, and used Unity, not everyone has the time or ability to sit down and code almost everything from scratch. Some people have simple ideas that involve mostly gluing parts together and big engines are fine for that. Some can program everything if they want to, but they want a decent physics, rendering, and user input engine from the get-go so they can get to work on their ideas and not endless boilerplate code. Most indie gamedev projects I've seen die involve people who are primarily programmers who get stuck in framework hell. They're endlessly trying to build and tweak basic features for a basic framework, when any major engine has all of those features out of the box or with a 5 second package download. I've had to get myself out of the habit of doing everything myself, admitting defeat, and downloading existing packages. Oftentimes someone out there has something better than what I wanted to make and easily tweakable, saving weeks of time and still allowing me to give it my own touch. Even for a total amateur who won't use 1% of the features, Unity and Unreal have two huge things: support and a community. You can ask a question anywhere about anything and generally there's someone who can help and even give a precise solution. That's huge.
- pjmlp 7y agoThat was one of the reasons (among others) that I never went beyond demoscene like stuff, always went too deep into engine stuff, and never produced anything really interesting as a game. Anyone that wants to do games should use a pre-made engine, if the game is at all interesting, people will play it, even if the technology sucks.
- imtringued 7y agoI like reinventing the wheel on the game logic side. The payoff for novel ideas is often pretty high. Not everything is a tiled side scrolling platformer or a top down RPG. However, with graphics it's the opposite for me. The amount of setup needed to even show a single triangle feels like a waste of time. You're tied to a single graphics API so you either have to write the code again and again for each API or you use an engine. The payoff is pretty low because spending hundreds of hours on a custom graphics engine doesn't make your game stand out unless you are very skilled. Of course this doesn't mean you shouldn't write your own graphics engine for fun and as a learning opportunity but if your goal is making a finished game then you should avoid falling into this trap.
- Shorel 7y agoMaybe I am wrong, but I think Unreal engine will let you do anything and you can actually compete with the big studios, performance and feature wise. The only reason someone can't actually compete, is man-hours available. Some things are just very time-consuming to implement. But this last point applies to any engine, even the ones the big studios use. About open source, just check Godot. And Godot is a competitor to Unity, in the 'learn this engine and you will have to keep using it' market. Which I think is fine for Indies.