Game Engine or not?

Started by
102 comments, last by JosephParrilla 12 years, 11 months ago

[quote name='joeparrilla' timestamp='1305651109' post='4811987']
So how much of a problem is it to take UDK and make an isometric view game like Diablo, or a side scroller like Braid? Also what about the game mechanics, the examples I saw clearly played and worked just like Unreal would run, is that also some sort of pre loaded code that you can get rid of if you want to build something totally different?


In Unreal: requires engineers and source code (or clever script hackery) to get much more than a 3D shooter, but when you have engineers on the project you can do some very different things (see Shadow Complex).

Originally our school wanted to teach the prototyping class in Unreal, but I was against it for this reason: it's just too hard to do something other than an Unreal-style game. We switched over to Unity to let people quickly get in and write their own games, with good results thus far.
[/quote]

Hmm thats a bummer, so Im guessing there are more general purpose engines that dont tie you to a genre?? Is unity one of those?

And yes I really like Slick2D, I mean its not an engine, but for simpler 2D games I think its enough. It has a lot of cool base classes centered around game development. For example the StateBasedGame class is set up to handle multiple game states and switching between them. It also has some pretty good API's for loading sprites and breaking up sprite sheets. All around its solid, but of course its just a library, so its really not doing to much for you. It does take the pain away from using Java2D though, which is nice because after working with it for a while I can say its really not too pleasant.

I guess that Unreal video was a bad example, It just looked like a mod to me... definitely not my idea of creating my own game :)
Never, ever stop learning.
- Me
Advertisement
When I was young and first started out I only wanted to use C because I thought C++ was cheating. I also wanted to create everything myself so I had 'complete control'. While the learning experience was good I got pretty much got nothing done as I was fiddling with tech the entire time. It was very hard for me to get over that feeling. It took getting my first real job to finally get over it. Spending two hours tweaking code or XML to create a a puddle when you could have used a slider in 30 seconds is a complete waste of time. Unless fiddling with tech is what interests you when programming. For me it doesn't, making a fun game that other people can enjoy is far more important to me then writing yet another specular lighting shader that is just like the other hundreds that are out there.

The whole vibe I get from this thread is looking for justification to do thing the 'hard way'. If you want to create all the puddles in your level with code then by all means do it. But do realize that if something changes in the level now you have to go back and manually fix all those puddles. If you took the 'easy way' with a visual editor you just click the puddle and move it. You're not making yourself any less of a programmer by doing this. You are saving yourself hours of menial labor. The 3D Breakout clone I made, the first couple of levels were done by hand in a text editor. It took hours to get a level setup as had to tweak a value and then run the game to see if it was anywhere close to where it should be. After a few levels of that I took a few days and created a level editor with C# and SlimDX. What took three and four hours now took 30 minutes and I could now let my artist make the levels as he was much better at that kind of thing. This is the exact kind of thing that happens in a game studio. When you are paying 30 guys $50k+/year you don't want them wasting time manually tweaking variables all day. Unless you are working for a middleware company then most likely you aren't creating game engine stuff from scratch. In the long run you are doing yourself a favor by getting used to do things the 'easy way' as thats what you will do at the job.

If making the low level engine stuff is what excites you then you should go with it, Java and Slick2D is a good start to that path. For all the hordes of people like me that would rather use some kind of game engine there has to be a dedicated few that know the ins and outs of the target hardware to be able to create that engine to run smoothly. The most important thing is to just pick something and go with it. Its not like the path you pick today has to be the same thing you are doing in 20 years.

Hmm thats a bummer, so Im guessing there are more general purpose engines that dont tie you to a genre?? Is unity one of those?


Short answer: Yes, Unity is one of those (although it is better at 3D games than 2D ones).

Slightly longer answer: Unreal is also one of those, it's just alot harder to make some genres than it needs to be (which is why most people just use it for first-person and third-person shooters).

Check out my new game Smash and Dash at:

http://www.smashanddashgame.com/


The whole vibe I get from this thread is looking for justification to do thing the 'hard way'.


[font="arial, verdana, tahoma, sans-serif"]
In the end, code is code is code: you can make nearly anything with nearly any tools, given enough time. I saw a guy make a first-person 3D dungeon crawler in the vein of Wizardry/Might and Magic using LittleBigPlanet's level editor. I saw a remake of Doom on the NES. These are usually "hey, look what I can do!" hobby projects. Professional game development doesn't work this way: it's about being efficient and choosing the right tool for the job, not doing things the hard way. So while I appreciate the guy who is working on a downres of Shadow of the Colossus for the GameBoy, but I'm far more impressed by the guys who built Grand Theft Auto 3 (which was groundbreaking in its time and built on the Renderware engine) because it took pre-existing tech and refocused it to create a brand new genre of game.[/font]

Check out my new game Smash and Dash at:

http://www.smashanddashgame.com/

I just think that a lot of the lower level stuff is cool thats all. Im definitely not saying that I will never use an engine and that Im going to make some ridiculous game in a few weeks only using C++ and SDL. Im just saying that along with having a desire to produce finished games, I have a desire to tinker with the low level nerd stuff. I dont think there is any need to only do one. I dont see why I cant make a few completed, flashy, awesome games with some engine and then decide that I want to make a small side scroller just with a lower level game library.. both for the challenge and the learning experience of the lower level.

Like currently my goals consist making many quick, simple games in order to really get the hang of things. I think doing this in just Java and SLick2D will be a good learning experience. I dont see why I would need to full blown library to make a simple side scroller or some cool pong or tetris variants. I do have some longer term game goals though such as making a Diablo clone, and Im sure that I will need to get my hands on an engine for that, because Im fully aware of the complexity of a project that large. Like you all have said before, I plan to use the right tools for the job. My general view of it is to keep the abstraction as little as possible until it just doesnt make sense to not move up, for instance I wont attempt to use a tool to make a game that I know will take me a year to complete... thats just way longer than my attention span can handle a single project :)
Never, ever stop learning.
- Me

This topic is closed to new replies.

Advertisement