Whether to use a game engine or not depends on various factors like your project scope, team size, time frame, and technical expertise.
Advantages of using a game engine:
Speed of development: Game engines come with many built-in features (physics engines, AI functionality, rendering capabilities), which can significantly speed up the game development process.
Cross-platform support: Engines like Unity and Unreal provide the capability to develop games for multiple platforms (PC, mobile, consoles) from a single codebase.
Community and Support: Popular game engines have extensive online communities and resources, which can be very helpful when encountering issues or learning new things.
Disadvantages of using a game engine:
Overhead: Game engines can add extra processing overhead to your game, which might not be optimal for performance-critical applications.
Less control: With a game engine, you are somewhat bound by the decisions made by its developers. If you need highly specific features, it might be difficult to implement them in an existing engine.
Learning curve: Each game engine has its own quirks and workflows. Learning how to effectively use an engine can take significant time.
Building your own game engine could be beneficial if you want complete control over your game's functionalities, or if you're going to learn about game development at a deeper level. However, this option requires a high level of technical knowledge and takes more time.
In conclusion, if you aim to create a game efficiently and have access to a broad range of ready-to-use tools and features, using a game engine is a good choice. On the other hand, if you specifically need the learning experience or require a high level of customization, building your own engine could be the way to go. Always consider your project requirements, resources, and deadlines before making the decision.