Sign in to follow this  

How do you test game design concepts without writing everything from scratch?

This topic is 2571 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey there,
I've got a 3D game that is kind of complex, to the point that i _will_ have to write my own technology due to a requirement, which is a custom world editor for users to create worlds to share with other users.

As such, i can't use most game engines out there since they either dont have their source available, or i'd have to learn all the inner workings of said engines, or they cost a lot of money.

However, I don't want to write something from scratch because my coding skills, although decent, aren't strong enough for me to write the entire game by myself, and so far even though i've been producing results and generated some interest in the game, i have yet to find someone who wants to help me.

As such, i'd like to ask: Is there a way i can test some of the games concepts, maybe some sort of prototyping library, preferably without using another game engine since most of what i learn there will most certainly be wasted?

Share this post


Link to post
Share on other sites
There are some very modular engines available these days (Unity, Shiva, etc.), and I'd be a little surprised if you couldn't do what you're wanting to do using one of these engines (even the custom world editor).

Is there any particular reason you think the world editor would need to be created from scratch rather than being based on existing technology?

Share this post


Link to post
Share on other sites
Mainly because the world editor would be very game-specific. My goal is to write the basic functionality of the game with various ways to extend it, as it is a sandbox-based game, and provide a world editor where players can create and share their own worlds, races, technologies, items, etc.

I tried to find some game engines, but either they didnt work all that well, or were extremely expensive for me, or they didnt provide a way for me to create this custom tool.

I'd like it to not be embedded in the game, since i want it as a tool like Valve's Hammer (although much simpler), and since i want the average user with minimal scripting skills to be able to make at least a simple world, i can't rely on other much more complex editors as my world editor.

Share this post


Link to post
Share on other sites
Quote:
Original post by Little Coding Fox
Mainly because the world editor would be very game-specific. My goal is to write the basic functionality of the game with various ways to extend it, as it is a sandbox-based game, and provide a world editor where players can create and share their own worlds, races, technologies, items, etc.

I tried to find some game engines, but either they didnt work all that well, or were extremely expensive for me, or they didnt provide a way for me to create this custom tool.

I'd like it to not be embedded in the game, since i want it as a tool like Valve's Hammer (although much simpler), and since i want the average user with minimal scripting skills to be able to make at least a simple world, i can't rely on other much more complex editors as my world editor.
For what it's worth, Unity should meet all of the above requirements (there might be some other engines that would as well).

If you're finding that not to be the case (with Unity or any other engine), perhaps you could describe the problems you're running into.

Share this post


Link to post
Share on other sites
Many design concepts can be tested with pen & paper type board setups or quick mockups in flash or tools like Unity. Hell you could probably even LARP them [smile]

-me

Share this post


Link to post
Share on other sites
Quote:
Unity should meet all of the above requirements

IMO, it shouldn't. Unity is too universal. You can do lots of things there except the things that you really need. I have considered it too for my game and it was really obvious that it couldn't fit my specific needs. It's a toy for kids, not a serious engine.

