Jump to content

  • Log In with Google      Sign In   
  • Create Account


Casey Hardman

Member Since 08 Feb 2011
Offline Last Active Aug 29 2014 10:20 PM

#5031646 2D or 3D for my first RPG?

Posted by Casey Hardman on 12 February 2013 - 07:04 PM

I think you should go 2D as well, if you have a 2D artist and no 3D artists.

Learning 3D art can be difficult and it takes time before you'll be good enough at it to make presentable stuff.  I think 3D art generally takes more time to make than 2D art.




#5030871 Anyone else run into the "idk what programs to make" issue?

Posted by Casey Hardman on 10 February 2013 - 06:50 PM

There are plenty of 2D games you could 'clone' for experience purposes, like Pong (as Bacterius said), Tetris, Dig Dug, Galaxian, Asteroids, or just a simple platformer.

 

They may not be the awesome, huge 3D projects you want to make, but they're much more realistic.

 

Hell, if you really can't make a 2D game whatsoever, just start programming for your 3D game ideas, and get as far as you can get with them.  You'll learn a lot, even if you fail to finish the project, and you'll probably feel more motivated because they're your little babies you're working on, not just clones of other games.




#5027781 Unity RPC calls slow

Posted by Casey Hardman on 01 February 2013 - 02:34 AM

They usually came fairly fast for me, but I never made a test using two different computers...and I later found out that you should always use NetworkViews for position synchronizing and such.

Supposedly, because RPCs are guaranteed to come in proper order, they'll stop up all other messages until they reach their target.  This can cause problems in games with fluid movement, like first/third-person shooters and such, because you're going to be pinging the movement a lot.  So you should use NetworkViews in that case, because you usually won't need the "guaranteed delivery" of RPCs.

 

Here's what "Dave Carlile" on Unity Answers told me when I was asking about RPCs in an FPS game a few months ago:

 

"...since RPC calls are guaranteed for both delivery and order, if one is missed they all queue up on the client while it waits for the missed one to be resent. This can cause some bad moments of lag. You should really use the NetworkView synchronization for an FPS game."

 

However, in something like a turn-based game where you aren't constantly calling RPCs, you may be able to use them instead.

 

How slow are you talking, though?  If it's something like 2 seconds, then there may be some other problem, because I remember getting RPCs fairly quickly in my testings (though I was testing with both clients and the server running on the same computer, so maybe that's why).




#5027704 Unity3d Basic Networking Issue

Posted by Casey Hardman on 31 January 2013 - 08:03 PM

Are you trying to connect more than once?  That could happen if the call to Network.Connect() is inside an Update() function.

 

To see if you've made a connection already, try this:

 

UnityScript:

function OnConnectedToServer() //This is called when you successfully connect with the server
{
   Debug.Log("Connected to the server.");
}

 

 

C#:

void OnConnectedToServer()
{
  Debug.Log("Connected to server.");
}

 

 

Then you'll be able to tell in the Console window if you've made a connection already.

Alternatively, when you call Network.Connect(), you could put a Debug.Log("Attempting to connect to the server"); before it.  If you see it more than once, then you know something's wrong.




#5024957 Unity 3D Gotchas?

Posted by Casey Hardman on 23 January 2013 - 07:39 PM

I think print() doesn't work in certain occasions.  Use Debug.Log() instead; I've never had a time where it hasn't worked.

 

Also, I second what uglybdavis said about creating references to .transform, .gameObject, etc.

 

If you know what your GameObject is named, you don't have to drag into the inspector, just do something like this:

 

GameObject player;

function Awake()
{
   player = GameObject.Find("Player");
}

 

 

I use this for setting up references and such at the start of the game.  This way, you're only calling GameObject.Find() at the start, and it won't cause any lag or framerate drops in the middle of gameplay.

 

EDIT:

Also, 2D arrays in Unity don't save like other variables do, so for example, you can't save a 2D array of nodes for pathfinding.  You have to make a specific class for it.

 

class Array2D
{
   nodeColumn[] columns;

   public node getNode(int x,int y)
   {
      return columns[x].nodes[y];
   }
}
class nodeColumn
{
   node[] nodes;
}

 

 

That might not be 100% proper and you'd probably want functions like setNode(int x,int y) and stuff like that, but I think you get the point.  Unity won't save your 2D arrays unless you kind of "hack your way around it" with classes.




#5024544 Main differences between Unity and UDK?

Posted by Casey Hardman on 22 January 2013 - 06:55 PM

I've been with Unity for a while now, and I've tried out UDK.

 

Honestly, as a beginner, I think you'll have a much easier time with Unity, and the price to pay is very little.

 

Unity does lack some graphical capabilities that UDK has, but Unity is overall much more innovative when it comes to the user interface.  Very easy to use once you grasp it, and grasping it isn't very hard.  Unity 4 is coming out with some pretty good looking features as well, including rendering and graphics boosts.  I think the graphics difference between Unity and UDK will be mostly insignificant soon enough, as Unity improves.

 

UDK doesn't seem to have any detailed and straight-to-the-point documentation on how to make a game.  I think it was made more specifically for mods, not just making games.  Even with hours of searching and playing around with it, I couldn't figure out how to do some very simple things, like making a simple 'player' that can move with WASD.  I could do that in 2 minutes with Unity, clean and easy, but UDK seems to insist on making me inherit from pre-made classes in a maze of not-very-explanatory documentation and web searches.  For a programmer, this is kind of like a slap in the face; I want to program my game my own way.

 

Unity also has the capability of targeting multiple platforms, including Android, iPhone, XBox360, PS3, and Wii.  Unity 4 is introducing quite a few exciting new things, including building for Linux and Adobe Flash Player, and as previously mentioned, graphics and rendering updates.

 

So I'm of the opinion that Unity is better for making games, not mods.  Unity has great organization of your scripts and assets, very easy and straight-to-the-point user interface, and lots of very helpful and nice people in the community (I'm not saying the UDK community is rude).  Also, it supports scripting with C# and its own, easy-to-use UnityScript language.

 

Though my experience with UDK is limited, I have many reasons to say Unity is a very good engine, and I think you'll have a much easier time getting into Unity than you would UDK.  I'd take it over UDK any day, because it just seems much more innovative, and there are lots of exciting things going on in the Unity community.

 

 

Hopefully I don't sound like a "Unity fanboy" because of this.  Just wanted to offer my personal experience with the two engines.




#5024176 Which engine is the most appropriate for this kind of game?

Posted by Casey Hardman on 21 January 2013 - 10:42 PM

I don't know a lot about any of the engines other than Game Maker, but from what I know about Game Maker, it can support the kind of game you're looking to make.

 

I don't know if you're trying to make a game without programming whatsoever or if you simply want to choose one that makes it easier to program your game?

I get the impression that you're learning how to program, so I'm going to talk about that.

 

Some of my very first programming experience came from Game Maker using the Game Maker Language, but I went about it all wrong.  I didn't really look into general programming fundamentals, like functions and classes and stuff.  I didn't learn much applicable stuff because I didn't take an object-oriented approach at my programming; I just kind of made some basic movement and stuff but never really learned that I was calling things called "functions" and other specific stuff about how variables work.

 

So I would suggest, if you're new to programming, don't just focus on making things work.  Try to figure out if they're actually working properly and efficiently, and try to learn generic programming knowledge.  Don't just jump into the "How to use Game Maker Language" documentation like I did; look for just generic programming stuff.




#5023090 Peer Groups

Posted by Casey Hardman on 18 January 2013 - 10:07 PM

If you're trying to get in projects with other developers, then you'd do it through the Classifieds section, where you can recruit or offer your skills.  Posting a thread in the forums isn't usually used for collaborating on a project.

 

The Classifieds can be reached through the top of the page.  Just scroll over the Classifieds button, and a drop-down box will show up, from which you should select Hobbyist Projects.




#5023084 Carrying capacity (primarily for RPGs)

