Jump to content

exec

Administrators
  • Posts

    1173
  • Joined

  • Last visited

  • Days Won

    334

Posts posted by exec

  1. In my opinion it would be a waste of time to write our own engine. It could certainly be fun, and allow us some more freedom, but we'd be busy for weeks and months, creating the engine and editors for it, before we can even start doing anything, and the engine would still be inferior to all the other big ones.

    When you look at the big, free choices out there, the two biggest contenders are arguably Unity and Unreal Engine 4. While UE4 seems to produce the better graphics out-of-the-box, there's not so much difference between them anymore, in terms of what they can do. The biggest differences are that with UE4 we'd have source code access (which can be useful or not, depending on the license we use for the client) and we'd use C++ and the Blueprint system.

    In Unity we wouldn't have source code access, but generally that's not really required from what I could gather so far. For example, one article I read said that it was not possible to modify a terrain at run-time in UE4 (something we'd need for Stomp for example), which is why the author had to try to build that functionality himself. But in Unity this is possible. An advantage of Unity for me would be that it uses C# (among others). Not only is that a great language, we've been using it in Aura for years already, so many of us will be at least a little bit familiar with it.

    The biggest con for Unity seems to be its bad stigma. It's the engine of choice for all the "noobs", that create all the "crap" out there. That's what many people think when you say you're building something in Unity. To the best of their knowledge it's just a "shitty" engine, because the results of what all the "noobs" put together makes it look like that. "It's slow, it's ugly, [etc.]" But really, it's the engine of choice for beginners because it's easy and comfortable to use, which is an advantage for everybody.

    What do you think? UE4? Unity? What is your general view of the two? Or are there other viable options I don't know anything about?

  2. Falling and jumping up and down cliffs or something could also be done in 2D. You'd just put the character into a jumping animation and then move him over the collision lines.

    You should open up some polls so we can vote

    Yea, I just wanted to get an idea of the general opinion first. Added a poll.

  3. I was thinking maybe learning a second language along side VB would be a good idea but it sounds like it would be better to finish the class before learning a second language. 

    Personally I think a beginner should learn one language first, to build a foundation. Learning multiple languages with different ways of handling problems at once might confuse more than it helps.

  4. As many of you know, Mabinogi is technically a 2D game, even if it has 3D visuals. (If you'd like to know more, take a look at this topic on Mabination.)

    Deciding whether we want to do the same or not is important for various underlying design choices of client, server, and protocol. A 2D system is easy, very easy. As a developer you basically don't have to worry about a single thing. The designers on the other hand are faced with a little challenge, masking that the game is internally not 3D. The other way around, with a 3D system, the developers are faced with the challenge of implementing 3D collision detection, security checks, etc, but the designers have less problems, although they have to worry about players potentially being able to go anywhere.

    The 2D approach has obvious drawbacks. If the world is not 3D, you have to create workarounds for certain things. For example, you could easily enable people landing on roofs. But you'd have to make sure they can't fall off the roofs, because they'd snap to the floor. And you wouldn't be able to add an open, multistory building, that's accessible without changing the map, or even a bridge you can walk over and under. At least not without tricks. (For example, you could implement a layer system, that snaps the player to the correct layer.) But in exchange it is simple to implement and reduces development time and headaches. Not to mention required resources, because it's much easier to calculate collisions.

    In 3D you can basically do anything, simple as that. Although, it isn't simple really. The collision calculations required on the server for AIs, knock backs, and security are rather complicated. You have to get the entire world into the server and learn how to do these checks, or, if we're using certain engines, we can run one map server for each map, that is able to do these calculations for us. In Mabi terms this would mean one application for Tir, one for Dun, one for Gairech, one for each dungeon, etc. Imagine one channel server for each map. Although, of course, this can be viable if you don't have hundreds of maps. No matter the implementation, 3D would require quite a bit more resources than Aura ever did.

    A third, maybe questionable, choice would be a non-authoritative server. This means that the client simply tells the server what it wants to do, and the server, more or less, just assumes that this request is okay (for example, Maple works that way). If the server doesn't have to run complicated checks on what the client wants to do, there's no trouble with the movement. But you would trade that against security concerns, because the server would not be able to really tell if a client is cheating or not. A few sanity checks would be possible (Can he activate switch A if according to his last velocity update he's still 1km away from it?), but certain things would be hard to check for.

    This is one of the first decisions we have to make, as it has important implications for the internal design. Personally, I don't mind 2D movement at all. If you really think about it, how often did you actually miss 3D movement in Mabi? Did you even notice it was missing without someone telling you? Actually, how many games of the last decade might have been 2D, without you ever noticing? And it's not like we couldn't add more tricks than other games have, or trick the player better. For example, jumping is perfectly possible and could be implemented similar to flying. The same goes for swimming and diving.

    • Like 1
  5. When I think about what I'm looking for in an MMO I can basically find almost every single thing in Mabi. There are a few little things I don't like as much, but in general I can't think of anything big I would change about the original Mabi. That's why I proposed a spiritual successor, based on the same principles. An open world, the unique combat, no quest grinding, the life aspects, etc.

    What Lore?

    I'm unsure in regards to the lore. I would love to keep the Welsh/Irish theme, build a story around the Mabinogion, but we would have to be careful not to copy anything from Nexon. Although generally they just use some names and terms from those mythologies after all.

    What Artstyle?

    Personally I don't think Mabi should have a realistic style. I just can't imagine Mabi looking like Vindictus for example. I think the natural evolution of Mabi's style would look something like Peria Chronicles. (The characters could use some more details though.)

    c63c732060.jpg

    • Like 1
  6. If you really don't know yet, I'd suggest starting with C# to understand how programming works, then moving to c++. Doing c++ or an web language like php first would work too, Again, it's all down to preference.

    If he's currently working with VB in school it might make sense to continue that though, to learn the basics. He will learn about the .NET framework just as well. To switch to C# later on he basically just has to learn a new style, all the system classes are the same.

    its pretty Windows-specific.

    I don't know if I agree with that, I guess it's not as cross-platform as C++ or Java, but with libraries/engines like MonoGame and Unity I think C# is very viable for cross-platform game development.

  7. The thing is, you can do game programming in pretty much all bigger languages, compiled or scripted, high or low level. You'll find libraries and frameworks in almost all of them. The only reason to go to a specific language would be if you have special requirements, like a game that runs in the browser, or when you need power, on a AAA level. It's basically impossible to write an Assassin's Creed in Python, or Lua. But AAA shouldn't be your goal in the beginning anyway, obviously. Really, just find your favorite language and hack away at the beginning^^

    If at all possible I wanted to try to learn and help at the same time with your new project

    In that case .NET in general will probably be a safe bet, because the chances that I'll choose C# for a new project are very high. You could actually write scripts in VB.NET in Aura, although nobody ever used or really tested that feature xD

  8. There's not exactly a list of best languages, it depends on your preference, what field you're working in, etc. But learning C# and C++ is a pretty safe bet, high in demand and powerful. Maybe add some web development to the mix, JS, PHP, and the likes, that can be pretty useful nowadays. Aside from that, try as many languages as possible and find the ones that suit you and your needs the best. For me, right now, that's C#.

    I started with Visual Basic 6. It was relatively easy to start with, and gave fast results. For me that was the way to go, though there are people who say you should start with something low-level like C, to learn what's going on behind the scenes. However, I think it's important to hook the newbie first, before showering them with facts about compilers, linkers, memory management, pointers, etc... While you will have to learn those things at some point, I actually think it's easier after you saw them in action ("Ah, so that's how my strings work behind the scenes!").

    • Like 1
×
×
  • Create New...