Posted By
Harry Potter on 2023-03-13 08:04:40
| cc65: new text adventure codes online!
I was told to recycle my threads but couldn't find a previous thread about this topic.I'm sorry. I just uploaded the latest releases of AdvSkelVic65 and AdvSkel65. The main latest edits were heavy debugging and optimizing. They are created for and with cc65, but they are very efficient, as I used CBMSimpleIO, my Cubbyhole optimization technique, a lot of inline assembler, global and zeropage variables and other optimization techniques. They are at https://sourceforge.net/projects/cc65extra/files/game/. Try them out!
BTW, I am an egotist and want to hear that my stuff is good. I am asking somebody here to compare my programs to my competition and tell me how my programs stack up.
|
|
Posted By
xahmol on 2023-03-13 11:23:56
| Re: cc65: new text adventure codes online!
Well, sorry to say, but compared to Ozmoo (https://github.com/johanberntsson/ozmoo) there really is no competition.
Of course always a nice exercise to try to make your own, but if I ever wanted to make a text adventure I would use Ozmoo.
|
|
Posted By
Harry Potter on 2023-03-13 13:20:24
| Re: cc65: new text adventure codes online!
Okay, I thank you for your honest opinion. I'll download Ozmoo now and perhaps only use mine for myself.
|
|
Posted By
Harry Potter on 2023-03-13 15:15:33
| Re: cc65: new text adventure codes online!
I looked at the link, and, indeed, it is much better than mine. However, the Vic20/C16 versions of AdvSkelVic65 can work on those smaller computers, and I don't think Ozmoo uses all of the C64's memory. I want to contact Ozmoo's author and describe to him my Cubbyhole optimization technique and my ideas on my Hidden64 cc65 library, but, when looking for his e-mail address on his site, I couldn't find it. How can I contact him?
|
|
Posted By
Csabo on 2023-03-13 15:23:00
| Re: cc65: new text adventure codes online!
I would suggest raising an issue on GitHub.
|
|
Posted By
Harry Potter on 2023-03-13 15:29:57
| Re: cc65: new text adventure codes online!
Do I have to subscribe to GitHub to raise an issue? BTW, I really don't think it's an "issue" but rather an improvement.
|
|
Posted By
Harry Potter on 2023-03-13 15:32:49
| Re: cc65: new text adventure codes online!
Never mind, I got the answer. I clicked the "Raise Issue" button, and I do need to subscribe to GitHub. Is there another way to contact him? Or is GitHub the only way?
|
|
Posted By
Csabo on 2023-03-13 16:10:39
| Re: cc65: new text adventure codes online!
I don't think he visits Plus/4 World, you'll probably have to look for other ways of contacting him yourself.
|
|
Posted By
Harry Potter on 2023-03-13 16:32:25
| Re: cc65: new text adventure codes online!
I think I will continue working on my text adventure codes for now, but I have my work cut out for me, as I need to complete other projects, too, including improving printtok.c.
|
|
Posted By
Harry Potter on 2023-03-15 09:42:23
| Re: cc65: new text adventure codes online!
Somebody on the atariage forum told me that my code is a mess. Sorry. I spent most of yesterday cleaning up the mess. Then, I spent yesterday evening and this morning debugging. The code is now heavily commented, and the manual and information file contain much more information. I uploaded the results just now.
|
|
Posted By
Harry Potter on 2023-03-23 08:20:46
| Re: cc65: new text adventure codes online!
I am pleased to announce that I just updated AdvSkel65 online. It is in the same location as the previous versions. New to this version are heavy code clean-up, optimizations and debugging and the documentation of a feature that allows you to customize a room's text based on conditions such as a task done or a player's possessions. TRy it out!
|
|
Posted By
Harry Potter on 2023-03-28 16:53:42
| Re: cc65: new text adventure codes online!
Hi, again. I've been optimizing my text adventure and text adventure codes and am doing well with it. I need to start debugging again. In the mean time, Does anyone here have any suggestions, improvements or optimizations I can apply to AdvSkelVic65 or AdvSkel65?
|
|
Posted By
Harry Potter on 2023-04-13 07:35:10
| Re: cc65: new text adventure codes online!
I just updated AdvSkelVic65 online. New features include C64 binaries and disks, Atari800 disks and single files for the Vic20, C64 and C16 targets. It is at the same location as the previous versions.
|
|
Posted By
Harry Potter on 2023-06-16 19:17:06
| Re: cc65: new text adventure codes online!
I improved AdvSkel65's support: I added to its documentation, optimized heavily, cleaned up the code, fixed a lot of bugs and added support for 32k Atari cartridges. It is at https://sourceforge.net/projects/cc65extra/files/game/. Try it out!
|
|
Posted By
Fredrik on 2023-07-26 04:13:15
| Re: cc65: new text adventure codes online!
It's never wrong to write programs, for fun or to try out ideas etc. We've done some work to optimize Ozmoo, but it's a never ending task if you want it to be
On the Plus/4, Ozmoo uses:
143 bytes on zero page for internal interpreter use,
$100-$128 for a text output buffer, to support word wrap. $200-$228 for a secondary text output buffer, to support word wrap. $2a7-$2ff for a memory buffer for various tasks $332-$3f1 for a table to keep track of what virtual memory blocks are currently in RAM. $1000-$fbff for the Z-machine interpreter + Z-machine stack + game data.
If you have ideas on more memory we could use, I'm all ears.
|
|
Posted By
Fredrik on 2023-07-26 04:35:13
| Re: cc65: new text adventure codes online!
Addition: Ozmoo's memory usage is similar on the C64 as on the Plus/4, but the exact locations may vary of course. $0800-$ffff is used for interpreter, stack and game data.
We have chosen not to target PET, Vic-20 and unexpanded C16. However, Ozmoo emulates a virtual machine, and there's another emulator for the same virtual machine that targets PET and Vic-20 - BitShifter's Z-machine interpreter. So if someone writes a game for the Z-machine, and is careful to not make it too heavy for small machines, it can be run without modifications on any of these interpreters (As for what is not too heavy: It can still be big, e.g. 128 KB of game data is fine, but it shouldn't need too much of this data on every turn, or the interpreter will be reading from disk constantly)
The flip side of the coin is that emulating a virtual machine is a lot heavier than executing C code that's been compiled for your specific machine. Ozmoo can typically execute ~2000 Z-code instructions per second on a C64, as long as the code is all in RAM so no virtual memory fetches from disk are required. It's a decent speed, but it can't compete with a game written in C.
|
|
Posted By
Harry Potter on 2023-07-26 06:33:01
| Re: cc65: new text adventure codes online!
Fredrik: I thank you for your input. I can support virtual memory by swapping rooms from disk and adding the destination room group to each exit. If you want more memory for the Plus4 under cc65, look at https://sourceforge.net/projects/cc65extra/files/memory%20cfgs/. The latest version of "plus4cfg" uses a lot of the first 2k of RAM and makes it available to your program. Its cfg files will tell you which memory areas you can use and their default functionality. I admit that my method to compress text on my adventures is bad, but I'm working on better.
|
|
Posted By
Fredrik on 2023-07-27 07:00:30
| Re: cc65: new text adventure codes online!
Thanks for the tip!
We're not using cc65 for Ozmoo, it's all hand coded assembler. As we really need to optimize for both size and speed, there wasn't any other option.
I'm not usually doing projects on Plus/4, but it was fun to port Ozmoo, and I'm glad we can keep supporting the platform.
|
|
Posted By
Harry Potter on 2023-07-27 07:34:07
| Re: cc65: new text adventure codes online!
My text adventure codes actually have no special purpose for the beginning of memory: they use it to stuff extra code to make the main executable a littler smaller and make more memory available to the program. You can do the same for Ozmoo. It requires a little extra work, but the gains exceed the losses. This is very useful on the C16, Plus4 and C128. Try it out!
|
|