Jump to content

  • Log In with Google      Sign In   
  • Create Account


different way of learning


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
31 replies to this topic

#1 burnt_casadilla   Members   -  Reputation: 423

Like
0Likes
Like

Posted 29 October 2012 - 05:55 PM

I have 3 xna books and theyre each kicking my ass. I can't seem to get the material thru my brain no matter how many times I go over it. Are there any alternative ways to learning a language? Videos dont work for me either

If you see a post from me, you can safely assume its C# and XNA :)


Sponsor:

#2 EddieV223   Members   -  Reputation: 1392

Like
0Likes
Like

Posted 29 October 2012 - 05:59 PM

XNA isn't a language, its a library. If you want to learn c# there are live classes at 3dbuzz.com , as well as tutorials across the internet including video tutorials.

If books, tutorials and videos are not working for you, try knowledge suppositories.

Edited by EddieV223, 29 October 2012 - 06:01 PM.

If this post or signature was helpful and/or constructive please give rep.

 

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

 

// Easy to learn 2D Game Library c++

SFML2.1 Download http://www.sfml-dev.org/download.php

SFML2.1 Tutorials http://www.sfml-dev.org/tutorials/2.1/

 

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20

 


#3 burnt_casadilla   Members   -  Reputation: 423

Like
0Likes
Like

Posted 29 October 2012 - 06:16 PM

I know c# well enough to understand the code. I just need longer explanations of why something does what it does

If you see a post from me, you can safely assume its C# and XNA :)


#4 Haps   Members   -  Reputation: 1315

Like
0Likes
Like

Posted 29 October 2012 - 06:21 PM

You could try looking bits up in the MSDN as you run into them.

#5 Alpha_ProgDes   Crossbones+   -  Reputation: 4680

Like
4Likes
Like

Posted 29 October 2012 - 06:48 PM

Wouldn't it be easier for you to start writing something and when you get stuck, then post your problem here so others can help you?
Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#6 burnt_casadilla   Members   -  Reputation: 423

Like
0Likes
Like

Posted 29 October 2012 - 06:51 PM

yeah but id end up with at least 5 new topics a day and thatd be annoying lol

If you see a post from me, you can safely assume its C# and XNA :)


#7 Alpha_ProgDes   Crossbones+   -  Reputation: 4680

Like
0Likes
Like

Posted 29 October 2012 - 06:52 PM

For you? Or us? Don't forget. You're not the first person with these problems and you're not the last. So asking them and getting your questions answered is gonna help someone else in the long run.
Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#8 Servant of the Lord   Crossbones+   -  Reputation: 17272

Like
4Likes
Like

Posted 29 October 2012 - 06:59 PM

In addition, since others have already had those problems as Alpha_ProgDes mentioned, you'll more likely be googling for the answers about 5 times a day, and find the answer within 15 minutes of googling and not actually need to post. You'll probably only have a question you can't already find the answer to only once a week or so.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

[Fly with me on Twitter] [Google+] [My broken website]

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal


#9 burnt_casadilla   Members   -  Reputation: 423

Like
0Likes
Like

Posted 29 October 2012 - 07:00 PM

It seems unnecessary tho. I learn better when I figure things out by myself. I hate seeing code and then copying it word for word.

If you see a post from me, you can safely assume its C# and XNA :)


#10 Haps   Members   -  Reputation: 1315

Like
0Likes
Like

Posted 29 October 2012 - 07:22 PM

I'm in complete agreement with Servant of the Lord - Google key words related to the concept. You'll usually hit an old post, blog, or tutorial discussing it.

It's not even to "copy working code" - You're bound to find the explanation written out somewhere. If you use the MSDN, you'll at least find a boring but accurate description of methods and their uses, too. The education catalog has pretty well-documented samples that explain what happens in each block and why it's necessary.

Programming is about understanding new concepts, not simply picking up a new command to use. It does take time and a lot of re-reading - Days or weeks in some cases. It happens to us all, and you might feel like you're not getting anywhere, but you will.

Since the thread is already up, do you want to post a couple examples of things that you're having trouble with?

Edited by Haps, 29 October 2012 - 07:39 PM.


#11 superman3275   Crossbones+   -  Reputation: 2012

Like
1Likes
Like

Posted 29 October 2012 - 07:47 PM

The best way to learn is to do. C++ and SFML didn't click for me until I started writing my own code. I rigorously copied down the examples. The key here is to change the examples. Experiment with them. Look at, say, an images functions and try them all out. As you read constantly think about how you can apply this knowledge and you'll have it in no time. The only way to learn is to do.

The only way I'm learning good programming habits is to code. I'm slowly figuring out where to apply the single responsibility principle, how encapsulation should be implemented, good design patterns / principles, etc. The only way to actually understand a subject is to rigorously practice in the subject.

I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


#12 burnt_casadilla   Members   -  Reputation: 423

Like
1Likes
Like

Posted 29 October 2012 - 08:06 PM

alright i made this from scratch, but the paddles dont move. anyone know whats wrong?

[source lang="csharp"] protected override void Initialize() { // TODO: Add your initialization logic here KeyboardState state = Keyboard.GetState(); if (state.IsKeyDown(Keys.Up)) { paddle1Pos.Y -= 3; } if (state.IsKeyDown(Keys.Down)) { paddle1Pos.Y += 3; } base.Initialize(); } /// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here ball = Content.Load<Texture2D>("ball"); paddle = Content.Load<Texture2D>("paddle"); } /// <summary> /// UnloadContent will be called once per game and is the place to unload /// all content. /// </summary> protected override void UnloadContent() { // TODO: Unload any non ContentManager content here } /// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { int minY = 0; int minX = 0; int maxY = 600 - ball.Height; int maxX = 1000 - ball.Width; // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); // TODO: Add your update logic here ballPos += ballSpeed * (float)gameTime.ElapsedGameTime.TotalSeconds; if (ballPos.X > maxX) { ballPos.X = maxX; ballSpeed.X *= -1; } if (ballPos.X < minX) { ballSpeed.X *= -1; ballPos.X = minX; } if (ballPos.Y < minY) { ballPos.Y = minY; ballSpeed.Y *= -1; } if (ballPos.Y > maxY) { ballPos.Y = maxY; ballSpeed.Y *= -1; } Rectangle paddle1Rect = new Rectangle((int)paddle1Pos.X, (int)paddle1Pos.Y, paddle.Width, paddle.Height); Rectangle ballRect = new Rectangle((int)ballPos.X, (int)ballPos.Y, ball.Width, ball.Height); if (ballRect.Intersects(paddle1Rect)) { ballSpeed *= -1; } base.Update(gameTime); } /// <summary> /// This is called when the game should draw itself. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.White); // TODO: Add your drawing code here spriteBatch.Begin(); spriteBatch.Draw(paddle, paddle1Pos, Color.White); spriteBatch.Draw(ball, ballPos, Color.White); spriteBatch.End(); base.Draw(gameTime); } }}[/source]

If you see a post from me, you can safely assume its C# and XNA :)


#13 Haps   Members   -  Reputation: 1315

Like
1Likes
Like

Posted 29 October 2012 - 08:09 PM

You put your keyboard polling within Initialize. Initialize is not called every frame, you would want that in Update.

#14 burnt_casadilla   Members   -  Reputation: 423

Like
1Likes
Like

Posted 29 October 2012 - 08:11 PM

thanks. those are the kinds of things that help me learn. books dont really explain that

If you see a post from me, you can safely assume its C# and XNA :)


#15 L. Spiro   Crossbones+   -  Reputation: 12334

Like
2Likes
Like

Posted 29 October 2012 - 08:15 PM

If I had to guess, I would say it is because the code for moving the paddles is located inside Initialize(), which is only called once (I would hope, otherwise it needs a new name).


[EDIT]
I idled for a while before replying.
[/EDIT]


L. Spiro

Edited by L. Spiro, 29 October 2012 - 08:16 PM.

It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#16 burnt_casadilla   Members   -  Reputation: 423

Like
0Likes
Like

Posted 30 October 2012 - 12:18 AM

I managed to make a pong game but with no ai. Where do i go from there?

If you see a post from me, you can safely assume its C# and XNA :)


#17 Alpha_ProgDes   Crossbones+   -  Reputation: 4680

Like
1Likes
Like

Posted 30 October 2012 - 12:22 AM

Another chance to post my famous list. Hold, please.

EDIT: Here we go.
  • Pong
  • Breakout
  • Space Invaders (credit to GearSlayer360)
  • Missile Command
  • Asteroids
  • Tetris
  • Pac-Man
  • Tic-Tac-Toe (credit to 3Ddreamer)
  • ????
  • Make Money
The reason for this list is because you know how these games work. The rules and how all the parts are supposed to work. So it's easy to go down the list and learn new skills as you complete each game. For a really good tutorial on 2D game development, google for Lazy Foo SDL

Edited by Alpha_ProgDes, 30 October 2012 - 12:24 AM.

Beginner in Game Development? Read here.
 
Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
 
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts Posted Image
 
Spoiler

#18 burnt_casadilla   Members   -  Reputation: 423

Like
0Likes
Like

Posted 30 October 2012 - 01:19 AM

breakout is easy enough. i made that in java and C++. i tried snake after that but failed :( space invaders would be a challenge because you have the shields that protect you from enemy bullets, and a whole array of enemies that move together. and lets not forget the actual process of shooting a bullet which i never understood

If you see a post from me, you can safely assume its C# and XNA :)


#19 Tasaq   Members   -  Reputation: 1178

Like
2Likes
Like

Posted 30 October 2012 - 04:20 AM

and lets not forget the actual process of shooting a bullet which i never understood


I don't consider this a programing or api knowledge problem. I see this as an imagination problem. It's just like a puzzle, but harder one. You have certain elements( types like float, int, in xna case also Vectors, containers like lists, you can create your own classes and structers), only thing is to think of how to combine this pieces of puzzle into whole.

As I always suggest, piece of paper is your best friend. Draw your problem (in case of shooting you got a plane/vehicle and a bullet). Write what defines a plane and what defines a bullet(position, velocity etc.). Draw some vectors (for instance, from plane in shoting direction). Search for relations, experiment. If you won't try you won't accomplish a thing :)

The most importan thing of all is to never give up :)
I learned basics of xna from http://rbwhitaker.wikidot.com/xna-tutorials , maybe it will help you too ;)

#20 NightCreature83   Crossbones+   -  Reputation: 2674

Like
0Likes
Like

Posted 30 October 2012 - 10:24 AM

I managed to make a pong game but with no ai. Where do i go from there?

But the comment above initialise would have when the game1.cs file is generated. Have a look at the comments above the functions in the main game class after creating a new XNA game from the wizards. They say when and how often they are executed also the //TODO comments kind mention what you should do in them.
Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS