• Advertisement
Sign in to follow this  

Switch or Not?

This topic is 1414 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well, i've been learning c++ for 4 months (at March 1st) and it's been good-ish.
So far, i've learnt: variables, loops, functions, arrays, vectors, enums, switch & if/else, pointers & references, dynamic mem. allocation, conditional operators and recently, classes.
I haven't learnt much on classes because i realised the '~' key exists periodically on the computer i'm using.
The plan was to learn c++ for 6 months (console part) then learn c++ for another 6 months with Qt (gui part) and the directx, maths, physics before making games. I didn't have a problem with this other than the fact that i don't like the console. I don't mind using it to learn c++ but if i had a choice, i would leave it for qt immediately.
Another idea today about a game but it was different because it's always about 3d games but this one was about a 2d game. An open world, third person game based on the best 2d cartoon/animation ever created that's available for Microsoft (xbox, pc, phone), Apple (i<whatever>, pc) and Google (android).
I've got everything worked out except the fact that 1) it's based on a cartoon (license needed) 2) Unity seems like the best option 3) Unity uses C# (i know about the boo and javascript).
It's the first game idea that didn't make me not like Apple, the idea of making a 2d game, being available on mobile and multiplayer support.
I was just wondering if i should start learning C# and pause the learning of C++ and then continue learning C++ later on (in order to accomplish my other dreams) or continue learning C++?
Sorry for how long it is.

Share this post


Link to post
Share on other sites
Advertisement

Why does Unity seem like the best option for your 2D game?

If you switch to C#, are you going to start from the console level again? Or jump a few steps straight to using a game engine?

 

My suggestion is keep with C++ and a use a simple 2D graphics library like SDL to start your game.

 

In particular I recommend using SDL 1.2 and following these great tutorials: http://lazyfoo.net/SDL_tutorials

Read the corresponding tutorial as you need it for your own game. After all, he best way of learning is by doing.

Edited by Karsten_

Share this post


Link to post
Share on other sites

Why does Unity seem like the best option for your 2D game?
If you switch to C#, are you going to start from the console level again? Or jump a few steps straight to using a game engine?
 
My suggestion is keep with C++ and a use a simple 2D graphics library like SDL to start your game.
 
In particular I recommend using SDL 1.2 and following these great tutorials: http://lazyfoo.net/SDL_tutorials
Read the corresponding tutorial as you need it for your own game. After all, he best way of learning is by doing.

SDL uses opengl (and other open <something>).
Unity 2d is a game engine and allows release for all platforms and from numerous posts seems easier

Share this post


Link to post
Share on other sites

I haven't learnt much on classes because i realised the '~' key exists periodically on the computer i'm using.

 

I don't really understand what you mean by that, but personally i just do Alt + 126 for a '~'.

(Hold Alt then press 1, 2 and 6 :))

Edited by Vortez

Share this post


Link to post
Share on other sites

I haven't learnt much on classes because i realised the '~' key exists periodically on the computer i'm using.

 
I don't really understand what you mean by that, but personally i just do Alt + 126 for a '~'.
(Hold Alt then press 1, 2 and 6 :))
What i meant is that if i'm writing a program, after a certain time, the symbols and their keys change and only then does ~ work.
I will try that.

Share this post


Link to post
Share on other sites

Not sure why you need a tilde so bad. Only thing I can think of is declaring destructors. No excuse not to start learning how to use classes. But also if all your symbols are switching how are you able to program anything??

Share this post


Link to post
Share on other sites

But also if all your symbols are switching how are you able to program anything??

. . . by restarting vc++ everytime it happens.
It's just c++ is getting a bit boring and i really love this game idea.

Share this post


Link to post
Share on other sites
Well, C++ by proxy of C does support trigraphs.
I dont suggest using them but if you cannot seem to get the '~' character to work this might be a last ditch effort ;)
 
#include <iostream>

int main(int argc, char* argv[])
{
  std::cout << "??-" << std::endl;
  return 0;
}
When compiled with the -trigraphs compiler flag, this will infact output "~".

One of the most important skills you can learn in game development is to stick to something. If you keep losing interest, this is not going to produce a good outcome. Edited by Karsten_

Share this post


Link to post
Share on other sites

Unity 2d is a game engine and allows release for all platforms and from numerous posts seems easier

 

SDL does the same too

 

and to answer your question, in my opinion you should first finish learn c++. after that its only a small step to c# or other languages

Edited by exOfde

Share this post


Link to post
Share on other sites

If you're getting bored of C++ then it's probably because you're not creating anything that really motivates you. You've probably learned enough C++ to start making simple games, so I suggest picking up an API such as SDL. After becoming somewhat familiar with the basic operations of that API, start making simple games such as Tic-Tac-Toe, Pong, or Snake. Sure, there will be gaps in your knowledge as you create these games, but you can learn as you create. There is no need to learn absolutely every aspect of a programming language or API before you start making games.

