ideas


Ideas

 

Playpower.org is an non-profit, open-source, educational software development group that creates software for underprivileged children around the world. Playpower targets legacy computing devices, which are still widely available in developing contexts at a very low cost. The 10$ computer that Playpower is targeting is a clone of NES(Ninetendo Entertainment System) and hence developing for the 10$ computer essentially means to develop for the NES. This summer we are looking at developing tools which ease the development on this platform and make educational games/application on the same platform that can have significant impact. The list given here is only of *possible* projects, we welcome any member to come up with his/her own proposal. 

 

We are also interested if a student want to contribute to our Community Development Tools and Learning project.

 

Please feel free to add any ideas you have and keep these points in mind while doing so.

 

 

Software Development Tools

 

Using Assembly language for development:

 

Mentor: Kishan Patel/ Don Miller / Andrew Reitano

Difficulty: Medium

Requirements: C/Python, Experience with NES development

 

This lowers the barrier to assembly programming and allows the user to use high level functions like a for loop, an animation function, a screen change function, palette change function etc. The pre-processor goes through the code looking for such functions and then replace those functions with the equivalent assembly code. The assembly code can then be assembled by assemblers like asm6. 

 

 It is sort of a string replacement code that can be written in C and would require an understanding of NES programming

 

Mentor: Christopher Pow

Requirements:C++, Qt Creator IDE, SDL, OpenGL

Difficulty: Medium to Hard

Go to http://wiki.nesicide.com/doku.php?id=application_design_documentation and investigate possible improvements that would make the IDE useful for playpower development.  Most importantly, we'd need to make this compatible with keyboard famiclones. 

Additionally:

1. Complete the back-end (debugger and source browser) integration with the CC65 toolchain.

2. Implement improvements to existing debuggers.

3. Incorporate concepts from the original Win32 MFC version of the tool into the cross-platform Qt version.

 


 

Using High-level language for development:

 

Mentor: Ambuj Varshney

Difficulty: Medium to Hard

Requirements: C, Basics of NES programming

 

There are different compiler available for the 6502 platform, the project would require the student to explore different options available, some work has already been done on using cc65 to make games for NES systems, the student would be further required to build upon these and come up with a easy to use solution that can allow one to make games for the 6502 platform using C as a language instead of assembly. further, student would be required to come up with a educational game using this approach.

 

Mentor: Rudolf Kudla

Difficulty: hard

Requirements:  C, Basics of NES programming, compiler technologies

 

Description

 

If the student is interested in programming languages and compilers, he/she may try to implement some type of optimization or enhancement to Atalan.

Simpler task would be to develop some example game using Atalan for NES.

 

 

Mentor: Rudolf Kudla

 

Difficulty: medium

Requirements:  C, basic knowledge of assembler (principles, not necessarily 6502)

 

Atalan is currently prepared to support source code level debugger (it generates comment lines into output assembly listing so, that it can be parsed and assigned to adresses).

 

Proof of concept implementation of using this output has been done using Altirra emulator (emulator for Atari 8-bit computers, one of Atalan targets). Student may implement symbolic debugger to one of NES emulators. I would be willing to provide support (mentor) the development of this and would also provide eventual necessary support on Atalan side.

 

 

 

 

 


 

Emulator related development:

Mentor:

Difficulty:

Requirements:

 

Mentor:

Difficulty:

Requirements:

 

 


 

Graphics related development:

 

 

 


 

Miscellaneous:

 

Mentor:

Difficulty:

Requirements:

 

 eBook Converter

 

 


 

 

Educational Games/Application

 

8-bit Games in Progress:

 

 

The source code of all games is located at: http://code.google.com/p/playpower/ .  For commit access you may mail: kishan@playpower.org

 

Mentor: Kishan Patel    

Difficulty: Medium 

Requirements: Familiarity with NES development

 

Malaria is a big problem in developing countries. By creating an interactive experience which shows not only the negatives of Malaria, but the solutions available to preventing/curing problems caused by Malaria, we can educate people on the best way to help not only themselves, but their family and their village.

 

Function specification

 

Mentor: Vivek Fitkariwala/Kishan Patel    

Difficulty: Medium 

Requirements: Familiarity with NES development

 

 

 

 


 

 

Proposed 8-bit Games:

 

 

 

 


 

Potential Engines:

- Typing Game

- Platformer

-

 

 


 

 

Possible Mentors:

Daniel Rehn

Don Miller

Derek Lomas

Dixie Ching

Kishan Patel

Ambuj Varshney