EDIT: The exact problems were waste of time and.. uh.. waste of time - it required objects to add components (it's hard to review a block of text and icons quickly but it's necessary to make sure that components will work), made my fingers jump around the keyboard to do simple tasks (Blender, for example, doesn't do that), it was heavily asset-centered - it would take hours to make simple levels out of primitives and even if I had the assets - the transform tools were hard to use effectively. And the script editor was so behind other more modern editors that I simply hated using it.

OP:
You should really try to make that engine you want. Today, it's more than possible with all the APIs, libraries and articles available. Just remember to avoid the feature creep and remember that your main goal is to make a game, not an engine and you should be able to finish it.
As for prototyping... you could try UDK if you already have some basic artwork, otherwise just use your imagination. Play the game in it.

P.S. What's wrong with an in-game editor? It's just a different place for the same code (and probably less code because many functions would be shared)...

[Edited by - snake5 on December 2, 2010 12:52:19 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
You should really try to make that engine you want. Today, it's more than possible with all the APIs, libraries and articles available.


I tried using OGRE for graphics recently but i had some troubles with a bug which ended up not being fixed. What graphics engines would you (everyone) recommend?

Quote:
Original post by snake5
P.S. What's wrong with an in-game editor? It's just a different place for the same code (and probably less code because many functions would be shared)...


Mainly that since it is a 3D RPG with world streaming (mind you i had that working previously on my initial attempt), it requires very different processing of data and writing an extremely flexible GUI that supports every kind of widget known to man, along with bloating the Core game's source to support everything would be a definite no-no.

Share this post


Link to post
Share on other sites
Quote:
Original post by Little Coding Fox
Mainly because the world editor would be very game-specific. My goal is to write the basic functionality of the game with various ways to extend it, as it is a sandbox-based game, and provide a world editor where players can create and share their own worlds, races, technologies, items, etc.
Take a look at Atmosphir, a game (well, or perhaps a meta-game) that leverages an extensive world editor. The game is built on Unity. I listened to a talk by the lead developer, who raved about how easy it was to implement the world editor in Unity, compared to their previous technology set -- the basic functionality was laid out in less than a week, and the total migration effort only took a few months.

Share this post


Link to post
Share on other sites
Quote:
What graphics engines would you (everyone) recommend?

I recommend using APIs directly.

Quote:
it requires very different processing of data

Exactly the same processing of data. That comes from my experience, btw.

Quote:
extremely flexible GUI that supports every kind of widget known to man

Now that's a feature creep... use your imagination and you'll see how it's all possible without fancy and "widgety" editors.

Quote:
along with bloating the Core game's source to support everything would be a definite no-no

Editor can stay in it's own corner. A game level class can also be merged with editor and there is no code bloating. I have done that and game level class is actually the only place my editor-specific functions are in. Ok, maybe terrain class too.
My big advice here is: design your system, and don't try to stick it together based on some assumptions - think about how each part of the game code will affect the whole thing. Compare the pros and cons of all methods you know and don't be afraid to try new methods too.

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
It's a toy for kids, not a serious engine.
Look, I'm not advocating for Unity specifically (it just happens to be an engine that I'm fairly familiar with), but when I see a ridiculous statement like this, I have to respond to it. Unity has been successfully used in numerous commercial projects, so by any reasonable definition it is in fact a 'serious' engine.
Quote:
The exact problems were waste of time and.. uh.. waste of time - it required objects to add components (it's hard to review a block of text and icons quickly but it's necessary to make sure that components will work), made my fingers jump around the keyboard to do simple tasks (Blender, for example, doesn't do that), it was heavily asset-centered - it would take hours to make simple levels out of primitives and even if I had the assets - the transform tools were hard to use effectively. And the script editor was so behind other more modern editors that I simply hated using it.
It sounds to me like either the engine just wasn't a good fit for you, or you just didn't know how to use it effectively. Plenty of people use Unity and don't have any trouble at all with the things you mentioned. (It's true that the script editor that's shipped with Unity in the past is only so-so, but you can use another editor if you prefer.)

If it didn't work for you, fair enough, but I don't see any reason to discourage the OP from checking it out. It may not have been a good fit for you, but it works fine for plenty of other people.

Share this post


Link to post
Share on other sites
Quote:
so by any reasonable definition it is in fact a 'serious' engine.

Ok, fine. However, I haven't seen big games running on it. Only some fancy indie games or primitive techdemos.

Quote:
Plenty of people use Unity and don't have any trouble at all with the things you mentioned.

You mean those people who try to make "games" from tutorials? From what I see, it's taking way too long for them to make something worth looking at. By the time they finished their games I could have built another Unity engine in C++... but that's just what I see. Maybe people in other countries have faster fingers.. :D

Quote:
I don't see any reason to discourage the OP from checking it out.

I'm not discouraging him. (Since when a detailed description of problems is discouraging, btw?) I'm just giving another opinion. The way I see it - the more opinions, the better is his choice for himself. Unity is way too much hyped up for me to be positive about it though.
Btw, I kind of see where he's going with his game. 1 - A big project. 2 - Feature creep. Unity is a sandbox-like editor. That isn't really the thing for bigger projects because of the feature creep - developers usually feel the need to use sandbox editors in every way they can be used (which is obviously too much here).

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
Quote:
so by any reasonable definition it is in fact a 'serious' engine.

Ok, fine. However, I haven't seen big games running on it. Only some fancy indie games or primitive techdemos.
You haven't looked very far, then, given all the projects EA has been using it for.

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
Btw, I kind of see where he's going with his game. 1 - A big project. 2 - Feature creep.


Not quite. I'm not planning on doing a MMORPG or anything similar. Just a 3D RPG with a big enough world, sandboxed.

I sent mail to the project Sneftel referenced, now i'm hoping for a reply.

Share this post


Link to post
Share on other sites
Quote:
You haven't looked very far, then, given all the projects EA has been using it for.

I could find only one. Btw, here's a funny quote:
Quote:
They picked us not because we were the most optimised for this, but because we could work well on low-end hardware - it is a children’s game that can work on passed-down previous generation PCs.

http://blogs.ft.com/techblog/2009/12/unitys-common-platform-for-game-developers/

Quote:
Just a 3D RPG with a big enough world, sandboxed.

That is a big project and you have already proved that it might be a feature creep.
Don't underestimate the amount of work you're planning to go through.

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
Quote:
so by any reasonable definition it is in fact a 'serious' engine.

Ok, fine. However, I haven't seen big games running on it. Only some fancy indie games or primitive techdemos.
What's wrong with fancy indie games?

Most AAA games have existing technology and/or engines in place, and are probably unlikely to be looking at new, third-party solutions when starting a new project (although that might change with time). Even so, Unity is not only used for indie and 'small studio' games. For example, EA uses Unity, and I'm sure you'd agree their products don't quite fall into the category of 'indie games and primitive tech demos', right? Also, Unity has been used for a lot of successful iPhone games, and that's a valid commercial market as well.

In any case, your assessment seems somewhat distorted by personal antipathy for the engine. The fact is, it is a 'serious' engine, and is used commercially in a variety of contexts (not just indie games and tech demos).
Quote:
Quote:
Plenty of people use Unity and don't have any trouble at all with the things you mentioned.

You mean those people who try to make "games" from tutorials?
No, that's not who I mean.
Quote:
From what I see, it's taking way too long for them to make something worth looking at.
One thing I'll happily concede is that Unity's low barrier to entry has created a large community of Unity users who are inexperienced as far as game development goes. I think many young kids, visual artists, and non-programmers pick up the engine in the hopes of making the 'next big game', struggle for a while, post some questions to the forums, and then eventually give up and disappear. (Maybe that's a little cynical and/or uncharitable, but it's just an observation.)

Maybe these are the people you're referring to, and maybe this is where some of your antipathy for the engine comes from. But, you shouldn't blame Unity for being easy to use, or characterize the user community based solely on those particular users. The fact is there are many highly skilled and technically adept Unity users as well who are able to use the engine to create quality products. Those are the people I'm referring to when I say that plenty of people have no trouble using Unity.
Quote:
By the time they finished their games I could have built another Unity engine in C++... but that's just what I see.
Well, I admit I'd like to see that :) (Remember, said engine would have to run on a wide range of hardware, target OS X, Windows, iPhone, and various other platforms, and run in a browser as well in order to be comparable. If you can do that in the time it takes to make a single game in Unity, then you've got some serious skills ;)
Quote:
Quote:
I don't see any reason to discourage the OP from checking it out.

I'm not discouraging him. (Since when a detailed description of problems is discouraging, btw?)
Saying that Unity is a 'toy for kids, not a serious engine' is pretty discouraging, IMO. Also, just about all of the things you listed are not 'problems', but just things that you, personally, didn't like for whatever reason.

Anyway, sure, the more opinions the better, I suppose. Just consider my posts an effort to balance the points you've put forth in yours :)

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
Don't underestimate the amount of work you're planning to go through.


I most certainly dont underestimate the ammount of work i'm planning to go through. I worked on this game for over 2 years from scratch with pure OpenGL and my own core library, a few tools, even got some cool stuff done.

But it was taking too long to even get anything playable, and with my job things are getting even harder to work on, which is why i'm seeking alternatives.

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
I could find only one. Btw, here's a funny quote:
Well, you seem pretty determined to focus only on any negative (or seemingly negative) things you can find - it's pretty clear you're predisposed against the technology.

If so, that's fine. There are many similar (and dissimilar) technologies available (Shiva, UDK, XNA, C4, Panda3D, etc., etc.) - they're all just tools, and everyone is free to use whatever tool suits them best.

But, I really don't understand your antipathy for Unity. No technology can be all things to all people, and Unity is clearly a 'serious' tool that meets a need and has its own niche.

Remember, Unity has some specific characteristics that set it apart from (at least some) other engines, in particular the fact that it can target a wide range of hardware and targets many different platforms, and can also run in a web browser. Comparing it to other engines that are PC-only and/or don't target handheld devices, web browsers, etc., is comparing apples and oranges, more or less.

Share this post


Link to post
Share on other sites
Quote:
Original post by Little Coding Fox
I most certainly dont underestimate the ammount of work i'm planning to go through. I worked on this game for over 2 years from scratch with pure OpenGL and my own core library, a few tools, even got some cool stuff done.

But it was taking too long to even get anything playable, and with my job things are getting even harder to work on, which is why i'm seeking alternatives.

I think most of us have gone through that. :-) We start out all "I am l33t! I will code everything from scratch! PH34R!!!" and sit down with our C++ compiler and try to recall the argument list ordering for WinMain. After a while, we realize that the effective developer is one who can leverage existing technology. At the time, the eight thousand lines of code I spent on reimplementing portal-cell visibility culling felt like something to be proud of. ...Well, actually, it still does. But it was also a distraction, time that could have been better spent on actually making a game.

