If you like DNray Forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...

 

Seeking Paths to Game Development Enlightenment

Started by trung277, Apr 30, 2024, 12:46 AM

Previous topic - Next topic

trung277Topic starter

I've had a long-time dream of creating games since childhood, but the challenge lies in my lack of understanding of the game development process. Despite having experience in programming with a strong grasp of C++ and some knowledge of Python and C#, I find myself clueless when it comes to game programming.



Recently, I watched the Indie game movie and felt inspired to venture into 3D game development. However, my attempts to find suitable resources and tutorials online have been futile. The available materials often consist of fragmented code accompanied by brief explanations such as "This is where the physics happens," leaving me perplexed about the underlying concepts.

I also considered working with existing game engines like Unity or Unreal Engine. Yet, witnessing the independent developers in the movie completing every aspect of their games on their own, I'm drawn to the idea of experiencing the joy of creating everything from scratch. Developing a game using a pre-existing engine feels like polishing a nearly finished product, as opposed to crafting something entirely from the ground up. The prospect of creating a game independently, similar to Below, Limbo, Spelunky (new version), or those featured in the movie, excites me.

I seek your guidance. What steps should I take? Perhaps I have misconceptions about the process?
  •  


gaertner.mike

While it's admirable to want to take the independent route like the developers in the Indie Game Movie, it's important to recognize the significant challenge that comes with creating a game entirely on your own. It can be a daunting, time-consuming, and complex process, but it can also be incredibly rewarding.

Firstly, it's essential to acknowledge that using existing game engines like Unity or Unreal Engine does not diminish the creativity and effort required to produce a game. These engines provide powerful tools and frameworks that allow developers to focus on game design, mechanics, and storytelling rather than getting bogged down in low-level details. Even when using a game engine, there's still an enormous amount of work and creativity involved in creating a compelling game.

If you're set on the idea of developing a game from scratch, it's crucial to start with a clearly defined concept. What type of game do you want to create? What is the core gameplay mechanic? What is the visual style? Creating a detailed game design dоcument will help you solidify your ideas and serve as a roadmap as you move forward.

Since you already have a strong grasp of C++ and some knowledge of Python and C#, you have a solid foundation for game development. However, game development involves much more than just programming. You'll need to dive into areas such as game design, graphics, audio, physics, user interfaces, and more. This may require learning new skills in areas such as 3D modeling, animation, sound design, and game design principles.

Venturing into 3D game development adds another layer of complexity. It's important to familiarize yourself with concepts like 3D graphics programming, shaders, lighting, and 3D mathematics. Exploring resources such as OpenGL or DirectX for graphics programming, as well as studying 3D modeling software like Blender or Maya, will be essential.

Regarding finding suitable resources and tutorials online, it can be challenging to find comprehensive and beginner-friendly materials that cover all aspects of 3D game development. It might be best to start with more general game development resources to build a strong foundation before diving into 3D specifics. Additionally, seeking out community forums, game development groups, and mentorship opportunities can provide invaluable support and guidance.

As you progress, consider starting with smaller projects to gain hands-on experience and build confidence. Game development is iterative, and creating smaller games will allow you to learn and improve before tackling larger, more ambitious projects.

The game development process is multifaceted and requires a significant investment of time, patience, and dedication. While the idea of creating a game independently from scratch is exciting, it's important to be realistic about the challenges ahead and to be open to the possibility of using existing tools and resources to bring your creative vision to life. Whether you choose to develop with an existing game engine or go the independent route, the most important thing is to keep learning, experimenting, and persisting in pursuit of your dream.
  •  

Emporseupsert

you're familiar with C++, but you're not familiar with the process of game development? Do you have experience with image uploading to memory? Are you well-versed in writing classes and creating objects? Do you know how to establish object interaction? If so, what's the real issue here?

If you're unsure about graphics handling, my suggestion is to avoid using native Direct3D. Instead, pick a suitable framework and start exploring. For C++, consider trying HGE, for instance. I personally began with it. While it may no longer be actively supported, the forum is lively and enthusiasts continue to improve it. There are plenty of examples available, and it's relatively straightforward. You can upload images, including animated ones, and manipulate them. It's perfect for creating a 3D game. Examine the examples and give it a try.

I've noticed some responses about jumping straight into creating a 3D game, and even incorporating physics. Starting with something simple makes more sense. Begin by creating a button with behavior, or better yet, develop a tetris or snake game. This way, you'll understand the mechanics. Without mastering the fundamentals, immediately diving into 3D seems pointless.

It's important to note that a game doesn't necessarily require physics. There's no need to rush into studying algebra and creating your own physics engine. Learn what you need as you go along.
  •  

ulogger

If need be, they can have a blast - setting up old versions of Windows and directly accessing video memory, working with EGA, VGA, and SVGA modes, diving headfirst into VSYNC and graphic back buffers. You will even create your custom putPixel(x,y, color) method and hunt down a drawLine implementation to utilize putPixel, along with other methods and visual effects (showing graphs of imaginary functions), then parse and display bmp files, build a library of sprites, create a mouse cursor using the 33rd interrupt, hang a sprite for animation, move it with the mouse.
Then, go on a quest to learn about isometric graphics, devise a level map, and strive for smooth scrolling. Only after all this hard work, will you be truly empowered to create your own Enemy class, complete with life=100;weapon=randomLowWeapon();... It's the path of the Jedi master—just the way you envisioned it, starting from scratch.
  •  

wedinstylehiep

You can start by studying the game development process and learning about the different technologies and tools that are used in game development. For example, you can learn about game engines like Unity or Unreal Engine, which provide a framework for building games.
You can also learn about programming languages like C++ or Python, which are commonly used in game development. Additionally, you can learn about game development frameworks like SDL or SFML, which provide a more low-level approach to game development. As you gain experience, you can start building your own game engine or use an existing one to create your game.
  •  


If you like DNray forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...