Sign in to follow this  
HappySlapp

This is probably WAY too big to begin...

Recommended Posts

My idea was to make an RPG using Unity, which I am basically almost out of the beginner level of skill in it's use. But I feel as though it's going to be too big to start with.

 

And in that case, what would be the best course of action?

Share this post


Link to post
Share on other sites
Yes it's doable so long as you clearly define your goals and plan beforehand. Feature creep is your worst enemy.

My first proper game was a role-playing game, but it was purely text based. When you go 3D you add a whole new world of hurt having to deal with 3D animations, models, and types of art that to be honest are difficult unless you're also a 3D artist or know one.

Good luck with your game!

Share this post


Link to post
Share on other sites

I actually learnt Unity pretty quickly, without prior knowledge of programming, I feel like it's my go to for right now, I've tried making my own engine before, and having an already made engine just makes things a bit easier to me, but thank you so much for the information, guys.

 

My problem is that I think way too big with any of my projects, then I just abandon them, is there ever a sure fire way of avoiding this at all?

Share this post


Link to post
Share on other sites

I actually learnt Unity pretty quickly, without prior knowledge of programming, I feel like it's my go to for right now, I've tried making my own engine before, and having an already made engine just makes things a bit easier to me, but thank you so much for the information, guys.

 

My problem is that I think way too big with any of my projects, then I just abandon them, is there ever a sure fire way of avoiding this at all?

 

This is one of the major problems that face most independent developers, and many professional ones.  

 

Your goal should be just one thing, finish a project.  As such, the project needs to be of a scope that... well, that you can finish.  The thing you need to consider is what exactly that scope should be.  I'm sure you realize that it should not be too big, and everyone pretty much realizes that.  But, what you learn from hard experience is that what you usually think is a realistic scope, is actually still way too much for you to handle in any reasonable amount of time... which normally leads to people abandoning a project.

 

What I'd advice is to think of it as a learning project, not as a real game that you expect anyone other than yourself to play.  You're just making it to 1) learn how to make a game, 2) prove that you can finish a project, and 3) to have a codebase to use on your next, more ambitious one.  Then, take all your ideas and strip them to the bare essentials.  If you have like 10 character classes, drop it to 2.  If you have dozens of enemy types, make just 2 types.  20 different levels?  No, make 1 level.  15 unique weapon types?  Make just 2.  You're not trying to build a mansion, or even a house.  Your're just trying to prove that you can build 4 walls and a roof, with a door in one of the walls.   Only the basics should be there and you can add features later for version 2.0 if you want, after you finish this one.

 

Once you have your bare bones design, break it down into tasks and start working.  I wouldnt even bother with a schedule because unless you have a lot of experience making games... you dont know enough to properly schedule anything.  You'll learn how long it takes to get things done once you've done them.  All I can say is that it will always pretty much take you much longer than you initially thought. 

 

Good luck.

Edited by 0r0d

Share this post


Link to post
Share on other sites

I actually learnt Unity pretty quickly, without prior knowledge of programming, I feel like it's my go to for right now, I've tried making my own engine before, and having an already made engine just makes things a bit easier to me, but thank you so much for the information, guys.
 
My problem is that I think way too big with any of my projects, then I just abandon them, is there ever a sure fire way of avoiding this at all?

 
This is one of the major problems that face most independent developers, and many professional ones.  
 
Your goal should be just one thing, finish a project.  As such, the project needs to be of a scope that... well, that you can finish.  The thing you need to consider is what exactly that scope should be.  I'm sure you realize that it should not be too big, and everyone pretty much realizes that.  But, what you learn from hard experience is that what you usually think is a realistic scope, is actually still way too much for you to handle in any reasonable amount of time... which normally leads to people abandoning a project.
 
What I'd advice is to think of it as a learning project, not as a real game that you expect anyone other than yourself to play.  You're just making it to 1) learn how to make a game, 2) prove that you can finish a project, and 3) to have a codebase to use on your next, more ambitious one.  Then, take all your ideas and strip them to the bare essentials.  If you have like 10 character classes, drop it to 2.  If you have dozens of enemy types, make just 2 types.  20 different levels?  No, make 1 level.  15 unique weapon types?  Make just 2.  You're not trying to build a mansion, or even a house.  Your're just trying to prove that you can build 4 walls and a roof, with a door on one of the walls.   Only the basics should be there and you can add features later for version 2.0 if you want, after you finish this one.
 