Share this post


Link to post
Share on other sites

All programming languages become boring eventually, because the user confuses their own lack of direction with a fault in the language (not that I'm accusing you of that in these circumstances). Except Brainfuck. I can't see how you'd ever get bored, because you'll never understand what is going on :)

 

If you're trying to produce a game, using an existing framework / engine will help you get there quicker. But if you're truly passionate then it's inevitable you'll one day take a step back and implement the same things for yourself, so it's where you start.

Share this post


Link to post
Share on other sites

If you're getting bored of C++ then it's probably because you're not creating anything that really motivates you. You've probably learned enough C++ to start making simple games, so I suggest picking up an API such as SDL. Start making simple games such as Tic-Tac-Toe, Pong, or Snake.


I've made Tic-Tac-Toe more than 3 times (with and without arrays). I prefer directx to open <something>.

Share this post


Link to post
Share on other sites

What makes you think switching languages is the answer?

Me learning C++ is a product of switching from vb (after trying to fix a problem that had no solution for more than 2 weeks) and realising that i needed something else.
I won't say the knowledge didn't help me because it did.
I think i'm bored because i haven't learnt anything NEW, the most outstanding things i see left console-wise are classes and templates.

Share this post


Link to post
Share on other sites


I've made Tic-Tac-Toe more than 3 times (with and without arrays). I prefer directx to open .

 

In that case, it's time to move onto something bigger. Try something that takes place in real time, such as Snake or a shoot 'em up. After that, you might try making a simple platformer.

Share this post


Link to post
Share on other sites

I've made Tic-Tac-Toe more than 3 times (with and without arrays). I prefer directx to open .

 
In that case, it's time to move onto something bigger. Try something that takes place in real time, such as Snake or a shoot 'em up. After that, you might try making a simple platformer.
In the console?

Share this post


Link to post
Share on other sites


In the console?

 

No, you'll need to start working with graphics. Select an API and learn some of its basic functions (creating a window, getting user input, drawing graphics, etc.) then start making simple graphical games with that API.

Share this post


Link to post
Share on other sites

In the console?

 
No, you'll need to start working with graphics. Select an API and learn some of its basic functions (creating a window, getting user input, drawing graphics, etc.) then start making simple graphical games with that API.
That would be directx.
Cin >> isn't for input in a gui?

Share this post


Link to post
Share on other sites


Cin >> isn't for input in a gui?

 

"Cin" is the standard input stream which simply retrieves characters (from the keyboard, by default). In graphical games, you will not be using the console window so you won't be able to retrieve input this way. In any case, "cin" just retrieves characters and requires a termination (by the user hitting "enter"), making this method of input unsuitable for real-time games where you want actions to be performed by holding down keys.

Share this post


Link to post
Share on other sites

 

 

In the console?

 
No, you'll need to start working with graphics. Select an API and learn some of its basic functions (creating a window, getting user input, drawing graphics, etc.) then start making simple graphical games with that API.
That would be directx.
Cin >> isn't for input in a gui?

 

 

No, cin reads from standard input (console, pipes, etc). Most GUIs are event driven so you get input by handling the input events.

Share this post


Link to post
Share on other sites

 

But also if all your symbols are switching how are you able to program anything??

. . . by restarting vc++ everytime it happens.
It's just c++ is getting a bit boring and i really love this game idea.

 

haha, thats good

regarding to your boasting yourself you do everything and so,

boastings spreaded on previous topics - and now you cannot even

stay with learning c++

 

i find c/c++ level languages most motivating personally,

on the one side of this you have asm level which needs a more

involvement imo, and more highlevel languages (which for me

ale less 'motivating' * - so imo if you drop c++ you will drop 

prgramming at all

 

* for me, i am not quite sure (becaose i am not doing it) how it

would look in practise if staying using it for a longer time - for some maybe it can be better becouse it is more 'shallow' approach

 

- i would reccomend you to ew. take a try and then get back after some steps here to say  "no it is yet worse than c++" of "well im feelling a bit better with this will stay with it" or "no it not suits me too, i will try unity (or something) maybe" - just becouse i am curious of the result of this 

Edited by fir

Share this post


Link to post
Share on other sites

Not sure why you need a tilde so bad. Only thing I can think of is declaring destructors. No excuse not to start learning how to use classes. But also if all your symbols are switching how are you able to program anything??

 

Maybe he has multiple keyboard layouts and accidentally presses 'shift + ctrl', which on some setups switches between the different keyboard layouts?

Share this post


Link to post
Share on other sites

Maybe he has multiple keyboard layouts and accidentally presses 'shift + ctrl', which on some setups switches between the different keyboard layouts?

 

Another shortcut can be "Alt + Shift".

In either case, if that's the problem, a solution can be found here.

Share this post


Link to post
Share on other sites

This topic is 1414 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Advertisement