Incidentally, even if you decide not to go with Unity as a technology base, it's also pretty decent for prototyping gameplay, especially once you build up a small library of useful behaviors. I've also heard good things about RPG Maker, although (a) I have not used it, and (b) it is, as the name should imply, pretty much for RPGs.

EDIT: Oh, and also keep Flash in mind for prototyping... the prototypes you get out of it won't be pretty, but it can be an effective way of getting ideas onto the screen quickly.

Share this post


Link to post
Share on other sites
Well, my situation is a bit different from that. For one thing, i've been doing game development-related projects for 8 years now, so this wasnt a random "hey i'm gonna make a RPG and it'll be cool and stuff" moment. Also, i didnt give up all that easily, since i've been working on it for two whole years before i decided there's gotta be a better way.

I'll probably go with Unity, but i'll only finally decide as soon as i get a reply from that project you referenced. Hopefully all'll go well :)

Share this post


Link to post
Share on other sites
Incidentally, as far as "unity-related editors" go, there's this guy I talked to at a conference recently who had implemented this rather interesting 2D platformer map editor in Unity... it allowed one to quickly build surprisingly nice-looking levels based on contextual tiles, then export back out into Maya to fancy things up a bit. I'll try to find his business card.

Share this post


Link to post
Share on other sites
Quote:
But, I really don't understand your antipathy for Unity.