Once you have your bare bones design, break it down into tasks and start working.  I wouldnt even bother with a schedule because unless you have a lot of experience making games... you dont know enough to properly schedule anything.  You'll learn how long it takes to get things done once you've done them.  All I can say is that it will always pretty much take you much longer than you initially thought. 
 
Good luck.

Thanks for the heads up, I've always tried adding too much (ala Feature Creep), not because I feel as though it needs added, but because that's what RPGs have. And mine should have it too. I have to get out of that mindset.

Share this post


Link to post
Share on other sites

More is not always better.

 

It's like making a large table filled with food, and you're the master chef. For simplicity, let's say you made 5 dishes. Your guests arrive, they eat and drink and have a great time, but what do you see? The 2nd dish is hardly used, and the 5th not at all!

Why? Was the food not good? Was the room too dark or too light?

 

When you sit down with the list of ingredients, you suddenly see. The 2nd dish could be done with the 1st and a bit of the 3rd, and the 4th and 5th are very similar, but the latter is much harder to eat.

 

In your game, you want all game elements to be used. Also, the elements must make sense.

The more elements you add, the harder this gets. People will try to use all elements at all places, and it must be logical that wizarding a door open cannot always be done, if your game also has keys.

 

In reverse, the fewer elements you have, the easier this design problem becomes. If I only have keys, I won't try magic to open the door.

 

 

Also in this game play design perspective, it makes a lot of sense to start small, and only extend when you really can't do without (which you'd play test).

Share this post


Link to post
Share on other sites

More is not always better.
 
It's like making a large table filled with food, and you're the master chef. For simplicity, let's say you made 5 dishes. Your guests arrive, they eat and drink and have a great time, but what do you see? The 2nd dish is hardly used, and the 5th not at all!
Why? Was the food not good? Was the room too dark or too light?
 
When you sit down with the list of ingredients, you suddenly see. The 2nd dish could be done with the 1st and a bit of the 3rd, and the 4th and 5th are very similar, but the latter is much harder to eat.
 
In your game, you want all game elements to be used. Also, the elements must make sense.
The more elements you add, the harder this gets. People will try to use all elements at all places, and it must be logical that wizarding a door open cannot always be done, if your game also has keys.
 
In reverse, the fewer elements you have, the easier this design problem becomes. If I only have keys, I won't try magic to open the door.
 
 
Also in this game play design perspective, it makes a lot of sense to start small, and only extend when you really can't do without (which you'd play test).


Exactly, this is the problem I must have, I add too much too fast, instead of refining what is already there. And using just what is needed, instead of using it all.

It also helps to make games stand out a bit more, since they aren't a carbon copy.

Share this post


Link to post
Share on other sites

This IS way too big to begin.

You would better start with games like Pong, Tic Tac Toe, Tetris, Snake Game.

 

Also you would better not get started by using Unity for that matter.

Since, you will not understand concepts like implementing the game loop, the texture/resource manager, physics, particle system, etc.

Game engines probably assume that you already know these things and now don't want to waste your time doing these things again and again.

 

For example: If you want to create a third person shooter with Unreal Engine, you can just click that option while creating a new project and you are already supplied with a ready made third person shooter. The player can walk around, jump, etc. already. Isn't this magic? What did you learn? How will it benefit you further? Similarly for Unity, you can just add a third person controller and the magic begins!

 

I don't really understand what is wrong with using stuff that other people made, that is basically how real world works... waste 3 weeks making it yourself, or find something that works and probably works better than coding it yourself although it might cost a buck or two and use that? Like if you use the 3rd person controller and it works then boom. Spending 2-3 weeks to get something like moving cube to work, while fighting against null pointers is more likely going to burn people and prevent them from doing anything.

 

And even if you use ready made scripts, you can try and test how to adjust things to figure out how stuff works. I just cannot really see why someone would rather advice beginner game developer to go use SFML over Unity.

Share this post


Link to post
Share on other sites

 

I don't really understand what is wrong with using stuff that other people made, that is basically how real world works... waste 3 weeks making it yourself, or find something that works and probably works better than coding it yourself although it might cost a buck or two and use that? Like if you use the 3rd person controller and it works then boom. Spending 2-3 weeks to get something like moving cube to work, while fighting against null pointers is more likely going to burn people and prevent them from doing anything.

 

