Remember that super old Baseball handheld game made by Mattel in the 19-oh-nothings?

Well, I'm porting it to the CE.

My dad and I were talking about old graphics in games (or lack thereof) while he was driving us o a friend's house for dinner when he mentioned this old handheld game that was essentially baseball but with little red lights instead of an actual field. Wouldn't you know it, when we get to said friend's house, they have one! So I decided that I would do my best to port it o the CE. The current version barely has the sprites done and the only working part is the start menu (I'm writing it in TI-Basic, and will eventually translate it to ICE). If anyone has any ideas or help they want to share, feel free to do so.
Please write it in C, not ICE.
randomguy wrote:
Please write it in C, not ICE.


Okay, but it won't be the first version. To be fair, I can't code in C, so the first version kind of has to be in ICE. Besides, I can code in ICE S on-calc, but I can' code in C on-calc. (My computer privileges are... uh, very restricted. For no reason at all... Sad ) Also, I have no compiler for C to 8xp (except CEDev -- does that work?). Saying "I can't code in C" is a huge understatement -- I've never even tried to read ASM or C. Even ICE is a learning process for me -- I've never really used it before.

Don' worry, the first release will include the ICE stuff I use (Compiler by PT_, Sprite creator by what's-his-name, and so on) as well as the ICE S.
I think ICE is fine. In the long haul, you should definitely invest in C (C is a great baseline into many different languages, even outside of the C family, and you get practice into indispensible tools like the command line and git). This shouldn't really be an issue though, because many aspects of ICE will be a great introduction/transition into fundamental C concepts. I'm excited to see your project how goes. I remember when I was doing on-calc ICE programming, I made a little baseball sim, so I'm happy to see someone else interested in the same idea. Razz
If you are interested in learning C, auditing the C Programming: Getting Started course on edx.org is a great way to start (you don't have to pay if you choose the audit option, but you have to finish in a couple of months).

CEDev doesn't need any permissions on mac unless perhaps raw binaries aren't allowed to run, but I can't say anything about Windows or Linux. Are you allowed to use VS Code or some other IDE/code editor on your computer? If so, you should be good, because setting up CEDev should be easy with clear instructions. On mac, it mainly involves downloading the latest build, moving it to ~, and setting up an environment variable (file with like 2 lines of information for the CEDev compiler), and finally creating the correct project template. You can view the official CEDev site for help: https://ce-programming.github.io/toolchain/static/getting-started.html#installing-the-ce-c-toolchain or you can do this:
If you are using mac, this (or something like it) should work:
Step one: download the release and move it to your desktop (it should be a folder called CEdev). https://github.com/CE-Programming/toolchain/releases/tag/v9.2.2

Step two:
Run this script in any terminal:

Code:

cd ~/desktop
mv CEdev ~
cd ~
touch .zprofile


Step 3:
check if you are using zsh in your terminal by running this:

Code:

echo $SHELL

if the output is something like '/bin/zsh', then great! If it wasn't, then post what it said. Most likely you were using bash, in which case you will need to rename your file to '.bashrc' with this script:

Code:

cd ~
mv .zprofile .bashrc


Step 4: paste the necessary stuff into your environment variable by running this:

If you are using zsh:

Code:

cd ~
open .zprofile


If you are using bash:

Code:

cd ~
open .bashrc


That should open the environment variable in your default text editor, and you should copy/paste this into the file:
export CEDEV=/Users/YOUR_USER_NAME/CEdev
export PATH=$CEDEV/bin:$PATH

Save the file (make sure it has '.' as the first character in the name), and run this to make sure everything works:

Code:

cd ~/CEdev/examples/hello_world
make
open bin


It should have this output:

Code:

[compiling] src/main.c
[convimg] icon.png
[linking] bin/DEMO.bin
[success] bin/DEMO.8xp, 534 bytes.

and it should automatically open the folder containing the newly compiled example binary.

If this worked, you should be able to create a CE project anywhere in your user account, by building off of the hello_world template located on the internet here: https://github.com/CE-Programming/toolchain/tree/master/examples/hello_world
and on your device here:

Code:

cd ~/CEdev/examples
open hello_world


I sort of got confused about how to set it up myself when I started, so I hope this helps! Smile[b]
Two main things: One, I'm on a 2007 win10 desktop (which is slow compared to my calc lol) so I try to do as much work off it as possible. Two, I already have CEDav and CEmu installed (I think) on here, so I don't think that's a problem. I will say it took a certain amount of frustration before I got it to work, but it (mostly) does now. Yay.

But, as I was saying, I prefer to code in as distraction-free, no-frills as an environment as possible (because I get distracted very easily... :/ ), and it just so happens that I'm quite used to typing/coding on my calc at this point, so I'm actually faster at writing code on-calc than I am on a computer! (Who woulda thunk...)

So, the first version is definitely going to be in TI-BASIC or ICE, and the first release will most likely be in ICE. I may eventually translate it to C or ASM (can you actually make decent games in eZ80? Or am I just confused?), but it definitely won't be in C for the first few versions. Sorry!
A few things on this: firstly, I think you'll find that it's very difficult to port a game from ICE to C in any kind of reasonable time frame (a good example of this is one of my own programs, the ill-fated DR1VE CE), as the languages are not at all similar in syntax or behavior despite using the same libraries. Additionally, as I imagine someone already said, learning C is an invaluable experience that will later prepare you for learning other languages as well as helping you obtain a deeper knowledge of how programming actually works.

And in response to your question about whether it's possible to make decent games in ez80, it is very much possible. This is evidenced by programs like Alien Breed CE, Banchor CE, and Spaze Invaders CE by JamesV; Calcuzap 1066 CE and CMonster 1202 CE by patrickdavidson; Tetric A CE by KermMartian; and Portal Returns CE, Pac-Man CE, and Puzzle Frenzy CE by MateoConLechuga. There are also many more that are notable, these are just a few that I'm familiar with.

However, I wouldn't necessarily recommend writing in ez80, here's something that was said to me when I briefly considered that for DR1VE:
_iPhoenix_ wrote:
I kinda put together a response on dIRCjax:
Quote:
6:50:09 AM [#] [disjax] [_iPhoenix_] Any time someone says "I'm going to try to learn assembly to do this, it better fits my needs" I know the end of the project is in sight because assembly is a whole lot more complicated than you might think- not so be discouraging, I totally think you could do it
6:51:29 AM [#] [disjax] [_iPhoenix_] It might be better to work in an intermediate like C. Just my $.02, I don't want to be discouraging since I really like that project :)


So, my conclusion would be to recommend that you start using C as soon as possible-it has by far been the most powerful and usable language for the CE in my personal experience. I understand that hardware may be an issue, so the TI-Planet Project Builder may be worth looking at? That's what I personally used before I got my own computer, as it allowed me to work on both a home computer and the ones available at school, while having a lot of great set of features. My current computer (my primary one has been broken for a few weeks now), has no problems running it. For reference, it is a Dell Latitude E6400 with a dual-core Intel Core 2 Duo T9900 processor, 4 GB RAM, a 64 GB SSD, and an NVIDIA Quadro NVS 190M, and is also running Windows 7.

Anyway, sorry for the long post, I wish you luck wish whatever you decide to do. ICE is certainly still a very good language. I used it to make some of my first programs (most notably DR0VE CE and Waver CE), and I think it would serve this project well. However, as I said earlier, C is vastly superior in my opinion, and I'd switch to it as soon as you feel like you're ready. Good luck!
I second Epsilon's recommendation to start using C as soon as possible.
If your computer is very slow, I would recommend trying out Linux. It's much lighter than Windows, and it's much less of a hassle to use for programming.
Note that ICE has some bugs (which will never be fixed, because ICE is being deprecated), and that C makes your programs much easier to maintain. You can use git as a version control system, for example, and roll back when you inevitably f something up.
Michael0x18 wrote:
If your computer is very slow, I would recommend trying out Linux. It's much lighter than Windows, and it's much less of a hassle to use for programming.
I agree with this, Linux is great on older hardware and may be good for this use case. However, as the computer is likely a family one (I assume, anyway), that may not be an option. I'd recommend Manjaro, probably in the XFCE distribution which is pretty lightweight and very functional, although KDE would be preferable if your computer can run it. That's what I personally use, and I've been very happy with it.

Your point about the version control system is also a great one, as I lost a fair few updates to some of my ICE programs to RAM resets when I had to unarchive the source program to fix errors. Using Cesium would resolve this, which I hope you're already doing. Even making backups of your calc with TI-Connect CE or TILP would suffice, but that isn't a replacement for the full version control system you'd get using C with Git.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement