Posts Tagged ‘xna 4’
Hey everybody, I am in again and will be using:
Libraries/Framework: XNA with some Code from my last LD game (if you are interested, here is the source)
Audio: BFXR, Autotracker-C
I will also try to provide a web version of this LD’s game – with the help of JSIL (check it out, this project is amazing! Also if you have a question about porting your game, just leave a comment or write me an email)
Here is the link to the web port of my last game: Click me! (The sound options in the game are not working, sorry for that!)
I’m a student at the University of Oklahoma and we set up a couple of teams to compete in the Jam this time around.
Originally, we were going to do it in Unity (which the other team managed to do), but difficulty with doing a 2D platformer in a 3D engine caused us to switch to the more familiar XNA. Sometime on Saturday night we all lost our minds. And gained a hilarious voiceover and story to go along with our game.
- Shifting the main character from a mad scientist to an insane professor worked really well
- Our art asset guy went crazy first and started recording dialogue for our main character late Saturday night
- The other coder decided that making the game as hard as possible was a good idea
- We got a fourth person to write our game description (who did an awesome job)
- Spaghetti code, ho!
- Collision is still very buggy
- We lost a day to Unity before we switched to XNA
Things we didn’t get to do
- There were going to be enemies and Professor Searcher was going to have a ray gun (which used his energy)
- Win condition isn’t very good, we were going to have him actually escape from the sewers rather than just collect beakers
- SCIENCE 201!: INTRODUCTION TO DIFFERENTIAL ACID BATHS AND JUMP KICKS!
We had a lot of fun doing this… but now we have to go back to the land of tests and class projects.
See ya next time, Ludum Dare.
Since I didn’t want to rewrite a whole bunch of code next weekend, I decided to tidy up and release this bunch of code.
It’s some helpful code that allows for easy sprite handling in XNA 4.0.
-Easy sprite creation (just CreateSprite(name, position) and it’ll automatically render it from that point on)
-Changing position, scaling, rotation is also easy
-Depth system where deeper sprites are always rendered behind less deep sprites
-Automatically loads the Content/Graphics folder for you so you can just refer to the images by name
-Basic layered sprite support (multiple sprites combining to make one sprite, for example a base body with armor and a weapon overlaid on it)
-Basic animation support
-Licensed under Creative Commons Attribution 3.0 Unported, so you’re free to modify it or use it commercially
Code includes a simple example project.
How it works
-Create a folder ‘Graphics’ with at least 1 image in it in your Content folder. The folder or any of its subfolders must not contain any non-graphic files.
-Put a SpriteFont in your Content folder with the name ‘Default’. It will be used as font for GTexts and the log.
-Call SpriteEngine.Initialize in the constructor of your XNA game class (note that it MUST be in the constructor, NOT in Game.Initialize()), after setting Content.RootDirectory.
-Call SpriteEngine.LoadContent in the LoadContent method of your XNA game class.
-That’s all the initialization it needs. Call SpriteEngine.Draw in your Draw method to actually have it do something. Note that it does not clear the screen for you; keep GraphicsDevice.Clear in there.
-If you want to use animations or ‘camera scrolling’, call SpriteEngine.Update in your Update method.
-From now on you can use SpriteEngine.CreateSprite to create sprites in your game. It returns a sprite object, which you can use to change its position, rotation, image, etc. Use SpriteEngine.EraseGObject to erase a sprite, or SpriteEngine.Nuke to erase everything.
SpriteEngine – Main class. Most of the functions you need will be in here.
GObject – Base class for displayable objects (Sprites and GTexts). Contains basic information like position, scale and depth.
GText – A displayed string that can be moved around and has a depth, much like a sprite.
Sprite – Class representing a sprite, containing basic information such as its position, images, rotation, scale, etc.
LayeredSprite – A sprite composed of multiple sprites. Uses a simple layer system where when the sprite is drawn, all of its sub-sprites are drawn at its location instead.
Details on what each property and method does can be found in comments in the code, I’m too lazy to type them all out.
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
You are free:
* to Share — to copy, distribute and transmit the work
* to Remix — to adapt the work
* to make commercial use of the work
Under the following conditions:
* Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
Have fun, and good luck with your games.
Well, now that the server’s up, I can post a progress report on our game: http://i.imgur.com/kPVcU.png It looks bland right now because it doesn’t have blocks, powerups, particles, enemies, or soundtrack. But since it’s a Jam entry, we’ve got it all planned out for the next two-ish days and we’re right on schedule.
Good luck to all fellow Jammers and you hardcore Compo programmers!
This is the first game programming competition I’ve entered, ever. I’m doing the Jam with a friend, we’re going to get together and program the whole weekend! I’ve been programming all summer anyway, so it’s nice to have an official excuse.
We’re using XNA 4.0 in Visual Studio 2010, with a healthy dose of Paint.NET. See you at the end!