Google Summer Of Code: Difference between revisions

From devkitPro
Jump to navigation Jump to search
No edit summary
No edit summary
Line 29: Line 29:
* For editing sprites, to go along with PernEdit. It is recommended/preferred this be an addon to PernEdit, but that is not mandatory.
* For editing sprites, to go along with PernEdit. It is recommended/preferred this be an addon to PernEdit, but that is not mandatory.


====Get PernEdit working w/ mono====
====Get PernEdit working with mono====
* PernEdit is a free, open-source 'map editor' (for creating game maps for tile-based games, as most GBA and many NDS games are tile-based). Unfortunately it currently only runs in C# in .NET in windows. Porting it to Mono would allow it to run on more platforms, and be useful to more people.
* PernEdit is a free, open-source 'map editor' (for creating game maps for tile-based games, as most GBA and many NDS games are tile-based). Unfortunately it currently only runs in C# in .NET in windows. Porting it to Mono would allow it to run on more platforms, and be useful to more people.
* www.pernedit.com
* www.pernedit.com

Revision as of 14:22, 13 March 2008

Google Summer of Code

devkitPro is applying to become a mentoring organisation for the 2008 Google Summer of code. Our goal is to encourage community contribution to the toolchains and support libraries and better serve our users. We expect student implementors of projects to document their project extensively. This includes not only in-code comments, but also user documentation, including tutorials & sample code where applicable.

Project Ideas

Potential projects that would benefit the homebrew scene in general.

NDS/GBA related

More useful default arm7 core.

  • Currently, most developers writing games and applications for the Nintendo DS only code for the main CPU (the ARM9), and use a provided core for the ARM7. However, the current provided ARM7 core is somewhat limited in features, which means extra work for every developer who wants to fully utilize the NDS hardware (such as sound and wifi, which are only accessible via the ARM7)

GDB stub and host proxy

  • Something like Xboo Communicator for DS. This would allow developers to debug their applications on the target platform via a stub which communicates with GDB (GNU Debugger) running on a host PC. Being able to debug on hardware is very valuable, since currently all PC-based emulators are either lacking debug capability or lacking in emulation accuracy

3D model export tools

  • We need a standardized way of getting 3D models and textures from modeling applications such as Blender, LightWave, Wings3D, etc into a format which is easily usable on the NDS. Currently everyone who wants to write 3D applications has to either hobble along with partially working tools, or write their own from scratch. Having a full-featured, highly-compatible conversion/export tool would make 3D development accessible to many more people. Some work has been done on a collada parser which could be provided as a starting point.

ndstool enhancements

  • possible rewrite, objective to allow editing as well as extraction & creation.

ndstool is the application which builds a .nds file from it's component parts - the arm7 & arm9 binaries, icons, banner text and the embedded filesystem. Currently it cannot edit an existing file without first extracting the indvidual parts. There is also a feature request asking for separate banner & banner text manipulation.

Reimplementing the tool with OOP techniques would be a very acceptable project.

Improve DS OpenGL interface

  • libnds comes with a OpenGL interface for the DS. This interface is decent, but is missing much functionality that is capable of being implemented on the DS, and is also a source of bugs.

Sprite editor

  • For editing sprites, to go along with PernEdit. It is recommended/preferred this be an addon to PernEdit, but that is not mandatory.

Get PernEdit working with mono

  • PernEdit is a free, open-source 'map editor' (for creating game maps for tile-based games, as most GBA and many NDS games are tile-based). Unfortunately it currently only runs in C# in .NET in windows. Porting it to Mono would allow it to run on more platforms, and be useful to more people.
  • www.pernedit.com

Gamecube/Wii related

libfat port to cube/wii

  • libfat is a library for NDS/GBA which provides access to FAT filesystems, mainly on SD and CF cards. The current SD card code in libogc is rather buggy and would benefit from being replaced with a tested FAT support layer.