Hype > Useful stuff. That's what I see and that's why I am a bit against it. But just a bit. No need to make things bigger than they already are - I didn't say it's not good for anything. I didn't say only idiots use Unity. I didn't say lots of things because I for some reason believe that Unity will be better for everyone (I've already given up on UE3 though :D).
My point about ease of use is still valid though - the editor isn't as easy to use as many say. Compare it to almost any 3D modelling tool with scene editor functionality and you'll see.
What I also dislike about Unity is that they have decided to expand more than add quality - updating editor to be a lot easier to use is really trivial but for some reason they thought that spending time with shiny shaders and fancy platforms is better.

Quote:
before i decided there's gotta be a better way

The better way is the way where you plan everything from A to Z. I'm not sure how you did things but I can guess that if in two years you didn't do much then it's bad planning. Change your look on things and you'll change your speed of work. And I'm serious. If you're saying that you did not underestimate your work but didn't do much at the same time, I suggest you to reconsider thinking about the problems, not escaping from them.

Quote:
There are many similar (and dissimilar) technologies available (Shiva, UDK, XNA, C4, Panda3D, etc., etc.)

It's funny that you mentioned those - I dislike all those tools that I know from the list. :D

Share this post


Link to post
Share on other sites
Quote:
Original post by snake5
updating editor to be a lot easier to use is really trivial but for some reason they thought that spending time with shiny shaders and fancy platforms is better.


With respect, given the success of Unity at the moment, I suspect that they are responding to feedback from users rather than making things more shiny.

Zynga are making gazillions of dollars at the moment because their business model is based upon responding to user feedback.

Share this post


Link to post
Share on other sites
Quote:
Quote:
There are many similar (and dissimilar) technologies available (Shiva, UDK, XNA, C4, Panda3D, etc., etc.)

It's funny that you mentioned those - I dislike all those tools that I know from the list. :D
Haha, wow...you're hard to please! ;)

Share this post


Link to post
Share on other sites
There's this thing that developers sometimes do in response to the emergence of a popular tool which is unfamiliar to them. They don't have any experience with it, which is troubling to them, but they don't really want to spend a bunch of time getting to know it, and they don't want it to obsolete their current skillset. So what happens is, they'll get to know it just enough to become annoyed by something or other in it (either a real problem with the tool, or a "problem" caused by them not having enough experience with the tool to leverage it properly). Then they can comfortably dismiss it as "learned it, not useful, just hype". It's amazing how quickly you can "learn" new technologies with this strategy.

Also, Little Coding Fox, I have utterly failed to find that tile map editor I was talking about. Sorry.

Share this post


Link to post
Share on other sites
Unity has been useful for reteaching me a lesson that I should have learned a long time ago: Don't reinvent the wheel.

Sure, I could attempt to create my own gameobject/component architecture, but why would I do that when I can just use Unity or a similar program? With that said, it's certainly a good idea to see how those kinds of things are implemented so that you can better understand the documentation and design.

Share this post


Link to post
Share on other sites

This topic is 2571 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this