| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

ideas

Page history last edited by Pasquale Barilla 13 years, 1 month ago

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:

 

  • Pre-processor for ASM6

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

 

  • Improvements to NESICIDE 

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:

 

  • C based approach to creating games for Playpower 

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.

 

  • Atalan Compiler

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.

 

 

  • Source code level debugger

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:

  • Famiclone Keyboard Support for Mac and Linux Emulators

Mentor:

Difficulty:

Requirements:

 

  • Online Emulator having keyboard support 

Mentor:

Difficulty:

Requirements:

 

 


 

Graphics related development:

  • 8-bit Graphics Editor 

 

 

 


 

Miscellaneous:

 

  • eBook Converter

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

 

  •  Malaria Game 

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

 

  • Typing Game 

Mentor: Vivek Fitkariwala/Kishan Patel    

Difficulty: Medium 

Requirements: Familiarity with NES development

 

 

 

  • Quiz Game

 


 

 

Proposed 8-bit Games:

 

  • Battleship Numberline

 

 

 


 

Potential Engines:

- Typing Game

- Platformer

-

 

 


 

 

Possible Mentors:

Daniel Rehn

Don Miller

Derek Lomas

Dixie Ching

Kishan Patel

Ambuj Varshney

 

 

 

 

 

Comments (0)

You don't have permission to comment on this page.