• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

Joker123

Members
  • Content count

    11
  • Joined

  • Last visited

Community Reputation

115 Neutral

About Joker123

  • Rank
    Member
  1. I created an Application ID und an Ad unit ID in the Pubcenter, but I don't know how to use them in my XNA project. How can I use ads in a Windows Phone game?
  2. I don't know how to use this formula in my code: On = On-1 + ?(In – On-1) How can I use the formula or a similar formula in my code?
  3. I want to use the Windows Phone sensors to move a ball in a Windows Phone game. I tried to move the ball with the accelerometer, but the ball doesn't move correctly if I tilt my Windows Phone device(Lumia 920) in a direction.  For example, if I tilt the device to the left, the ball isn't moving to the left, instead the ball moves very strange. I don't know what I could change in my code so that the ball moves correctly. What is wrong? Why is the ball not moving in the right direction when I tilt my Windows Phone device? What should I change so that the ball moves correctly if I tilt the Windows Phone device? public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; Motion motion; Texture2D Ball; Vector2 BallPos = new Vector2(400, 300); Vector2 BallVelocity; void motion_CurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading> e) { UpdateUI(e.SensorReading); } private void UpdateUI(MotionReading e) { float accelerometerX = e.DeviceAcceleration.X; float accelerometerY = e.DeviceAcceleration.Y; speed.X += accelReading.X; speed.Y += -accelReading.Y; BallPos.X += speed.X *0.05f; BallPos.Y += speed.Y *0.05f; } public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; TargetElapsedTime = TimeSpan.FromTicks(333333); InactiveSleepTime = TimeSpan.FromSeconds(1); graphics.IsFullScreen = true; } protected override void Initialize() { if (Motion.IsSupported) { motion = new Motion(); motion.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20); motion.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<MotionReading>>(motion_CurrentValueChanged); motion.Start(); } base.Initialize(); } protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); Message = Content.Load<SpriteFont>("Arial"); Ball = Content.Load<Texture2D>("ballbig"); } protected override void Update(GameTime gameTime) { base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); spriteBatch.Draw(Ball, BallPos, null, Color.White, 0, new Vector2(Ball.Width/2,Ball.Height/2), 1f, SpriteEffects.None,1); spriteBatch.End(); base.Draw(gameTime); } }
  4. I wrote a class to play my animations. But it just works if I play the entire animation. For example: If my spritesheet has 3 pictures, I call the Animation class like that to play the entire animation : Player_Animation = new Animation(new List<Rectangle>(3), Content.Load<Texture2D>("walking"), TimeSpan.FromSeconds(1), Animation.Sequences.forwards, this, 0, 3);   That works. But on the other hand: If my spritesheet has 3 pictures, and if I just want the first 2 pictures of the animation, I call the Animation class like this to play only the first 2 pictures of the animation: Player_Animation = new Animation(new List<Rectangle>(3), Content.Load<Texture2D>("walking"), TimeSpan.FromSeconds(1), Animation.Sequences.forwards, this, 0, 2);   That doesn't work. I always get that "ArgumentOutOfRangeException was unhandled" error message in the following line(it's the last line of the Animation class): batch.Draw(Texture, new Rectangle((int)PositionX, (int)PositionY, Texture.Width / SourceRects.Capacity, Texture.Height), SourceRects[_animIndex], Color.White,0,new Vector2(Texture.Width/2, Texture.Height/2),Flip,1);     What is wrong? Why can't I play an interval of the animation without getting that error message? Here's my Animation class: public class Animation { public SpriteEffects Flip; private Game1 game1; private int _animIndex, numberofsourceRects, framewidth, frameheight; private TimeSpan PassedTime; private List<Rectangle> SourceRects; private Texture2D Texture; private TimeSpan Duration; private Sequences Sequence; public enum Sequences { forwards, backwards, forwards_backwards, backwards_forwards } private void forwards(List<Rectangle> sourceRects, int framewidth, int frameheight, int start, int end) { numberofsourceRects = end; for (int i = start; i < numberofsourceRects; i++) sourceRects.Add(new Rectangle(i * framewidth, 0, framewidth, frameheight)); } private void backwards(List<Rectangle> sourceRects, int framewidth, int frameheight, int start, int end) { numberofsourceRects = end; for (int i = start; i < numberofsourceRects; i++) sourceRects.Add(new Rectangle((numberofsourceRects - 1 - i) * framewidth, 0, framewidth, frameheight)); } private void forwards_backwards(List<Rectangle> sourceRects, int framewidth, int frameheight, int start, int end) { numberofsourceRects = end; for (int i = start; i < numberofsourceRects; i++) sourceRects.Add(new Rectangle(i * framewidth, 0, framewidth, frameheight)); for (int i = start; i < numberofsourceRects; i++) sourceRects.Add(new Rectangle((numberofsourceRects - 1 - i) * framewidth, 0, framewidth, frameheight)); } private void backwards_forwards(List<Rectangle> sourceRects, int framewidth, int frameheight, int start, int end) { numberofsourceRects = end; for (int i = start; i < numberofsourceRects; i++) sourceRects.Add(new Rectangle((numberofsourceRects - 1 - i) * framewidth, 0, framewidth, frameheight)); for (int i = start; i < numberofsourceRects; i++) sourceRects.Add(new Rectangle(i * framewidth, 0, framewidth, frameheight)); } public Animation(List<Rectangle> sourceRects, Texture2D texture, TimeSpan duration, Sequences sequences, Game1 game, int start_interval, int end_interval) { game1 = game; numberofsourceRects = sourceRects.Capacity; framewidth = texture.Width / numberofsourceRects; frameheight = texture.Height; switch (sequences) { case Sequences.forwards: { forwards(sourceRects,framewidth,frameheight, start_interval, end_interval); break; } case Sequences.backwards: { backwards(sourceRects, framewidth, frameheight, start_interval, end_interval); break; } case Sequences.forwards_backwards: { forwards_backwards(sourceRects, framewidth, frameheight, start_interval, end_interval); break; } case Sequences.backwards_forwards: { backwards_forwards(sourceRects, framewidth, frameheight, start_interval, end_interval); break; } } SourceRects = sourceRects; Texture = texture; Duration = duration; Sequence = sequences; } public void Update(GameTime dt) { PassedTime += dt.ElapsedGameTime; if (PassedTime > Duration) { PassedTime -= Duration; } var percent = PassedTime.TotalSeconds / Duration.TotalSeconds; _animIndex = (int)Math.Round(percent * (SourceRects.Capacity -1)); } public void Draw(SpriteBatch batch, float PositionX, float PositionY) { numberofsourceRects = SourceRects.Capacity /2; if ((Sequence == Sequences.forwards_backwards) || (Sequence == Sequences.backwards_forwards)) batch.Draw(Texture, new Rectangle((int)PositionX, (int)PositionY, Texture.Width / numberofsourceRects, Texture.Height), SourceRects[_animIndex], Color.White,0,new Vector2(Texture.Width/2, Texture.Height/2),Flip,1); else batch.Draw(Texture, new Rectangle((int)PositionX, (int)PositionY, Texture.Width / SourceRects.Capacity, Texture.Height), SourceRects[_animIndex], Color.White,0,new Vector2(Texture.Width/2, Texture.Height/2),Flip,1); } }    
  5. I tried this tutorial: [url="http://wellroundedgeek.com/post/2011/01/25/Simple-XNA-Cross-Platform-Settings-Manager.aspx"]http://wellroundedge...gs-Manager.aspx[/url] But I have some difficulties. The file "settings.xml" isn't getting saved. I tried it on Windows 7 but I couldn't find the file[img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img] Why isn't this working? [CODE] protected override void Initialize() { SettingsManager.LoadSettings(); base.Initialize(); } protected override void Update(GameTime gameTime) { KeyboardState kbState = Keyboard.GetState(); if (kbState.IsKeyDown(Keys.A)) SettingsManager.Settings.HasRunOnce = false; if (SettingsManager.Settings.HasRunOnce == false) SettingsManager.SaveSettings(); base.Update(gameTime); } [/CODE]
  6. I know how to read content from an XML file , but I don't know how to write something into it[img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img] For example, I read an integer variable from an XML file and modify it. After modifying, I want to save the integer variable to the same XML file. The old integer value must be replaced with the new value. My game runs on Windows 7. I load the XML file with this code: [CODE] List<Gamescore> scorexml = new List<Gamescore>(); protected override void LoadContent() { scorexml = Content.Load<List<Gamescore>>("Score"); foreach (Gamescore score in scorexml) { score.Load(Content); } } [/CODE] [CODE] public class Gamescore { int score; public int Score { get { return score; } set { score = value; } }[/CODE]
  7. Problem solved. I added this in the LoadContent() of Game1: [CODE] foreach(Sprite sprite in sprites) { sprite.Load(Content); } [/CODE]
  8. I get the error message in this line : [CODE]batch.Draw( texture, position, null, Color.White, rotation, Vector2.Zero, scale, SpriteEffects.None, 0f);[/CODE] I changed the line [CODE]texture = content.Load<Texture2D>(textureAsset);[/CODE] to [CODE]texture = content.Load<Texture2D>("light");[/CODE] but it changed nothing. Always the same error message. [CODE] + Color.White {R:255 G:255 B:255 A:255} Microsoft.Xna.Framework.Color + Vector2.Zero {X:0 Y:0} Microsoft.Xna.Framework.Vector2 + batch {Microsoft.Xna.Framework.Graphics.SpriteBatch} Microsoft.Xna.Framework.Graphics.SpriteBatch + position {X:100 Y:100} Microsoft.Xna.Framework.Vector2 rotation 0.0 float + scale {X:0,1 Y:0,1} Microsoft.Xna.Framework.Vector2 texture null Microsoft.Xna.Framework.Graphics.Texture2D + this {SharedContent.Sprite} SharedContent.Sprite [/CODE]
  9. TextureAsset is set to "light", but texture is always null. Here is the file. http://depositfiles.com/files/kj4an4ef7
  10. The variable texture is always null, but I don't know what to change in the code[img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img] I can upload my project if that would be easier for you.
  11. I have written a class to load an XML file but I always get this error message: ArgumentNullException was unhandled This method does not accept null for this parameter. Parameter name: texture What is wrong in the Sprite class? Here is the entire code of Game1 and Sprite class(where I load the XML file): [CODE] namespace WindowsGame16 { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; Texture2D licht; List<Sprite> sprites = new List<Sprite>(); public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; } protected override void Initialize() { base.Initialize(); } protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); sprites = Content.Load<List<Sprite>>("Levelinf"); } protected override void UnloadContent() { } protected override void Update(GameTime gameTime) { base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(); foreach (Sprite sprite in sprites) sprite.Draw(spriteBatch); spriteBatch.End(); base.Draw(gameTime); } } }[/CODE] [CODE] namespace SharedContent { public class Sprite { Vector2 position; float rotation; Vector2 scale; string textureAsset; Texture2D texture; public Vector2 Position { get { return position; } set { position = value; } } public float Rotation { get { return rotation; } set { rotation = value; } } public Vector2 Scale { get { return scale; } set { scale = value; } } public string TextureAsset { get { return textureAsset; } set { textureAsset = value; } } [ContentSerializerIgnore] public Texture2D Texture { get { return texture; } } public void Load(ContentManager content) { texture = content.Load<Texture2D>(textureAsset); } public void Draw(SpriteBatch batch) { batch.Draw( texture, position, null, Color.White, rotation, Vector2.Zero, scale, SpriteEffects.None, 0f); } } }[/CODE] And my XML file: [CODE] <?xml version="1.0" encoding="utf-8" ?> <XnaContent> <Asset Type="System.Collections.Generic.List[SharedContent.Sprite]"> <Item> <Position>100 100</Position> <Rotation>0</Rotation> <Scale>.1 .1</Scale> <TextureAsset>light</TextureAsset> </Item> <Item> <Position>200 100</Position> <Rotation>0</Rotation> <Scale>.1 .1</Scale> <TextureAsset>light</TextureAsset> </Item> <Item> <Position>400 100</Position> <Rotation>0</Rotation> <Scale>.1 .1</Scale> <TextureAsset>light</TextureAsset> </Item> </Asset> </XnaContent>[/CODE] WebRep currentVote noRating noWeight