This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
haas:spring2022:comporg:projects:ticx [2022/02/01 21:04] – [topic: timing the palette to get more colors] wedge | haas:spring2022:comporg:projects:ticx [2022/04/17 14:11] (current) – [topic: a bigger TIC-80 game experience] wedge | ||
---|---|---|---|
Line 25: | Line 25: | ||
| 3 | tic3 | create a pong game | 2 | 26 | | | 3 | tic3 | create a pong game | 2 | 26 | | ||
| 4 | tic4 | extend to breakout game | 2 | 26 | | | 4 | tic4 | extend to breakout game | 2 | 26 | | ||
- | | 5 | tic5 | [[# | + | | 5 | tic5 | [[# |
| 6 | tic6 | [[# | | 6 | tic6 | [[# | ||
- | | 7 | tic7 | | 4 | 52 | | + | | 7 | tic7 | |
- | | 8 | tic8 | | 4 | 52 | | + | | 8 | tic8 | |
- | | 9 | tic9 | | 5 | 65 | | + | | 9 | tic9 | |
- | | 10 | ticA | | 5 | 65 | | + | | 10 | ticA | |
- | | 11 | ticB | | 6 | 78 | | + | | 11 | ticB | |
- | | 12 | ticC | | 6 | 78 | | + | | 12 | ticC | |
====topic: palette and persistence==== | ====topic: palette and persistence==== | ||
Line 79: | Line 79: | ||
This allows for 16 colors x 136 lines = 2176 total colors displayable on the TIC-80 screen. | This allows for 16 colors x 136 lines = 2176 total colors displayable on the TIC-80 screen. | ||
- | We don't need to go THAT far (not to 2176), but I would like you to write a TIC80 program that displays in any given frame, at least 64 colors, in some manner conducive to enhancing the user-experience (ie the additional colors make it better than if there were only 16). | + | We don't need to go THAT far (not to 2176), but I would like you to write a TIC80 program that displays in any given frame, at least 48 colors, in some manner conducive to enhancing the user-experience (ie the additional colors make it better than if there were only 16). |
+ | |||
+ | Maybe a mock-up of a game: score and level data banner at the top in one color scheme, main game view in the middle, and player stats banner on the bottom. Each slice adhering to a different color palette. | ||
+ | |||
+ | Or enhance your breakout game to have many many more brick colors... | ||
Might be worth checking: https:// | Might be worth checking: https:// | ||
+ | |||
+ | And, it should be beyond obvious: don't just lift tutorial code you find and pass it off in its entirely (with author comments stripped) as your own. You can refer to examples, but I want the final program you submit to be an effort all your own. | ||
+ | |||
+ | ====topic: a bigger TIC-80 game experience==== | ||
+ | We have spent some time exploring the basics of memory access, peripheral control, and resource manipulation across various aspects of TIC-80. We now move into a larger phase where you bring it all together in some larger, original creation. | ||
+ | |||
+ | You are to implement over the next span of weeks, a more sophisticated game of sufficient detail and utilization of TIC-80 resources that is commensurate with the timeframe involved and experiences gained. | ||
+ | |||
+ | There will be 5 checkpoints that you will submit prototype/ | ||
+ | |||
+ | * week8: initial explorations into your game. Identity in comments or a separate README file what you are looking to do, laying out a timeline for where you hope to be and what you aim to accomplish each week. You don't necessarily have to stick with this timetable or do things in order, but some manner of consistent, overall planning should be taking place. | ||
+ | * week9: snapshot of what you have. Be sure to identify what you have worked on, what works, what doesn' | ||
+ | * week10: snapshot of what you have. As above, identify what you have done, what works and doesn' | ||
+ | * week11: snapshot of what you have. As above, identify what you have done, what works and doesn' | ||
+ | * week12: finished product. | ||
+ | |||
+ | Aspects that need to be present in your finished product: | ||
+ | |||
+ | * utilization of some peripheral for gameplay (joystick, mouse) | ||
+ | * exclusive access of peripheral data via memory peeks and bitwise logic | ||
+ | * use of persistent memory | ||
+ | * code-based alteration of the palette | ||
+ | * game must utilize at least 48 unique colors | ||
+ | * some manner of sound, music (audio) must be present | ||
+ | * generated by code, stored to memory | ||
+ | |||
+ | The game can be based on an existing one (a tetris clone, a doom implementation, | ||
+ | |||
+ | It should go without saying: the code you write should be your own. Don't copy anything. | ||
+ | |||
+ | It should also go without saying: you are to be submitting code. In earlier weeks it doesn' | ||
+ | ====topic: switching this up and coding in assembly on the NES/ | ||
+ | For those that want to dive a little deeper into the inner-workings of how a computer works, you can elect to diverge from the TIC80 path for this next set of projects, and instead learn and implement a simple game in 6502 assembly for the NES. | ||
+ | |||
+ | The game can be something like breakout, asteroids, dig dug, etc. or some original idea, but does not have to be as expansive as the multi-week TIC80 game effort. | ||
+ | |||
+ | NOTE: the game cannot be pong, hopefully for obvious reasons. | ||
+ | |||
+ | To start, check out the Nerdy Nights tutorials: | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | Do note: the aim here is to learn 6502 ASSEMBLY LANGUAGE for the NES, creating ROMs to run in an NES emultor. | ||
+ | |||
+ | There will be 5 checkpoints along the way where you will submit a snapshot of what is being explored/ | ||
+ | |||
+ | * week8: NES prototyping, | ||
+ | * week9: more exploring | ||
+ | * week10: perhaps the first signs of work breaking ground on the game | ||
+ | * week11: some in-progress snapshot of your game | ||
+ | * week12: NES ROM game complete and submitted | ||
+ | |||
+ | It should go without saying: the code you write should be your own. Don't copy anything. | ||
+ | |||
+ | It should also go without saying: you are to be submitting code. In earlier weeks it doesn' | ||
=====Submission===== | =====Submission===== | ||