Might just be my way of seeing things, but........

Started by
19 comments, last by wodinoneeye 12 years, 7 months ago
[color="#ff0000"]Moderator Note:
Please take anything in this post with a grain of salt, as the "IHavePoorTaste" account has been banned for the following reasons:
  • Originally signed up with an offensive and inappropriate username (since edited by a moderator)
  • Is a duplicate of a previously banned problem-user
  • Is fairly obviously trolling the forums.

The responses from users are however pretty good considering and may be of some value if you're interested in the topic.[/quote]
What's up with all these "tools" nowadays? Free source game engines? Really? That's depriving programmers the actual work of the game as a whole.

I might sound a little crazy by saying this, but I think it's actually more fun, and to every last bit(literally), to program games more in a "from scratch" kind of way.

I'd rather, instead of with all those "complications" with destructor, constructor, type conversion, polymorphism, OOP, just write all code in a more Boolean logic sort of paradigm.

Instead of using any OOP, define the parts of the code yourself and just comment them, break every aspect of the game's parts piece by piece, layer everything out, get everything necessary and written out before
you start writing code so you know where everything will go and what everything will do, then just do it.

I'm definitely against OOP, I hate it to the core by all means possible. I prefer more of a sort of "functional" programming style in a mostly Boolean logic kind of sense.

Now is this just me? Do others somewhat agree here? I mean sometimes these "tools" may come in handy, like game engines, but understanding what they are and how to make them yourself would be much more rewarding, given the programmer can make one themself with the right tutorials and instructions and can feel accomplished by literally completing every aspect and part of the game yourself, bottom up.
Advertisement
[color="#1C2837"]
[color="#1C2837"]What's up with all these "tools" nowadays? Free source game engines? Really? That's depriving programmers the actual work of the game as a whole.
[/quote][color="#1C2837"] [color="#1c2837"]Please tell me ONE, and only ONE reason why the existence of an open source game engine would make it harder for you to make your own.
[color="#1C2837"]
[color="#1C2837"]I started messing around with game engines when I was around 12, and had never seen anything close to programming before. And you know what? It was awesome to explore the possibilities, and maybe I could have some problems in college if those did not exist.
[color="#1C2837"]
[color="#1c2837"]Im making my own game engine now, by myself, and currently working on the actual game editor.


[color="#1c2837"]Different people have different needs, and not everyone is that into programming, is that into making an engine, or is that into doing stuff from scratch.

What's up with all these "tools" nowadays? Free source game engines? Really? That's depriving programmers the actual work of the game as a whole.
Sure, but it enables designers and artists to build games they previously wouldn't have been able to without learning how to be expert programmers or trying to find expert programmers to work "for" them.


I mean sometimes these "tools" may come in handy, like game engines, but understanding what they are and how to make them yourself would be much more rewarding
It depends. For some people (generally programmers), building the tech is the rewarding part. For others, the rewarding part is shipping a game that people can play. Tools like Unity and UDK enable people to build higher quality games in less time than it would take for most people to build comparable technology.

Ultimately I think having things like UDK, Unity, and CryEngine 3 available to the wide development audience is the best thing to happen to the games industry in a while. Hopefully it will allow more teams to build amazing looking games using existing technology rather than having every person start off by figuring out how to write an engine. For example Adhesive Games, the people behind the amazing looking game Hawken, are mostly artists: http://www.adhesivegames.com/team.html. That team make up is only possible because they have the UDK to handle the hard technical work for them.

I flip between both views with my personal projects. Sometimes I just want to make the game and ignore the tech. Othertimes the tech is the interesting part. It all depends what you're trying to get out of game development and what your personal skills are.
Are you related to Andy Harglesis? Just wondering.
Depends what your goal is, if your making a game then why slow yourself down or hold yourself back with the litle things. No one can possibly know everything so ultimately your going to be using something you don't understand (blackboax). You just don't need to understand everything. If your goal is to learn (or create something new) then go for it, do every little thing - it can be very rewarding.

Interested in Fractals? Check out my App, Fractal Scout, free on the Google Play store.

I'll give you the benefit of the doubt that you're misguided and not trolling.


Instead of using any OOP, define the parts of the code yourself and just comment them, break every aspect of the game's parts piece by piece, layer everything out, get everything necessary and written out before
you start writing code so you know where everything will go and what everything will do, then just do it.
[/quote]

You've not written anything non-trivial have you? No design document survives its first encounter with implementation. And even if you do remember where everything went and what it does without good organization, it won't help you debug the inevitable problems that will crop up.

I'm not saying that non-OO code is always poorly organized but your post strikes me as 'just lay it all out and it will work!' rather than 'wouldn't some other organizational system be better?'. Different programming paradigms exist because they help programmers understand where everything goes and what everything does. There's no need to re-solve every problem (from a design perspective) or remember every particular of all your codebase. People just can't keep track of that many things. The abstractions are there to help you be more productive.
Here, you need to build a house so you can have somewhere to live.

Would you like to avail yourself of power tools and prefab construction kits? Or would you prefer to grow your own forest, harvest your own lumber, and construct everything from scratch using nothing but a herring?

Some people like to slap trees with fish. Other people like to get things done.


[edit] I don't mean to condemn the fish-tree-slapper crowd here. If you enjoy doing everything yourself and never accomplishing anything, that's your business, and far be it from me to try and convince you otherwise. Myself, though, I fall into the other category.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Personally I think it's absolutely fantastic that all these tools and engines are available these days -- many of them are even free or have very reasonable licencing terms. There are a wealth of options available meeting different needs, from simple frameworks which only provide windowing or some single system to complete engines and right on through to software packages that will let you create a great quality game with minimal or no programming expertise. What this means is that successfully creating a great game is now much more accessible to a much wider range of people, and that if they choose to do so even those with the skills to create something from scratch can choose not to take that option and can instead get much faster results by taking advantage of some of the many options now available.

You know the really great thing though? Even though all these great tools and engines are out there for anyone to use, there's absolutely nothing stopping you from working at a lower level and doing things the way you want, and if someone wants to create an entire game from scratch they're able to do so, and there are plenty of resources to help them out.


One good thing about having all these options available is that you can still create a game even if you don't understand some of the basics or have trouble working with lower level APIs.

If you prefer working at a lower level that's great, I hope you enjoy the experience -- but don't think it's somehow cheating to make use of the tools available to you, as you might find that the people playing your games don't really care how they were created; they just want to play a good, well made game.

- Jason Astle-Adams

I'll give you the benefit of the doubt that you're misguided and not trolling.
I won't.
Personally, I find it extremely frustrating when people want to skip the programming part of writing a game. After working for years on a game engine, after many game projects before that, I love learning all I can and taking pride in being able to write every step myself. It frustrates me even more when people don't just want to skip the engine writing, which is alright in some cases, but people want to skip learning how to program at all, and want to write the whole game in Paint or using some fancy GUI. Once you contribute next to zero work to the game mechanics, graphics, logic, why not just write a book? Storyline is important, but making a game takes more than blindly piecing things together. It's like buying a house, sweeping the floors and hanging pictures, having someone repaint the outside, then bragging about how you built a house.

Of course, not everyone is like this. Valve bought the Quake engine, then wound up rewriting a significant portion of it, which led to their own engines. Using another's engines and tools is not inherently bad; it is people who take other's work simply because they want to have the end result, but won't contribute anything towards this goal.

This topic is closed to new replies.

Advertisement