The only difference between console / non console is how you use the result of the business logic in order to display it to the players in a way they can understand. Learning graphics is a tough enough topic in itself...and IMO it shouldn't be bundled in an all-in-one shot with all of the other factors that go into making a multiplayer online game.
@toxicity
What you're looking at here is a client-server setup - where you aren't going to be coding a graphical client (yet?). Do you plan on having the players have individual profiles that can be saved after logging out, or create anonymous profiles as they connect? In any case, here are some compartmentalized areas that you can focus on creating solutions to:
1 2 3 4 5 6 7 8 9 10 11
|
* Finding the IDE to start coding in
* Setting up a high level networking library such as boost asio
* Packet structure & communication protocol
* External data storage & access (If your players are saved)
* Entity models (a class hierarchy that represents the business logic of your server portion)
* What kind of client interface do you want to make?
> Note: Even the client will have a business logic part
>The I/O processing that happens with the server
>The client-side entity registration
> Collision detection
>etc.
| |
So in conclusion, take it one step at a time (and don't expect to see it sprout into something amazing overnight). There's no reason to rush into learning graphics, networking, database management (if your idea so requires), all at once.
*Let me know if you need any specific help - I've been making an extremely generic system like this for roughly the past 9 months. My goal is to be able to plug in whatever client interface is desired with minimal server/loginserver changes.
**Seeing as you are a student, I'd suggest taking a graphics or modeling course if they are offered if you want to get started with serious graphics programming. The powerful graphics libraries that are available, while being seemingly easy to use, do require
knowledge understanding of quite a few graphics specific concepts.