Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comment
  • views

About this blog

This blog documents my time spent remaking the game Snake on the TI-84 Plus CE calculator.

Entries in this blog



For the past couple of weeks I have been busy studying the innards of the TI84+CE, writing sample programs and pouring through online resources. There is now a repository for the game, located at https://github.com/danielricci/snake I estimate that I will need to spend another 6-8 more weeks working on sample programs and going through other online tutorials before I start writing the game. The goal of this series of assembly made projects is to prepare myself for game development with the Turbo Graphics 16 console system, which I estimate I will be starting somewhere around the end of this year. The assembler that I am using is `SPASM-ng`, located at https://github.com/alberthdev/spasm-ng These are the online tutorials that I found to be very useful TI-83 for Absolute Beginners: https://www.ticalc.org/archives/files/fileinfo/437/43784.html Learn ASM in 28 days: http://media.taricorp.net/83pa28d/welcome.html Z80 Heaven: http://z80-heaven.wikidot.com/system:tutorials eZ80 Heaven: https://ez80.readthedocs.io/en/latest/index.html A lot of my time is being spent reading through the listing (.lst) files that are generated by the assembler. I am going through each line in that file making sure that I understand all the memory address calculation that are going on (indirection, etc) so that when it comes time to create my games I am not going in blindly. Working in OOP makes you think first about concepts like data structures, code reuse, and design patterns. In assembly, those thoughts are replaced with how decimal/hex works, and how to make operations as simple and fast as possible. It is a very refreshing feeling to not be working in an OOP environment strangely enough, and I encourage anyone that has been working in OOP for a few years to try and write (and run!) a couple of lower level programs. I have some other news that I was going to wait to announce, however I might as well spill the beans. I am working on setting up a YouTube channel so that I can record the work that I am doing. The idea is to have weekly game dev blogs, similar to your traditional game dev blogger. More to be announced around the summer time for this, however it is on my mind every time i sit at my desk to work on my games, and it would be amazing if that would turn into something more permanent where I can work on my games in a full time setting. Take care, until my next blog post.


So, after a little over a year of software development trying to remake the Windows 95 version of Solitaire, I finally stamped a release build on it. A nice wave of emotions followed by a few glasses of Crown Royal to commemorate closing that chapter in my life. I told myself that would be the last time that I would write a game in Java for a long while, it's time to move on. Java was the first OOP language that I got taught in University when I was doing my undergraduate degree in Computer Science, and I learned it using Eclipse, this was over 10 years ago. For the past two years I made a couple of games to get back into the grove of working on side projects because there are only so many business applications one can write before insanity kicks in.  Since then I made Tic-Tac-Toe, Checkers, Chess, Minesweeper 95, and Solitaire 95. I also wrote a software library to make Java Swing a lot more bearable, almost like a light weight framework that added some game development concepts to Swing such as a better message passing system and a better implementation of the Observable pattern. I also wrote a program to create tile maps that could be exported into all the games that I mentioned above. I added some functionality that would generate and compile Java code at runtime, compile it, and create bindings that I would hook onto in my game to be able to extract data elements that I defined within this editor program. For my next project I really want to challenge myself and see what I'm made of. So, I decided to buy a TI-84 Plus CE, and I'm going to program games in assembly, and of course make a blog about all of this along the way. For my first game on this calculator I will be remaking the game `Snake`. So far as of writing this I have a basic understanding of the hardware specs and the software stack. I have all the requirements installed and I have tested out a demo application to make sure that the assembler that I am using works and that I can upload programs to the calculator and run them. I will not write any of my games in TI-BASIC or C, I am strictly going to be working in Assembly so that I can earn my wings as a Computer Scientist. In the coming weeks I will start posting regular updates about my progress, until then I have a lot of prototyping to do.  

Daniel Ricci

Daniel Ricci

Sign in to follow this  
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!