• Advertisement

Learning I've no skill yet still overthinking!

Recommended Posts

I've read Object Oriented Prograamming C++ 4th Edition. Did some exercises, honestly I'd say I covered 70% of this book. Mark some topics for reread later. then I'm thinking go with The C++ Programming Language [4th Edition] - Bjarne Stroustrup any suggestion will precied. 

I don't have any programming experience. But I've play a lot of games... Here goes nothing... 

I'm thinking make a game. (Looked up with unity engine seems like brain surgery to me. )At the beginning my game will have only one big-ass map. 4 type of NPC's 
Get quests from NPC's, get your reward after finish. 
Buy metarials (equipment, healt potions etc)
TeleportGate NPC's 

The goal is finish quests, get stronger, learn skills, collect seven unique diamonds among the quests and face with evil creature. 


This is already very complex for me, but I couldnt help myself to think deeper and deeper.Then I thought why not MMORPG... then things get messy. I am keep overthinking, I cant concentrated now. 

These are what I am thinking on the server side; 

there will be 4 units. 

NPC's with static locations (Stroge, Trade, Quests, Gates etc) 

NPC's with dynamic locations - Monsters

User Database

Pool (deal with everything)


NPC's and monsters have pre-set locations, behaviors, shortly they will have their routine. for example lets name four monsters (scylla(FBCD),pyhton(FBCE), satir(FBCF), echidna(FBD0)) also creatures will have locations and health values. I dont want to go further with details. so pool unit has all informations and authority decent manupulations for NPC's and Monsters and get informations logged player via database. when player logged, pool will define a dynamic number as long as player logged and generate viewport for player and send package. a character has charid, charname, charloc(x,y,z), charstatus(idle,walking,flying,attacking etc), charhp(max,current), chararmor, charmp(current,max), charAttackPower, charDefence, charExp(current,max) there would be more informations or less... now 1st player in the pool. . when another player logged assume both player close each other... 2nd player will get viewport including 1st player appereance too.1st player only get 2nd player's appereance.  my point is only send or prepare necessarry packages. lets assume all informations belong a character 4 bytes each. and you send/receive 10 packages per sec... 520bytes per sec for a character with all informations(I know networking doesnt work like this. my point is this is tiny). I still think thats manageable.

As you can see English is not my main language I hope you get what I meant. this MMORPG idea like a virus(not software virus :)) taking control of my mind. I did some research about MMORPG advanced users says stay away. security issues details details bugs etc its hardcore I understand that. but still... I've desire to learn game programming, please put me right direction. 


Share this post

Link to post
Share on other sites

As long as you put the idea of making it an MMO firmly out of your mind, the rest dhould be easily doable. The MMO adds a degree of complexity that you are not nearly ready to tackle.

Share this post

Link to post
Share on other sites

When first starting ... you can't help but let your ideas run away with you ... that's ok

However, you should learn to separate "possible cool idea sessions" from "design sessions for my current project".

You're current project should be something you can do in 1-100 days of work ... and your next project can be a totally different code base / game / direction ... or it can simply be the next iteration of the same code base / game.

So an example might be like this:

 * project 1 - get a character able to move around on a map via user input, fight single type of monster, pick up items (perhaps health drops from the monster) and complete the game by defeating 3 of the monsters at once

NOTICE how even that tiny project is really like 5 subprojects: getting a character moving via input, loading a map and supporting "scroll" or "screens", monster and combat logic, pickup/healing, game completion (aka quest completion detection)

the project 2 could be another set of 3-8 notable improvement that would make take the game to the next level ...

and after 3-5 iterations of project, each doing 3-10 meaningful additions to your game and or feature set, you'd have yourself a really nice little personal game project.  (and depending on you and your pace this might be 6 months in the future, or 3 years in the future ... but it would however far and however long was appropriate for you based on how much time you wanted to invest, how driven you were, how much fun you were having, etc)  And all along the way, at least every few weeks or months you'd have stuff you could show (to your friends, classmates, future team members, etc).

