Upgrade Time: Encounter
- ibisum
- Wing Commander
- Posts: 1968
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Upgrade Time: Encounter
Great! Definitely looking forward to playing through the game with joystick on Steam Deck.
Are you looking at compression techniques to gain some memory or has that horse already left the barn?
Are you looking at compression techniques to gain some memory or has that horse already left the barn?
Re: Upgrade Time: Encounter
All the easy picks have already been taken, all the data is compressed on disk, but the problem here is memory.
There are solutions but they would require a massive refactoring:
- Text compression would be quite effective but would require creating tooling to compress the text, and then all the code that handles text (there's a lot of it) would have to be modified and would get much slower.
- Having scripts loaded with the bitmap would be the most logical way to go, but that would mean restructuring the entire game script and split parts which are always in memory and the ones who are only available when you are at a specific location
- Switching from the LCC65 to one of the other C compilers, but that would require basically rewriting/converting all the assembler code and redo all the in-memory code structure (and probably discover other issues along the way)
- ibisum
- Wing Commander
- Posts: 1968
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Upgrade Time: Encounter
Would love to hear more about this with as much detail as you can muster, personally. This is a very interesting topic to me.So the only reasonable approach on this project is to continue what I was doing, which is to convert the largest C functions into assembler.
Did you see this on HN recently?
“Explaining my fast 6502 code generator”
https://pubby.games/codegen.html
Some interesting advices given in the HN thread:
https://news.ycombinator.com/item?id=43036903
Re: Upgrade Time: Encounter
I don't read Hacker News, so no.
Regarding NESFab, it's not really comparable, it's not C, it's a custom language.
A large part of the performance issue of C cannot be fixed because it's dictated by the language (like rules on implicit integer casting, etc...) which a custom language can fix.
Another issue is that some of the optimizations are exactly what I don't want:
Other than that, interesting article, thanks
Regarding NESFab, it's not really comparable, it's not C, it's a custom language.
A large part of the performance issue of C cannot be fixed because it's dictated by the language (like rules on implicit integer casting, etc...) which a custom language can fix.
Another issue is that some of the optimizations are exactly what I don't want:
When you are struggling for bytes, the last thing you want is loop unrollingLastly, there is loop unrolling and other optimizations that trade space efficiency for speed, which is hard to compare fairly when benchmarking different compilers.

Other than that, interesting article, thanks

Re: Upgrade Time: Encounter
Big update of the game, with a new version of Oricutron and a complete new control system (in addition to the existing one) that uses the joystick.
1.1.0
- Modified the settings menu to be more reactive and have the joystick options at the bottom
- Support for joystick interfaces (IJK, Pase, Opel, Dk'Tronic)
- New control scheme using four direction joysticks and single button selection usable on both Oric and Steam Deck devices
- Updated Oricutron to a more recent version with better controllers handling, removal of the status bar, immersive mode, etc...
You can see how this new control scheme work on this video (in English only)
I tested the Steam Deck version on my device, but I've no way to guarantee that the controls have been setup properly as a "default", so ideally would be nice to have someone double check that.
The controller scheme I made is called "all arrows".
1.1.0
- Modified the settings menu to be more reactive and have the joystick options at the bottom
- Support for joystick interfaces (IJK, Pase, Opel, Dk'Tronic)
- New control scheme using four direction joysticks and single button selection usable on both Oric and Steam Deck devices
- Updated Oricutron to a more recent version with better controllers handling, removal of the status bar, immersive mode, etc...
You can see how this new control scheme work on this video (in English only)
I tested the Steam Deck version on my device, but I've no way to guarantee that the controls have been setup properly as a "default", so ideally would be nice to have someone double check that.
The controller scheme I made is called "all arrows".
- ibisum
- Wing Commander
- Posts: 1968
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Upgrade Time: Encounter
Had a bit of a play .. joystick mode is very smooth and well implemented and I got quite a bit further in the game than ever before. It plays well on the Stem Deck joypad and controller interface.
A couple of times I managed to get dropped out of a joystick-friendly mode to a text-only field, and whatever joystick motions I made, I only got letters like 'elrr' and no way to 'escape', and so had to reset the game .. its some sort of button mashing but i have not worked out exactly which ..
When I take it slow, I get through the scenes. Its very smooth and impressive. Will try to play it on a real Atmos soon, but you've managed to get the mechanics right for Steam Deck, imho.
Only question I have, is, what should I set the joystick option on the beginning, or doesn't it matter on Steam Deck?
A couple of times I managed to get dropped out of a joystick-friendly mode to a text-only field, and whatever joystick motions I made, I only got letters like 'elrr' and no way to 'escape', and so had to reset the game .. its some sort of button mashing but i have not worked out exactly which ..
When I take it slow, I get through the scenes. Its very smooth and impressive. Will try to play it on a real Atmos soon, but you've managed to get the mechanics right for Steam Deck, imho.
Only question I have, is, what should I set the joystick option on the beginning, or doesn't it matter on Steam Deck?
Re: Upgrade Time: Encounter
Would be interesting to have a video to see what you did, if possible.ibisum wrote: ↑Sun Mar 09, 2025 10:19 pm A couple of times I managed to get dropped out of a joystick-friendly mode to a text-only field, and whatever joystick motions I made, I only got letters like 'elrr' and no way to 'escape', and so had to reset the game .. its some sort of button mashing but i have not worked out exactly which ..
Does not matter on the Steam Deck because it's doing the remapping itself of sending the inputs as arrow keys and key presses, but if you were to play on a PC with a joystick, then you would have to select IJK.
I could make IJK a default, but I'm not sure if that could cause problem on Oric machines without a IJK interface, or with a printer connected.
Glad you liked the mechanics

Re: Upgrade Time: Encounter
I believe I found the problem, my custom layout was not properly set-up on the Steamworks page, now you should have the "All arrows" set by default, no more weird letters!
Re: Upgrade Time: Encounter
So, current status of the game:
And the sales pitch
And here are the Steam and Itch links.
Now for the future of the game, there was some confused messages on the CEO forum, so here is a clarification:
Yes the game will be free to download at some point on Oric.org, and there will be a (very very) limited run of physical versions if I can get my floppy disk to work again. (The game will stay for sale on Steam and Itch even after it is available for free, but probably like at 5 euros instead of 10)
This will happen when the game is considered finished 100%, the reason being I don't want to see a version 0.x or whatever present in the game archives, I want people who check the game to see the game in its final form.
We are obviously close to the final form of the game, there may be other things added like the QR Code and the global online leaderboard, possibly trying to get some additional alternative interactions (like using the apples), and possibly some built-in games (game console, computer, ...) based on how much memory and disk space I find.
So anyway, it's on sale if you feel like buying the game, and if you are one of the persons who already bought the game (thanks you!) please put some review on itch or steam, reaching 10 reviews on steam would greatly help with the visibility of the game on the platform.
Thanks everybody and have a nice week end
- There is a new alternative control system using some menu system to select actions and items
- The Steam Deck version is out, with a default layout that should work nicely
- The free demo is updated with the new controls
- The game is on sales for a week
And the sales pitch

And here are the Steam and Itch links.
Now for the future of the game, there was some confused messages on the CEO forum, so here is a clarification:
Yes the game will be free to download at some point on Oric.org, and there will be a (very very) limited run of physical versions if I can get my floppy disk to work again. (The game will stay for sale on Steam and Itch even after it is available for free, but probably like at 5 euros instead of 10)
This will happen when the game is considered finished 100%, the reason being I don't want to see a version 0.x or whatever present in the game archives, I want people who check the game to see the game in its final form.
We are obviously close to the final form of the game, there may be other things added like the QR Code and the global online leaderboard, possibly trying to get some additional alternative interactions (like using the apples), and possibly some built-in games (game console, computer, ...) based on how much memory and disk space I find.
So anyway, it's on sale if you feel like buying the game, and if you are one of the persons who already bought the game (thanks you!) please put some review on itch or steam, reaching 10 reviews on steam would greatly help with the visibility of the game on the platform.
Thanks everybody and have a nice week end

Re: Upgrade Time: Encounter
We are soon reaching the end of the project: Most of the issues have been fixed, and truth be told, there’s not much free room on either the disk on in memory for much improvements!
Here is the detailed list of changes for this new version 1.1.1:
If you have got the game from Steam, played it and liked it, it would be very nice to leave a small review: Steam tends to show games that have at least ten reviews, and here unfortunately with only 4 reviews the game is now in the algorithmic catacombs.
Here is the detailed list of changes for this new version 1.1.1:
- Added a third manual page to explain the new alternative controls
- Added support for one more column in the item selection menu
- Made sure that the prompt indicator displays properly even when the alarm trigger happens
- Renamed the “None” joystick interface to be “arrows+space”
- Modified the selection menu to handle background animations and “hurry up” events
- Added a small “press enter” indicator when some messages are displayed so the player knows they have to press a key instead of waiting.
- Modified the name input to accept the menu selection and actual typing all at the same time
- Updated the copyright on the title page to include 2025
If you have got the game from Steam, played it and liked it, it would be very nice to leave a small review: Steam tends to show games that have at least ten reviews, and here unfortunately with only 4 reviews the game is now in the algorithmic catacombs.

Re: Upgrade Time: Encounter
This version is the result of some request by Ibisum... being able to reach the BASIC from the game.
I only had a few bytes remaining on disk, so many of the things I wanted to add were unfortunately impossible to do... but then I remembered that my storage system only used 17 sectors per track while the hardware would work just fine with 18 sectors... which brings us an addition 256 bytes for each track on the floppy, and since we have 42 tracks on each side, that adds 256x42x2 = 21504 bytes for new data.
This format change has been tested on a real Oric Atmos on LOCI, Cumulus and Cumana Reborn, but if you experience some issues on your machine, then please get in touch so we can solve that!
There will hopefully be new versions with additional content, but in this new version the only change is that you will now be able to find an Oric 1 computer in the games room, and when trying to use it the game will ask you if you are ok to abort the game session.
If you answer Y (yes) the game will reset the machine and you will end up on the Oric BASIC prompt.
Technically the Oric 1 would have been using the ROM 1.0, but the ROM 1.1 is much nicer to use (fewer bugs).
Here is the detailed list of changes:
I only had a few bytes remaining on disk, so many of the things I wanted to add were unfortunately impossible to do... but then I remembered that my storage system only used 17 sectors per track while the hardware would work just fine with 18 sectors... which brings us an addition 256 bytes for each track on the floppy, and since we have 42 tracks on each side, that adds 256x42x2 = 21504 bytes for new data.
This format change has been tested on a real Oric Atmos on LOCI, Cumulus and Cumana Reborn, but if you experience some issues on your machine, then please get in touch so we can solve that!
There will hopefully be new versions with additional content, but in this new version the only change is that you will now be able to find an Oric 1 computer in the games room, and when trying to use it the game will ask you if you are ok to abort the game session.
If you answer Y (yes) the game will reset the machine and you will end up on the Oric BASIC prompt.
Technically the Oric 1 would have been using the ROM 1.0, but the ROM 1.1 is much nicer to use (fewer bugs).
Here is the detailed list of changes:
- First version of the game using 18 sectors per track instead of 17, this adds 21 KB of storage on disk and should not impact compatibility.
- Added an Oric 1 computer in the games room, can be used to access the BASIC prompt from the game
- Changed the default configuration of the emulator to use software rendering instead of OpenGL (except for the full crt emulation mode)
- Trying to take some of the items will now ask if you are kleptomaniac instead of just printing "can't do this"
Re: Upgrade Time: Encounter
Your work here is amazing. I've already said so, but anyway 
And congratulations for the mention in Retro Gamer!

And congratulations for the mention in Retro Gamer!
Re: Upgrade Time: Encounter
Thanks

I wish there was an actual test of the game, like for your own games, but it's still nice to have something printed out

My current idea for the use of the disk space, is to add my minigames into the game, which means having the Game&Watch game actually playable (reusing 4k kong but integrated in the game better and playable with the joystick), booting the Colecovision should allow you to play Cyclontron (but renamed to TORN instead to avoid IP issues), and possibly have FreeCell playable on the IBM PC in the study room.
Hope that makes sense

Basically Encounter as my final game compilation of all the Oric games I released

- ibisum
- Wing Commander
- Posts: 1968
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Upgrade Time: Encounter
Brilliant, DBug! Thanks for taking my silly request to heart .. it actually makes it a LOT easier for me to pimp your game, since I can just say to folks who want to get into the Oric "Buy EncounterHD and go to the games room and you'll find an Oric in there to play with" .. 
Any room to add some 10-line BASIC entries?
(BTW, I'm a judge for the 10-line BASIC competition this year .. and what a selection, hoo boy! Some great stuff..)

Any room to add some 10-line BASIC entries?

(BTW, I'm a judge for the 10-line BASIC competition this year .. and what a selection, hoo boy! Some great stuff..)
Re: Upgrade Time: Encounter
Yes there's room, but it's an actual ROM reset, there's no more microdisc, there's no way to access anything on the disk.
One thing that can be done, is for you to open a discussion thread and share your best BASIC snippets and even link to the BASIC10L earlier competitions if you want.