View Single Post
Old July 17th, 2012 (7:52 AM). Edited July 17th, 2012 by Dragonite Ernston.
Dragonite Ernston's Avatar
Dragonite Ernston Dragonite Ernston is offline
I rival Lance's.
    Join Date: May 2010
    Gender: Male
    Posts: 149
    Originally Posted by DaSpirit View Post
    lol I find this funny. I don't think that the programmers really doing anything. They already have a nice engine they simply reuse. Plus, they don't add many new features and I'm pretty sure that the features they do add could be programed by a single person 2 weeks tops.
    Do you mean the Game Freak programmers or the fanmade engine programmers?

    Because even within Game Freak, they can't simply reuse the engine. Lots of things have to be thrown out and then remade.

    The features they add... such as the Musical? 3D battles? Triple and rotation battles? 3D camera animations? The weird, twisty, non-rectangular paths that are present in this game? It's a huge feat of engineering. Don't look down on the programmers too much.

    lol you say stuff about C# right after you say that you've never programmed it before. There is less of need for those dirty hacks in C#.
    There's no need for dirty hacks in C++ either, but they're fun.

    Having experience with both, C# "fixes" everything that was wrong with C++. For example, you can't use structs as OPP and everything has to exist inside a namespace. Both have their pros and cons.
    If C# "fixes" everything that was wrong with C++, I assume the "cons" are all peripheral, auxiliary matters (such as the dependence on a virtual machine, ownership by Microsoft, all the good stuff I mentioned).

    Trying to do strict OOP (which I take it is the paradigm of C#) when you're testing things out is too exhausting. I've worked in Java before and I still use public data primitives (even if it goes completely against the Java paradigm) when I don't want to be bothered wrapping everything with setters and getters and it will never be useful to do so anyway.

    As for which is easier, it depends on which you like better. However, simple C++, Win32 and DirectX/OpenGL vs C# with .NET, C# is more higher level. C# with XNA makes it a lower level but it still is somewhat easier than plain C++. C# was designed to be easier. Finding which program is a higher level is essentially like finding which one is easier. I believe you can also use C++ with C#, but I'm not sure how that works, haven't really tried it myself.
    The reason we used C++ rather than C# is more for the cross-platform, extensible nature of the language. Sure you have Mono for C# on UNIX-based systems, but that's really inconvenient and hard to use and you wouldn't have much support for it on that end. Keep in mind that some of the developers and users of this game use Linux or Mac OS (I personally use both a Windows and a Linux machine [and soon to be FreeBSD too] to develop this). Telling them to "get Windows" (which I've actually seen be done before on other projects) is not an appropriate solution.

    We could have also used Java for cross-platform (it's about as easy as C#, from what I know), but let's not get into the fact that Java is about twice as slow, also depends on a virtual machine, and can't do as much graphics stuff. I do actually have a deprecated/discontinued Java engine on Github, if you want to see it.

    Let's not get into which programming language is better here though.
    I agree.