Dolphin, the GameCube and Wii emulator - Forums

Full Version: Develop. How?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
Quote:Will it be universal, covering everyone's conception of what the word should mean? Not a chance. This is the case with words like "soul", "elegance", or just about any word that has any sort of abstract ideas attached to it. To different people, you'll get different meanings.

This stuff bothers me. It essentially defeats the point of having a language in the first place.

Quote:Are you questioning what 2600 - The Hacker Quarterly is, are you surprised they have a magazine, or are you asking what 2600 has to do with what I said?

I didn't know about that organization. Their website is painful to look at.
In terms of emu vs games, i have no preference. i guess i'm looking for the most modern and flexible language.

Yes, at least 20.

The sentences,

i have built basic websites. Have no html knowledge.so that means things like online site builder.

Maybe dolphin is a good starting point.however i want to be able to be the nitty gritty programmers.

Clearer? Smile i must apologise.i use a lot of mobile devices along with computers so it is difficult to make perfect sentences.ranging from computers to iPod touch to symbian with Swype.
Quote: i must apologise.i use a lot of mobile devices along with computers so it is difficult to make perfect sentences.ranging from computers to iPod touch to symbian with Swype.

You're British (from what I can tell, am I right?), your English should be glorious and elegant. Please take the time to write things out as best as you can.

Quote:In terms of emu vs games, i have no preference. i guess i'm looking for the most modern and flexible language.

That's not really a question that can be answered since it's a matter of some debate/opinion/personal preference

I can only say what I would personally recommend based on my own experiences. Which is probably C++.
(09-29-2012, 04:39 AM)NaturalViolence Wrote: [ -> ]This stuff bothers me. It essentially defeats the point of having a language in the first place.

What doesn't bother you? Wink Those words are going to be unavoidable as long as we can think abstractly. If such words aren't too great in number, I think it enhances a language's flexibility to communicate a word whose meaning is provided based on the what the recipient knows, i.e. poetry or just florid speech in general. It's not always a message's purpose to be clear or direct (just look at politics).

(09-29-2012, 04:39 AM)NaturalViolence Wrote: [ -> ]I didn't know about that organization. Their website is painful to look at.

I think they want users to try and access it via telnet instead of a web browser. Undecided

@daaceking - C++ isn't terribly difficult to grasp (contrary to some of the horror stories you'll see online). I too recommend it if you're going to make an emulator or a game. There are plenty of online resources, as Garteal and others pointed out, and there are a lot of professionals out there who manage to dedicate their time to forums as well.

I think C++ is the way forward. What do I need to do and what can I do with it?

How's that for EnGlish? Tongue
Quote:what can I do with it?

Pretty much the same thing that you can do with any other programming language, write computer programs.

Quote: What do I need to do

Start programming with it. Follow tutorials and complete example assignments/projects.
Yo, go ahead and learn the basics. Once you got these, look for simple problems and try to solve them with whatever programming language you choose. You'll learn a lot by doing that. Whenever you think of some fun thing to try out, follow your interest and do it. Follow that scheme until you don't need to waste hours to solve trivial problems anymore Big Grin

By then, you'll either have lost motivation or can tackle getting involved into some OSS project or starting one by yourself Wink


For reference, that's basically what I did:
Create some stupid simple applications using Visual Basic, realize that VB sucks.
Screw "programming" (if you can even call it like that).
Learn C with some stupid online tutorials (they really sucked and I had a hard time learning how stuff works in detail lateron, but I guess learning it the proper way right from the beginning won't work anyway).
Lose interest because you can't figure out what kind of programs to write with plain C (I didn't really grasp the concept of a "library" back then, so I really couldn't do any exciting things besides printf lol).
Find out about Allegro, a nice and simple graphics programming library (and even though A5 still is a nice lib, I wouldn't suggest using it nowadays), get back into programming again.
Start coding lots of stupid little games (Snake, Asteroids, Breakout, etc...). Have some fun changing the original game concept with small modifications (more or less creative).
Get a book on 3d graphics (I guess one doesn't really need it if you have a solid understanding of maths, specifically if you know what matrices are that should be good enough to teach anything else yourself from internet tutorials).
Start coding lots of stupid little proof-of-concept 3d apps (.obj loader, simple renderer) in D3D9, fail horribly at creating actual games because you fail at having animated models (and don't see a reason to continue without them).
Screw game programming, it's a lousy job anyway.
Go look for some OSS project to work on, just for the sake of it and bscly out of boredom. Get the idea to work on Wine, look for an easy thing to start.
Start implementing the d3dx library in Wine. Nothing's easier than working on something new in the project that wasn't implemented at all before.
Write lots of patches and have 2/3 of them rejected because the maintainer is a douche bag and wastes a week of your time just to tell you that "that function should be static" (I see his point in code quality and stuff, but some of his concerns where just ridiculous).
Participate in GSoC for Wine, write some awesome code, give merging it to mainline a try, stop bothering because (again) some patches get rejected like 4 times in a row.
Meanwhile, find out about Dolphin. Follow development, read through the changesets of each commit. Have no clue wtf is going on. Try to look at the source harder, fail anyway. Sucks to be you, I guess.
Finish school and get bored in the last few weeks before final exams => start working on a D3D11 backend for Dolphin in your free time, tell everyone about it and say how you'll end up screwing the idea anyway.
Learn how D3D11 works since you never actually used it and while you're at it, write your first shader.
Copy over the full D3D9 backend, replace D3D9 functions with D3D11 ones. Fix compile errors, clean up some obviously stupid code, fix one or two bugs. Cheer about screenshots showing a broken Wii logo showing up at all (too bad I can't find it right now Big Grin) after like 2 weeks of work. Cheer even more when you optimized stuff good enough to get to the menu screen in NSMBW and it actually shows stuff.
Over the time, get a clue of wtf all the stuff in the gfx core of Dolphin is actually doing and learn that you should have a clue wtf you're doing when you write code. Meh, that development is bscly documented in my commit history anyway.

I guess that list can't quite be used as a guideline Big Grin
That was a very enlightening paragraph/list you wrote there neobrain.

I tried to do the same kinda thing with jmonkey (a 3d game IDE and library set for Java). Then I tried to make legit models in blender... I spent about 5h making a freaking balloon and gave up. When it asked me to do crap like add skeletons to models I rage quit and deleted any trace of any of those programs from my hard drive.

Then I came to Dolphin and decided to learn C, and then C++.

You make Dolphin coding sound so easy lol. That stuff just confuses the heck out of me.
http://www.angelfire.com/art2/ebooks/teachyourselfcplusplusin21days.pdf

What you guys think of this documentation for c++ in 21 days? Is it advanced/basic? Is it a lot of work/simple? Do you learn 3d games/emulation by the end?
(09-29-2012, 10:14 AM)Axxer Wrote: [ -> ]You make Dolphin coding sound so easy lol. That stuff just confuses the heck out of me.

Ye, admittedly I shortened that part a bit :p
Getting the hang out of dolphin gfx development requires you to read a *lot* documentation from various different sources. There are some nice docs which actually explain stuff (but it might be hard to follow the explanation sometimes). Others only briefly describe each GPU register. And others are just semi-legal bits of source code (libogc ftw) which can be used to understand how registers are meant to be used, but generally do not explain any functionality at all.
And that's just the first part, which you need to do before you can start understanding what the emulation code is *supposed* to do. But then you need to figure out how it's doing that, how it's structured, etc...
So ... then let's say you understand all of that, it still won't help you fixing or just even identifying issues. Depending on your experience level you'll have to find out what debugging tools would be suitable at all for the task.

Well, you get the idea Wink
Pages: 1 2 3 4 5