what is the best way to do this game?

hi there! o/
so im here, after a long google search, to ask you how exactly do my game.
I hope you guys can help me >.<

The game:
An RPG skill based with a huge world and lot of quests. The grapgics im not sure yet… first i think 2D isometrical, after 2,5D(builds 3D and chars+interactive things 2D), or all 3D (only if the Blender make modeling easier than 3Ds). Im not sure, but probably im going through the 2Ds graphics cause i draw (yeah, not like a kid who thinks he can do it, but like pro). And in the end i love 2D graphics when they do it well (like Castlevania and BoF3/4 on PSone). So … the game is basicaly this, the details are just game systems(it will be like mmos where you click to select target and shortcut for skills, or, if its possible, an more action like Diablo).

Im was wondering about where im going make this game true?(i know it will take at least five or six years, yeah its huge engine and world, but im read for this)
I want this game to run in computers around the world, so i want it with compatibility with Windows xp/vista/7 (or just xp and 7) and, if its possible, Mac. So i was looking aroud the net for an engine that is perfect to make this and found Unity and others, but never sure if these are the right ones.

The question is: What you guys think is better, use an engine or make it C++?
If engine, what engine?
If C++, where i do this thing? im totaly newbie in C++ and have no idea what programs i download to program this.
The game dont need to be the perfect one so i was think that the c++ mixed with DirectX or OpenGL is an extreme thing, but, if its the only way to do, i face it (just say where to start, cause the books i have)

I have a little experience with RGSS and started this game at Blitz3D and learnet a lot of its language… so the scripiting part i can learn “easyly”(never is easy to learn scripts, but its realy fun!)
Im not affraid of learning something new… so you can sugest anything.

OBS.: Sorry if i make mistakes in Inglish, i learnet to speak through console games and MMOs.Actually learning with movies. So i know it isnt perfect!

If you’re a total newbie to C++, then you definitely don’t want to write your own game engine in it. You would also need Open GL and/or Direct X to make a reasonably fast game engine because they manage the graphics pipeline. Maybe you know other programming languages, but it sounds to me like you will definitely want to use a game engine if you are limited in your programming skills.

I’m going to suggest Unity because we’re on the Unity Answers. Unity is written in C++ and the uses Mono framework for scripting. It will automatically create an Open GL or DirectX based rendering pipeline based on your build target which makes it tremendously easier to port across platforms. So it handles the low-level stuff while you can focus on the more specialized aspects of your game.

Thanks =D you help my mind clear! ill just wait for more answers to be sure in what im gonna do! and ill try to repost this in other proggram forum. o/

oh and what you would sugest if we r not in UnityAnswers??? >.> i realy want and need to know... just to think what i choose (remember Unity Moderator i have no money to buy your program or others programm... so no problem in tell me what i choose)