Posted by Casey Hardman on 18 January 2013 - 09:21 PM

(I feel great when I kept that one potion of resist frost in skyrim and suddenly encountered five frost .. ghosts (name escapes me))

I think they're called Ice Wraiths...if you mean the little icy things that are really hard to see against the white background of snow lol

But potions in Skyrim aren't very heavy...they're only like .2 or .5 weight, and you start with around 300 carrying capacity and get something like 10 more when you upgrade Stamina (approximate values).  The real problem that I see is the issue of lugging around specific armor, because it's heavier.

 

 

In Fallout 3 for PC, I carried different kinds of weapons around with me for different situations, but a big problem I had was actually switching to use those weapons.  It took like 10 seconds to switch to a different weapon, because you had to lift up your hand, look at your little watch (and freeze time in doing so), navigate to Weapons, and then scroll through your weapons (I had like 20 of them...) until you find the one you want.  It's kind of like that in Skyrim too.

 

My point is, if you're going to let your player bring around equipment that is situation-specific, consider offering some kind of quick method for switching to different sets of equipment.  I especially liked the way Guild Wars did it: you have F1, F2, F3, and F4 as hotkeys to switch to different weapons/offhands.  That way, players could put their generic sword and shield in F1 and their +25 energy staff in F2, and maybe add a generic sword with a shield that's especially good against Earth damage, or something.

 

 

Asides from these nagging issues, I actually would prefer it if I could carry as much as I wanted in RPGs.  It'd be a good break from having to worry about everything I pick up, and as long as there's a way to filter the items (e.g. look only at weapons/armor/potions) then I wouldn't mind having a lot of stuff to look through.

I never really cared for the "realism" that limited inventory brought into games.  It was usually just a nuisance.  I always felt like I could play a lot better if I just had enough space to carry around my situation-specific equipment, and proper methods of switching between my equipment.




#5020085 Lines of Coding Per Day

Posted by Casey Hardman on 10 January 2013 - 06:45 PM

Guys, I have a unique opinion to share about this topic.

How many lines of code you write isn't a good way to measure your coding ability!

 

...did someone already say that?




#5014107 Unity, yes or no?

Posted by Casey Hardman on 25 December 2012 - 12:03 AM

Not entirely relevant, but I'll post it here just in case the parties in question happen to stumble on by.

 

A few weeks back I downloaded Unity to see what people were talking about. I was summarily unimpressed by the website, which looked like an advertisement rather than a distribution point for an IDE.

 

I ran the installer and it told me I had to register in order to use it, so I clicked cancel and deleted it.

 

~fin~

Your loss...?

 

Seriously, what's so bad about having to register?




#5013898 So I have the skill and the ideas, what next?

Posted by Casey Hardman on 24 December 2012 - 03:15 AM

I have similar problems, and I think it's good to make sure you don't get to yourself too much.  It's like others say: you just have to do it, and push away certain feelings that you're doing it wrong, you don't know what you're doing, you'll never make it, etc.

 

I also won NaNoWriMo like Dinner mentioned (and I have to brag about it!), and it felt good (at times; sometimes it was exhausting, but worth it) to just push away "the censor" that tries to get you to do everything perfectly on the first try.  If you succumb to "the censor" then you'll probably end up crippling your progress.  Sometimes, you've just gotta do it and leave the polishing touches for later, or never if they're not really that necessary in the first place.




#5008676 Getting start on creating my game

Posted by Casey Hardman on 08 December 2012 - 08:33 PM

From the little I have tried, I have found that unity scripting is a big pain in the rear. Pong is definitly a good place to start, although it really won't teach you much about unity's extensive tools for 3D, which is really the only reason to use unity over a C based language.
This is the official documentation for unity scripting: http://docs.unity3d....criptReference/. Unlike normal programming where it is all in the code, unity painfully goes back and forth between visual elements and code. I am not farmiliar with blender, but I find that unity is a good choice for learning, as it has a large community behind it and therefore an abundance of user-made documentation.