And the whole time, you'd also formulate and think through hundreds of cool ideas for games you could build.  And no, you won't build most of those, or maybe any of them, but those ideas will serve you well if the time ever comes where you are in a position to make an actual mid to large scale game with a team.



Share this post

Link to post
Share on other sites

If I got it right you're studying C++ and want to use Unity Engine, correct? As far as I know Unity doesn't use C++, so if you actually want a chance to put into practice the C++ code you learned, you should go with Unreal Enginem as I did :P


Edited by MarcusAseth

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By francoisdiy
      So I wrote a programming language called C-Lesh to program games for my game maker Platformisis. It is a scripting language which tiles into the JavaScript game engine via a memory mapper using memory mapped I/O. Currently, I am porting the language as a standalone interpreter to be able to run on the PC and possibly other devices excluding the phone. The interpreter is being written in C++ so for those of you who are C++ fans you can see the different components implemented. Some background of the language and how to program in C-Lesh can be found here:

      As I program this thing I will post code from different components and explain.
    • By LifeArtist
      Good Evening,
      I want to make a 2D game which involves displaying some debug information. Especially for collision, enemy sights and so on ...
      First of I was thinking about all those shapes which I need will need for debugging purposes: circles, rectangles, lines, polygons.
      I am really stucked right now because of the fundamental question:
      Where do I store my vertices positions for each line (object)? Currently I am not using a model matrix because I am using orthographic projection and set the final position within the VBO. That means that if I add a new line I would have to expand the "points" array and re-upload (recall glBufferData) it every time. The other method would be to use a model matrix and a fixed vbo for a line but it would be also messy to exactly create a line from (0,0) to (100,20) calculating the rotation and scale to make it fit.
      If I proceed with option 1 "updating the array each frame" I was thinking of having 4 draw calls every frame for the lines vao, polygons vao and so on. 
      In addition to that I am planning to use some sort of ECS based architecture. So the other question would be:
      Should I treat those debug objects as entities/components?
      For me it would make sense to treat them as entities but that's creates a new issue with the previous array approach because it would have for example a transform and render component. A special render component for debug objects (no texture etc) ... For me the transform component is also just a matrix but how would I then define a line?
      Treating them as components would'nt be a good idea in my eyes because then I would always need an entity. Well entity is just an id !? So maybe its a component?
    • By kane david
      I want to start learning Level Design, so what are the main topics I have to learn about  specifically? since I learn on my own, so I don't want to drop something that could be important, and if there are some suggested books or courses to start from.
    • By Pooria1987
      Greetings to you all,
      I intend to build a 3D engine in C++ (I'm experienced with C++) targeting PC (OpenGL for sure and maybe Direct3D too), mostly as a hobby and to learn how it works at a low level. I've done some research and come up with these two books:
      3d math primer for Graphics and Game Development (2nd edition) Game Engine Architecture (2nd edition), By Jason Gregory Also at first I want to use an existing physics engine like physx or bullet and then maybe go for developing my own one later after I put the rest of my engine together. Now since for sure there are a lot of experienced people here I want to ask you which other books/resources do you recommend I study to help me implement my engine.
    • By GameDevCoder
      I am looking to learn C++ in Unreal so have commenced the tutorial '3rd Person Battery Collector Power Up Game'.
      It is on the 3rd video of the series that I have come across an issue. In the screenshot I have attached labelled 'picture 1', this is the tutors class which is correct. My screenshot 'picture 2' is where I see some issues.
      - my #include is in a grey colour font. It should be red right?
      - I also do not have a #include "BatteryCollector.h" in my class also. In the tutors example this line of code is present.
      Can anyone help me with why I have these issues. I am using Visual Studio 2015 as well. I thought would using VS'17 help so I installed this today. I have yet to try this out with that though but then I thought. Shouldn't it work fine on VS'15 anyway, would using VS'17 make much difference at all.
      I am very keen to work through this tutorial today so if the forum might be able to help me I would be so so grateful.
      Thank you.

  • Advertisement