Search Unity

Help clear some things up for me.

Discussion in 'General Discussion' started by Java, Oct 3, 2013.

  1. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    Hey. I have been learning java for the past 8 weeks. I feel I am comfortable with the basics of it. However my real goal is to make a browaer based online MMORPG. I am unsure if I should stick with Java and use a game engine like jMonkey or if switching to C# would be better.
     
  2. DallonF

    DallonF

    Joined:
    Nov 12, 2009
    Posts:
    620
    First things first: you won't get much support around these parts by saying you want to make an MMORPG. Please consider the scope of a project like that before attempting it and getting frustrated. If it helps, start to make a list of all the things you need to do to make your dream game real and estimate how many days each task will take you. But there are plenty of wonderful posts on this topic and I won't waste any more words on it, save two: START SMALL.

    Alrighty, now to actually answer your question. First off, I am curious as to why you're on the Unity forums, as Unity doesn't use Java. Unity does have a language called "JavaScript", which A. is very different than Java and B. is not even truly JavaScript. (Can we please just call it UnityScript, guys?) So if you want to use Unity, you'd be best to learn C#, which is very close to Java and should be a smooth transition.

    However, if you want to make a browser based game, neither a Java applet nor Unity is going to be your best option going forward. The web is moving away from plugins. Already, Java is hard to target. Unity should be safe for a little while longer, but big browsers (namely Chrome) are starting to discourage plugins like it and if you consider how long it takes to make a game of the scale you're talking about, chances are good that the Unity Web Player won't be a viable platform by the time you're done.

    So if you want to make a game in the browser, your best bet is to actually target the browser. That means JavaScript, HTML5, and WebGL. Unity does not currently support that platform, so at the moment you'll be forced to do it without a (good) game engine to help you. (Unity does support Chrome Native Client, but I don't really know much about that. And it only supports Chrome.)

    Considering that I've mentioned Java, JavaScript, and UnityScript in the same post, it's probably a good idea to post a standard clarification as to what they mean:

    Java is a compiled, statically typed language. Things made with Java: Minecraft, Runescape, Android apps.

    JavaScript is an unrelated dynamically typed scripting language for the web browser. It's called JavaScript because of a dumb marketing decision about a decade ago, not because it's anything like Java. Anything you see happening on the web that doesn't refresh the page is done with JavaScript.

    UnityScript (which, for reasons I cannot fathom, is called "JavaScript" within the Unity editor and marketing materials) is a compiled, semi-dynamically typed language that only works for Unity. As for comparisons, it's really closest to Flash's ActionScript 3.

    C# is a compiled, statically typed language that is extremely similar in mechanics and syntax to Java, though it's not as popular. Things made with C#: Terraria, Super Meat Boy (I think), lots of Unity games.
     
  3. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    After having posting on the jMonkeyEngine forum I have found out how hard a MMORPG is. So I don't think I will be doing this.

    Also, the reason I posted here was to get some insight on a MMORPG if it is easier to do via C# or Java. Also, Runescape has switched over to HTML 5.

    I know the difference in Java, and Javascript.

    Thanks for the input.
     
  4. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Take out the first 2 M's and the O and you may have a better option there.

    However, as someone who has attempted an RPG, I would recommend removing the RP also.

    Just my 2 cents. If you have only been studying it 8 weeks part time, there is no way you will be ready, to be absolutely brutally honest, however, I do want you to prove me wrong and surprise me, I love it when developers are able to produce something amazing :)
     
  5. Lypheus

    Lypheus

    Joined:
    Apr 16, 2010
    Posts:
    664
    I came over from JME/Panda3D to Unity3D a few years ago and never looked back, go with Unity3D and use C# - that's what I did anyhow.

     
  6. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    Well I have never even studied C# so I would basically be starting from scratch. But if some of you guys have years of experience under your belt and have trouble with MMO + RPG then I don't think I will be attempting it. I am not going to be the next WoW maker and never will be so I don't want to try if it is WAY harder then I thought.

    I am looking to do something for money though so possibly making Android apps by improving the Java that I know will end up being a better bet.
     
  7. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    You don't have to be. Just use all the games made originally by a single developer that have become massive as inspiration.
     
  8. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    By that comment I meant I won't get the knowledge to make something that big. I won't have a team of lots of people to help. I am mainly after a single manned project. I just wanted to resurrect Runescape Classic with a lot better features.
     
  9. XGundam05

    XGundam05

    Joined:
    Mar 29, 2012
    Posts:
    473
    Something to think about: you could start out with a MUD, and a MUD is a bit more feasible for one person. After making the MUD, you could make a graphical client for it. From there, you could take what you've learned and start dealing with more "traditional" features (i.e. free movement and positionally-based combat) on a room-by-room basis. Then from there, you take what you've learned and make the "rooms" bigger, into regions, into zones, etc.

    Don't get me wrong, a MUD is still going to be a pretty big undertaking, but a MUD is a pretty good place to start as you don't have to worry about graphics, physics and collisions.

    Besides, MUDs are awesome...and now I want to go back and play more Achaea >.>
     
  10. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Haven't we all ;)

    I was even thinking about it today.

    RuneScape in itself isn't really that difficult in terms of an offline perspective, however, the real pain in the ass would come in with the security measures. So maybe you could start a simple single player version and just add features and re-write code as you go. First just get click moving up and running, then move onto interaction with the world, mining for example, then move onto something more complex, such as creating a system of storing the data for crafting and so on. By no means is it a small project, but if you keep at it, you may be able to build upon it
     
  11. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    So are you guys telling me I should stop with the Java, learn some C# and then slowly work on a game piece by piece?

    I don't want to get into MUD as it doesn't look interesting to me. I see it as, start with something that is up to date and will work and slowly learn it.
     
  12. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Well learn the basics of C# outside of Unity, trust me as I started inside of Unity and once you are too far in it is very hard to separate it from Unity, in my situation anyway.

    Ofcourse that is not to say that you cannot apply it in Unity as you go. But yeah, start to program a game slowly, getting the basics out of the way first. Your first pieces of code are going to be rubbish, hell, everyone's is at a beginner level (And I still believe mine to be). This code that you write will not be the be all and end all, you will re-write it atleast a dozen times throughout the learning process as it is how you learn. And each time you re-write, the better it will be and the more methods you can use.

    Another note, do not get caught up in a lack of models and use the "I have no models therefore I cannot do this". I am very guilty of this crime, using it as my procrastination level. Make place-holder graphics and work with that. Place-holders should be simple as well, they are getting replaced.

    So the best advice I can give you is to work it through, get it to a decent playable level and then post it in the WIP section and get feedback. Nothing warms the heart more than "Dear Jesus that looks amazing" or "Holy balls you have achieved so much well done"

    Myhi
     
  13. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    Great. This is some great motivation. I just got a brand new HP Envy DV7 today and I am about to have 6 months of pure free time to work on this. Going on a deployment so will have plenty of time to read up and practice. I mainly want to learn something while I am deployed so I figured this is the way to go. I can't really think of any programs that are profitable other then mobile apps and games so this is the reason I am going this way.

    What are some other tools I should have on my arsenal for when I begin this?

    Microsoft Studio, Photoshop?

    I take online classes at a college and I can take a C# programming class in 2 weeks. I will be sure to enroll in that so I can get some good knowledge in C#. My Java class is over in 1 week so I can start on some C# basics now.

    Thank you!
     
  14. XGundam05

    XGundam05

    Joined:
    Mar 29, 2012
    Posts:
    473
    Is okay, they're not for everyone ;) But they are the birthplace of MMOs as we know them today.

    As far as tools, you can't beat Visual Studio as far as IDEs for C# go. And you don't need the professional license, the express edition will do just fine. As far as other tools, I'd pick GIMP over Photoshop (GIMP is free, and incredibly powerful) and Blender over other modeling software (again, free and incredibly powerful. Also a lot more user friendly than it used to be).
     
  15. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    Well I have PS on one of my computers but I will check out GIMP. I think I have heard great things about it. Also, as far as Unity3D, is this program free or will I have to pay the 75$ month?
     
  16. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    Just remember not to squander your time too much, try to allocate a few hours per day to the given tasks.

    I love Visual Studio C# Express edition editor, as it is simply fantastic in my opinion, however monodevelop is..... o

    Good the more knowledge you can consolidate the better, just don't make your brain explode now.


    I was fine until this.... Wut? I personally would start away from those platforms as optimization is a key feature, and, well, as a beginner you will not have the skills needed for that kind of intensive optimization.

    If you need any help, add me on Skype, shoot me an email or a PM. Online most of the time.
    Myhi


    EDIT : Unity is completely royalty free in the free edition, however, the pro version is freaking fantastic
     
  17. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    Myhi, I have added you on Skype. My id is 'veconomy'.

    Also, I will stay away from the mobile apps.

    And is the Pro edition something that I will need straight away? Or can I get away with learning basics with the free version?
     
  18. Archania

    Archania

    Joined:
    Aug 27, 2010
    Posts:
    1,662
    Unity has a free version and a pro version. You can make fantastic stuff with the free version. You can check out the difference between them. I don't have a link handy. And if you can't do it in free, the pro version isn't going to help you.
     
  19. XGundam05

    XGundam05

    Joined:
    Mar 29, 2012
    Posts:
    473
    You really don't need a pro license. You can do pretty much everything you'd want to in free. You won't get profiling, render textures or full-screen effects, but yeah, you can make pretty much anything you want to in just the free license.
     
  20. Myhijim

    Myhijim

    Joined:
    Jun 15, 2012
    Posts:
    1,148
    God I love Unity

    <3
     
  21. BFGames

    BFGames

    Joined:
    Oct 2, 2012
    Posts:
    1,543
    If you want to work with Unity then go with C#.
    Else there is not far between C# and Java, i used Java in classes without many problems (without ever using it before) because i knew C#.
     
  22. eskimojoe

    eskimojoe

    Joined:
    Jun 4, 2012
    Posts:
    1,440
  23. DallonF

    DallonF

    Joined:
    Nov 12, 2009
    Posts:
    620
    I appreciate your openmindedness!

    To answer your new question (would it be easier to make an MMO in Java or C#), the fact is that by the time you reach the skill level at which you can actually make an MMORPG, the language you're using ceases to matter. A good programmer knows several languages and will choose the best one for the best job. If you want to make a browser-based game, JavaScript is the way to go. If you want to make... well, any other kind of game, Unity is the best engine (obviously subjective, but you'll be hardpressed to find someone to disagree on these forums), which means you'll be writing in C#. If you need more horsepower and flexibility, you might want to roll your own engine, and there's no good reason to do that in anything less than C++. Java is a bit of a dead end for game development, though. It's fantastic for Android app development and widely used for server-side and enterprise programming, it's not practical to make games with it because it fits in that weird place between wanting to make a game super quickly and easily (Unity's best at that) and wanting to make a super-performant graphics-intensive game (where you'd want to use C++).

    So my answer is to learn Unity if you want to make games. If you want to do other kinds of programming, learn Java too. And JavaScript. And C++. Lua is a fantastic way to make modding APIs. Shoot, Ruby and Python are good to know, too.

    In short:
    $f96aca0f18128401f5c83dc4bcb35ea6.jpg
     
  24. Java

    Java

    Joined:
    Oct 3, 2013
    Posts:
    44
    Hey guys, so I have been doing some reading with a Unity 4.X book and doing some C# reading. I am amazed at how similar it is to Java. In fact it seems almost identical so this will be a great transition. But anyways, I just curious as to how hard a 3d building is from a 2d building. I want to use the same mechanics that Runescape uses in my game. This will be a fixed character in the center of the screen, but I am able to rotate the screen in 360 degrees.

    If anyone knows about Runescape 2007 then they will know what I am talking about. I also don't plan to make this overnight or anytime soon. In fact I want to keep it very simple and do one thing at a time. Starting with land, then moving up to a character, then a building, then some more land, more buildings make a map, then add some npcs, then etc. So please don't think I am trying to develop the next WoW overnight.

    Thanks guys!