I don't see what you mean about Unity3D being "painful". I've been using Unity for years and I never thought the scripting language (which is UnityScript, though you can use C# or Boo if you want) was annoying. UnityScript is easier and faster to write code with than C# from my experience, because it automatically does some things that you would have to do manually in C#. There are some minor things C# can do that UnityScript can't, but they've never bothered me much.

To the OP:
Personally, I started programming by using Unity with 3D games, and I only had very slight experience with 2D from years ago, so you could say I hopped right into 3D scripting. I can't say whether this was "good" or "bad", as I think it depends on the individual. I often hear the most important thing is to just stick with one language/engine and roll with it until you get experienced. Programming experience is fairly general, so it will be helpful regardless of which language you're using.

You could definitely use Unity to make a Pong game, if you had an orthographic camera looking down on the paddles and didn't use the Y position of the paddles (the Y is up/down in Unity, the Z is forward/back, and the X is right/left). That way, you'd basically be "not using" the Y dimension, and you could just focus on the two that you need.

Unity also has built-in collisions and other such physics that you could learn the basics of by making a pong game.

If you're getting into Unity, I would suggest you bookmark this page, which has a search bar where you can look at classes and functions in the Unity engine, as well as a short little tutorial to get you started:
http://docs.unity3d....ence/index.html

Also, this website below is where you can go to ask specific questions about problems you're facing while using Unity:
http://answers.unity3d.com/

With some practice, I think you'll find that Unity is very powerful and flexible. Stick to the website and look through the documentation there, because it's very detailed and helpful!

Good luck!


#4997296 First Person Melee Games: Why do these games use 1st person instead of 3rd pe...

Posted by Casey Hardman on 04 November 2012 - 03:19 PM

I think it has to do with immersion and feeling more involved in the combat. As you said, first-person view means you have to turn to look behind you, whereas you can tell if something is coming from behind in the third-person view. Thus, first-person view provides an "in the moment" feeling, like you're the hero, not the commander of the hero.

Imagine games like Modern Warfare 3 in third-person view: it would make it easier to see people without endangering yourself. Third-person games usually allow the player to approach a corner and then turn their camera to view what's past the corner without putting themselves in danger, which I'm sure would be something FPS players would constantly use to check for enemies (those dirty campers!) before rounding a corner.

In my opinion, more tactic-based combat might benefit from third-person cameras, because you'll have an easier time telling where your enemies are, if you're close enough to hit them, etc.
Also, third-person and overhead views allow for area target spells and such, like you'll see in DotA 2 and League of Legends, where you can place specific effects here and there on the field, like calling down a rain of fire or a circle of vines that slow enemies down, and other such effects.

First-person games don't have an easy time with this kind of stuff. They're more for feeling in the moment and immersed, in my opinion, because you can't always see what's happening around your character. If you want a player to explore a world and you don't have a deep combat system in place, then it might be a better idea to go for first-person. If the player's positioning matters and they have to throw out a bunch of spells in different positions, then they'll want to have more control over this, and be able to see the battlefield from a third-person/overhead view.

For example, in Fallout 3, I played in first-person because I spent a lot of time exploring the world and when I fought, I basically just shot people a lot until they died (and deeply enjoyed the ways in which they exploded). I didn't have to decide which enemy I had to drain mana from, and which one would be best to use my frost spells on.

However, when I play DotA, I have to know where my enemies and allies are and I have to be able to place my spells in the right places, or use them on the right people (though one of my biggest problems is casting on nearby creeps instead of enemy players...)


Hopefully this helps!


#4995625 Do's and Dont's of Recruiting a Volunteer Team?

Posted by Casey Hardman on 30 October 2012 - 05:41 PM

Thank you all for the advice. I appreciate the time and effort!

I'll be compiling the information from this post and the "so you're a programmer" post into a document, so I can have it as a reference if there comes a time where I want to start a team.

If anyone has any other advice or links to possibly helpful threads/articles, I'd appreciate seeing them, too.




PARTNERS