90 likes | 107 Views
Versus Fighter for Nintendo DS CS 470 Project Ian Roskam. Project Overview. Goals Create a versus fighter for the Nintendo DS Make the engine reusable for future games Focus on basic functionality Why I am interested in game development Learn how to program on DS hardware
E N D
Versus Fighter for Nintendo DS CS 470 Project Ian Roskam
Project Overview Goals • Create a versus fighter for the Nintendo DS • Make the engine reusable for future games • Focus on basic functionality Why • I am interested in game development • Learn how to program on DS hardware • Build a code base for a larger game project
Game Overview • Only one player single match • Basic moves available • 8 characters and 7 maps • Each character has unique attributes
Image Conversion • Used GRIT to convert images • Puts raw pixel data in halfword linear array • Makes image loading faster .section .rodata .align 2 .global titleBitmap @ 65536 unsigned chars titleBitmap: .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD .hword 0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD,0xADAD
Sprite Sheet • 10x8 array of frames • Characters have 80 frames each • Frames are arranged in animation strips • Strips are saved together on a single sheet image
Sprite Class • Handles all image loading and animation of characters • Provides methods to load a particular animation strip • Pointer for each frame of animation
Delays Expected: • Learning NDS 2D graphics hardware • Refreshing on C++ programming Unexpected: • Processing sprites into usable sheets • Learning sprite manipulation
Conclusion • Ambitious for a first project on new hardware I learned: • More about C++, particularly pointer manipulation • Poorly defined requirements make a project difficult to implement