Develop a Game, but how?

The forums have been archived. Please read this thread for more information.

  • Develop a Game, but how?

    Any advice? Here's the thing, I'd like to make a game, probably horror/scary-themed, am OK with coding in C#, Java, VBS/-.NET and LUA.
    No idea what engine to pick though, Unity, Java, UDK, something else?

    So, have any idea, right now I'm trying Unity, and it's hard to pick, Unity is the simplest I guess.
    Brofist.

    -Arena
  • First off, don't start making games by making a game. Test around with things until you can fully utilize the engine. Then, make a short mini-game and play it yourself, then give it to a couple of friends and see if they enjoy it. If they do, then you've got the first step down. If they didn't, ask what they thought was wrong with it, and then take those suggestions and add them to the game to fix what was wrong.

    The second step is now to plan the game. First, decide on what the gameplay should be like. Make a test on how it should play, and if it works go for it! Then, write the story for the game. Imagine the world and the characters in your head. When it comes to character design, do some quick sketches before you make a proper drawing and then model, texture, and animate the characters. When the story is written and you think it works, go ahead and design the game world to fit with the story.

    Third step is making it. Creating the gameplay, characters, world, and when it's done give it to some people and see if they like it. If they do, release it to the public! See how it's received, and think about peoples suggestions. Make sure you can handle criticism and sometimes it will sound mean.

    I'm sure people can give better advice than I have, but hey. Every contribution helps.

    colonel, we managed to avoid drowning!
  • Arena wrote:

    Any advice? Here's the thing, I'd like to make a game, probably horror/scary-themed, am OK with coding in C#, Java, VBS/-.NET and LUA.
    No idea what engine to pick though, Unity, Java, UDK, something else?

    So, have any idea, right now I'm trying Unity, and it's hard to pick, Unity is the simplest I guess.


    Unity is a pretty solid game engine. I recommend using c#, but first I recommend brushing up your skills. If you plan on going solo you will need to be able to do... well everything unless you plan on using asset store models. I highly recommend the 3ds Max course at 3dbuzz.com, you can get a solid foundation. They also have c# courses too. Only $35 for a great education.
  • Shikieiki Yamaxanadu wrote:

    Go with Unreal, Unity is unoptimized and a resource hogger.


    Citation needed. UDK is a horrible engine to work with, I've given it a poke before and it was not a pleasant experience at all. I know 4 university course's worth of students using it and they hate using it. The editor is clunky and slow and eats away at your resources like nobody's business.

    Unity on the other hand I recently started working with and absolutely love it. While UDK is basically FPS or gtfo, Unity I've seen crazy stuff done in including 2D games (despite the engine being 3D, you just change to orthographic and you'll be gravy). It's significantly more versatile and you can make pretty much any genre with it rather than being limited to action stuff (there's a reason you rarely see anything other than FPSs/TPSs from UE3). If Unity is being a resource hog it's because the game made in it has been badly coded, as it has a very powerful and open-ended C# interface and a lot of people use it with no coding experience at all and then discover they need to code.

    From a programmer's perspective, Unity is also much nicer to use. UDK has a huge focus on UnrealScript (ugh) and assets (so if you can't make complex 3D models you can't do anything in it) whereas Unity has a tonne of primitives that let you make rather nice games without needing to touch a modelling package and instead you can just focus on code. I made one using nothing but Cuboid Primitives for Ludum Dare weekend just gone and it came out pretty well, albeit unpolished due to time constraints but that can come later. Over the course of that weekend I spent more time staring at C# than at the editor which is a good thing because a lot of editors put too much of a focus on the latter and don't give you enough freedom of code.

    Source: Games programmer, programmer of 6 years, never mind Unity/UDK I write these things from scratch.
  • Cue wrote:

    Shikieiki Yamaxanadu wrote:

    Go with Unreal, Unity is unoptimized and a resource hogger.


    Citation needed. UDK is a horrible engine to work with, I've given it a poke before and it was not a pleasant experience at all. I know 4 university course's worth of students using it and they hate using it. The editor is clunky and slow and eats away at your resources like nobody's business.

    Unity on the other hand I recently started working with and absolutely love it. While UDK is basically FPS or gtfo, Unity I've seen crazy stuff done in including 2D games (despite the engine being 3D, you just change to orthographic and you'll be gravy). It's significantly more versatile and you can make pretty much any genre with it rather than being limited to action stuff (there's a reason you rarely see anything other than FPSs/TPSs from UE3). If Unity is being a resource hog it's because the game made in it has been badly coded, as it has a very powerful and open-ended C# interface and a lot of people use it with no coding experience at all and then discover they need to code.

    From a programmer's perspective, Unity is also much nicer to use. UDK has a huge focus on UnrealScript (ugh) and assets (so if you can't make complex 3D models you can't do anything in it) whereas Unity has a tonne of primitives that let you make rather nice games without needing to touch a modelling package and instead you can just focus on code. I made one using nothing but Cuboid Primitives for Ludum Dare weekend just gone and it came out pretty well, albeit unpolished due to time constraints but that can come later. Over the course of that weekend I spent more time staring at C# than at the editor which is a good thing because a lot of editors put too much of a focus on the latter and don't give you enough freedom of code.

    Source: Games programmer, programmer of 6 years, never mind Unity/UDK I write these things from scratch.


    Unity Ftw. I played the game, it works well enough to be classed as a game.
    So uh. I write

  • Vicsyyy wrote:

    Unity Ftw. I played the game, it works well enough to be classed as a game.

    I also played the game,and being a dignified game connoisseur I can say that yes,it is indeed a game.
    A gamey one at that,might I add.
    So to recap,the gamey game was gamingly superb and as a gamer,I gamishly recommend it.
    Also game.
    Game game game.
  • Cue wrote:

    Shikieiki Yamaxanadu wrote:

    Go with Unreal, Unity is unoptimized and a resource hogger.


    Citation needed. UDK is a horrible engine to work with, I've given it a poke before and it was not a pleasant experience at all. I know 4 university course's worth of students using it and they hate using it. The editor is clunky and slow and eats away at your resources like nobody's business.

    Unity on the other hand I recently started working with and absolutely love it. While UDK is basically FPS or gtfo, Unity I've seen crazy stuff done in including 2D games (despite the engine being 3D, you just change to orthographic and you'll be gravy). It's significantly more versatile and you can make pretty much any genre with it rather than being limited to action stuff (there's a reason you rarely see anything other than FPSs/TPSs from UE3). If Unity is being a resource hog it's because the game made in it has been badly coded, as it has a very powerful and open-ended C# interface and a lot of people use it with no coding experience at all and then discover they need to code.

    From a programmer's perspective, Unity is also much nicer to use. UDK has a huge focus on UnrealScript (ugh) and assets (so if you can't make complex 3D models you can't do anything in it) whereas Unity has a tonne of primitives that let you make rather nice games without needing to touch a modelling package and instead you can just focus on code. I made one using nothing but Cuboid Primitives for Ludum Dare weekend just gone and it came out pretty well, albeit unpolished due to time constraints but that can come later. Over the course of that weekend I spent more time staring at C# than at the editor which is a good thing because a lot of editors put too much of a focus on the latter and don't give you enough freedom of code.

    Source: Games programmer, programmer of 6 years, never mind Unity/UDK I write these things from scratch.


    Unreal is a fine engine, but it is certainly quite a bit different from Unity. Unity has a nice component-based architecture which is more flexible in some ways; in that regard it's probably better for games (or prototypes) with interesting or innovative mechanics. For someone without a fairly strong software-engineering background, though, I'm not sure this is necessarily the most efficient route -- the fact that the Unreal Development Kit comes with a working FPS game (and indeed the engine itself began as a game, whereas Unity was built from the ground up to be an "engine" alone) means that, while it is better-suited to first person shooters (and first person games in general), it's probably generally a better choice for that sort of game. Unity gives you a lot more opportunities to shoot yourself in the foot, as it makes it very easy to introduce really terrible code that's sure to cause problems down the line. Of course, this is somewhat true in Unreal, too, but I think the risk is a bit smaller since a) the object-oriented paradigm is a bit more intuitive to most inexperienced coders and b) the fact that you can start with a pretty-much-finished game and only replace the pieces you want to change is not necessarily a bad thing.

    You're right that Unity comes with a somewhat larger library of built-in assets but I don't think this is really that useful. I'm pretty sure even the official documentation makes the point that using the included assets isn't likely to do much beyond making people recognize immediately that you've used built-in assets. This, too, is a good thing for prototyping but not really for production. And while UnrealEd and Unity both include similarly-featured terrain tools, I'm surprised that Unity doesn't seem to include anything like BSP brushes; if Unity's strong suit is that you don't need to be a modeler, you'd think they'd give you the option of creating interiors without needing to use an external program.

    In the end Unreal is still a very strong choice if you're looking to make a polished game. Unity's rendering features have come a long way (but only recently) but Unreal's post-processing and rendering features still generally do a better job than Unity's. Furthermore, Unity forces you to buy the pro version to even use rendering features that are comparable to Unreal's; with Unreal you don't pay anything until you want to release your game commercially. The only reason I can think of for doing it the way Unity does is that they feel that they need money from the people who don't manage to make successful, profitable games along with those who do.

    I've had generally-positive experiences using both engines, and generally I don't think there's much reason to bash either one of them, which is not to say that they don't both have a lot of idiosyncrasies (as well as plenty of actual bugs). Still, if you don't need the features offered and you don't like the environment, don't use it. If you do, do.
  • Not so much the built-in assets as I never use stock stuff, moreso the actual primitives (cuboids, cylinders, etc). It's surprising what you can do with them, after all Thomas Was Alone is just a bunch of cuboids with an Orthographic camera.

    They definitely have their ups and downs, but calling Unity an inefficient and poor engine is definitely not right (that's not towards you FYI).

    Maybe I'm just bitter, there's a lot of stuff that goes on at my university involving UDK (we sponsor the Make Something Unreal stuff) but programmers don't get a look in as it's handled by the Games Technology stuff not Games Programming, so we get shoved to the side. ;)