Jump to content

Unity Zelda64 Game Engine


SoulofDeity
 Share

Recommended Posts

Was just talking about this with people on skype and wanted to state my reasons for dropping this project.

 

 

The first reason was the limitations of Unity. It made things like framebuffer effects, gui design, and looping audio a pain in the ass. It also runs on .NET which isn't supported by the devices I was interested in.

 

The second reason was that the resource directory was a mess. Someone added like, half the sounds from noproblo.dayjo to the project. Every time I would have to merge branches, the audio assets would have to be reimported which took FOREVER

 

The third reason was that no one was pulling the latest version of the project before pushing their code. Every time a merge had to be made, I would have to read all the new and changed code to figure out what people were doing and rewrite it to be compatible with the latest version of the project (if you guys eventually did pull and noticed the exact code you wrote wasn't in the project, now you know that it's not because I'm some prick who thinks he can write better code than everyone else). Anyhow, this would often introduce bugs that would need to be fixed. Of course, people weren't pulling these fixes and changes, so as the project progressed I had spent more time doing bug fixes and rewriting other people's code than adding new content to the game myself. At one point, the bugs got so bad I had to entirely rewrite how the GUI system worked just to fix it. I got tired of it eventually and simply went off to work on collision, leading to a noticable regression.

 

 

I can't saying I'm particularly interested in continuing or restarting this project in it's current state. I'd rather take some time to develop a new set of tools that can solve these problems and then come back to it.

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

I would be interested in helping to allow this project continue. BTW, Unity can build for Mac, Linux, and I do believe every last gen console, as well as the current gen consoles. So, just to ease my curiosity, what platforms were you trying to develop for?

Console development requires a special license which can only obtained by permission from the creator of the console. Eg. You can't target PS Mobile devices without a PSM developer's license (which I have). Some of the targets I have in mind are embedded systems where you practically work bare metal.

 

A few of the things I want to tackle before I continue this are version control, resource management, GUI development, and audio sequencing.

Link to comment
Share on other sites

Hmm... So you're going to make a custom engine then?

 

If that's the case, I may be able to help. I'm a fast learner, though I know no coding right now. But, that won't stop me from helping when I can

 

It's possible to incorporate those features in Unity via editor extensions, but creating  a custom engine would be nice. Especially since many game engines are costly, lack decent shader or framebuffer support, only support skeletal animation and not morph-target animation (or vice-versa), have bad scripting languages, or aren't cross platform.

  • Like 1
Link to comment
Share on other sites

Speaking of scripting. I do know a bit of JavaScript. I don't know if you would be able to find a way to compile it into an executable, but I do know JavaScript.

 

JavaScript is a JIT'd or interpretted language. It can't be compiled. There are things like Node.js, but that restricts our options even more than Unity does.

Link to comment
Share on other sites

I see... Well, when I get home today, I will take a look at it. By the way, I did find something on compiling JS.

 

http://www.phpied.com/make-your-javascript-a-windows-exe/

 

Though, I don't know just how much that would limit the use of it, or the engine itself.

 

That isn't compiling, they're just wrapping it inside of a JavaScript interpretter. JavaScript cannot be compiled because it's a dynamic language. Also, that tool is Windows only.

Link to comment
Share on other sites

@@PwnzLPs, try learning C# (or UnityScript which I hear is very similar) or, as SoD suggested, a language like C++. Personally, I would start with C and then make a transition to C++ since it is literally an extension (for better or for worse) of C.

 

I'd second this. C# is an excellent choice for a first language and an introduction to object-oriented programming (though in all honesty, I consider inheritance of behaviour, encapsulation of behaviour in state, and meta-programming to be the plagues of modern programming). C is also a really good choice for an introduction to low-level concepts such as memory management and calling conventions; with a syntax from which many other languages derive. Plus, if you're on a Unix system or Cygwin/MinGW and you install the documentation packages for gcc and your libraries, you have man pages on pretty much every C function. eg. `man strncpy` from the terminal would tell you everything about the function "strncpy".

 

The primary advantages of C++ over C are references, namespaces, enum classes, generic-like templates, function/operator overloading, exception handling, association of behavior to types, and scope-tied resource management via constructor/destructor (RAII). C++14 also includes simplified enumeration of collections via for loops, 'auto'-matic type deduction (useful for things that would typically cause code ripples in the project, like changes in const-ness), and easier ways to manage reference counters to prevent memory leaks. C++ is also applicable if you want to have a career in programming. The pitfalls are the complexity of the grammar and anti-patterns that encourage bad programming habits.

 

 

They're all excellent choices though. I would even recommend Python, though it's irrelevent to the project.

Link to comment
Share on other sites

It really depends on what you need to accomplish and how much control you need. C# is a great high level language. It has higher overhead but is very powerful and easy to use. C and C++ have lower overhead and give you lower access (which is great for cycle seneitive apps but you have to freaking declare EVERYTHING and I found it tiresome.

Link to comment
Share on other sites

Thanks for the recommendations! :)

 

I have been looking into c# for a while. Though, I figured I would start with JavaScript. I'll definitely look into c# and c++, as well as C if I have the time.

 

Do you guys have any recommended ways or sites/books for learning these? :)

Link to comment
Share on other sites

Thanks for the recommendations! :)

 

I have been looking into c# for a while. Though, I figured I would start with JavaScript. I'll definitely look into c# and c++, as well as C if I have the time.

 

Do you guys have any recommended ways or sites/books for learning these? :) Ther

 

For C, I thought "The C Programming Language" and "Linux System Programming" were pretty good books. For C++, there's http://www.cplusplus.com/doc/tutorial/. I'd recommend staying away from sites like Stack Overflow, because often times incorrect answers are upvoted, they're stupidly anal about what is a "good" question, and if you ask advanced questions that most people wouldn't understand,  your questions will be downvoted and left unanswered.

Link to comment
Share on other sites

  • 1 month later...

SoulDeity have you look at unity 5 it have be a new gui system. Also another engine is unreal engine. But create a game engine is a lot if work!

 

The biggest issues with using Unity are the inability to use post-processing framebuffer effects without buying the pro version and dealing with version control. Unreal Engine would be an option, but it runs stupidly slow on my pc. I've also looked into other engines like Ogre3d (which I gave up trying to compile after a couple of days) and Irrlicht (which doesn't do skeletal animations or shaders very well).

 

Graphics and audio actually aren't that hard. There was a seminar I saw once where a game designer shows how it's possible to create a simple 2D game in just 8 hours. The most difficult things to deal with are physics (eg. collision and rigidbodies) and the creation of artwork for the game.

Link to comment
Share on other sites

I may sound like a prick when I say this, but I could rewrite that with support for orbiting the player in just 4 lines of code. The difficult things with camera movement are dealing with collision so objects don't get between the player and the camera, how to distance the camera from the player when the player is falling or running, where to position the camera when you're locked onto a target, and how to handle cutscenes.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.