And even if you use ready made scripts, you can try and test how to adjust things to figure out how stuff works. I just cannot really see why someone would rather advice beginner game developer to go use SFML over Unity.

 

 

Thing is, if you never even try to make something yourself, you will always be dependend on outside help... not a comfortable situation to be in for a lone wolf Indie or hobbyist.

 

Of course, once you have the skills, you shouldn't continue to try to bake your own stuff. But you need to be able to fix the stuff others broke. You need to be able to integrate stuff, write glue code, work around limitations and optimize.

 

There usually is no magic button in an engine "integrate downloaded thirdparty asset"... sometimes it is as easy, sometimes not. The amount of helpless people posting in the unity forums, hoping for an asset dev to fix simple compile errors they could have fixed themselves in minutes if they had spent some time looking through the code and at least vaguely understanding what is going on in the third party asset is staggering.

Sometimes that guy is me, yeah. Sometimes the thirdparty devs are quick to respond and I get the fix quick and easy. Sometimes I wait weeks while the thirdparty dev is most probably busy, you know, actually earning his rent (which often is not coming from Unity assets alone).

Sometimes the dev actually ABANDONED the asset, and you are on your own. Either you find an alternative asset, you fix the original asset yourself or you rewrite from scratch.

Happened to me in 3 instances. One thirdparty asset I needed badly, but the dev was gone. So I had to support it myself. One system was in quite a bad shape, and I needed to customize it. Dev didn't react for 6 months. I had used some of the high level ideas of the thirdparty asset to implement my own system, which was way better, cleaner, AND customized to my needs in that time. And then there was the Physics engine that should have replaced the horribly broken current PhysX version in Unity. Dev "has left the building", leaving me and others in my shoes back with the choice of either spending an insane amount of time integrating an open source physics engine, writing our own custom small scale physics engine, or spending just as much time massaging PhysX to do our bidding.

I often wished I had more time to work myself further into coding in Unity... its worth the time you spend on learning it in gold. Nothing worse than having to klick into the asset store everyday hoping somebody finally releases a system that solves your problem... or the horror finding out one of the assets you rely on most is no longer supported.

 

There is neither a magic button "fix messed up 3D model". If it is messed up after import, you either need to fire up Blender and see what exactly is wrong, or you go hunting for an alternative model.

 

And of course there is no "optimize my game" button either. Without intimate knowledge of 3D engines, and all the Systems that are at work in it, you will have little chance to get good performance as soon as you leave ultrasimple 3D or 2D games.

Unless you happen to stumble over one of the few good guides out there... and then you are often left with useful recommendations for people with exactly that knowledge, like "implement object pools", "use occlusion culling", and so on.

 

 

Now, I am not suggesting "you need to write your own 3D engine to be able to use 3D engines"... but jumping right into the editor, cobbling together your scene, overloading the physics system while blindly adding 1000's of trees without using any instancing, and then expecting "profit" after that is maybe also not the right thing to do.

And others before me have also not suggested to stick to DIY. It is just the more commonly suggested, and more failproof way of getting the skills needed for being able to work on complex game projects.

 

There are people who went a different route, myself included. I did ONE basic game in Java, and years later jumped right into the Unity engine. A lot of swearing, shelfed, way overscoped projects and banging the head against the wall later I finally also start to get quite good at it. And I am starting to home in on the scope I am able to realistically achieve.

Would it have been easier to start the more conservative way, creating small clones, moving up the video game timeline before trying my hands at Unity? Maybe... but I am sure without having a thick skull and being a little bit crazy I would have abandoned game development by now. Most guys are motivated by success, and not simply challenge. And directly jumping into the deep end and overscoping is certainly challenging, but leads to consecutive failures, not successes. At least at the beginning

 

 

I see where you are coming from with the low level plumbing woes. But lets be honest here. As long as you don't have the financial capabilities of a big studio, you will at some point have to get your hands dirty, no matter what thirdparty solution you use to speed up your development (see the unity thirdparty asset compile error woes).

If you are not ready for that, and have no expierience handling low level problems like that, you will loose the speed you just gained again.

Edited by Gian-Reto

Share this post


Link to post
Share on other sites

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