Upgrade Time: Encounter

Want to talks about games you like, would like to see developed on the Oric, it's here.
User avatar
ibisum
Wing Commander
Posts: 1968
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Upgrade Time: Encounter

Post by ibisum »

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?
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

ibisum wrote: Tue Feb 18, 2025 8:33 am Are you looking at compression techniques to gain some memory or has that horse already left the barn?
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)
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.
User avatar
ibisum
Wing Commander
Posts: 1968
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Upgrade Time: Encounter

Post by ibisum »

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.
Would love to hear more about this with as much detail as you can muster, personally. This is a very interesting topic to me.

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
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

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:
Lastly, there is loop unrolling and other optimizations that trade space efficiency for speed, which is hard to compare fairly when benchmarking different compilers.
When you are struggling for bytes, the last thing you want is loop unrolling :D

Other than that, interesting article, thanks :)
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

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".
image_2025-03-09_193709271.png
User avatar
ibisum
Wing Commander
Posts: 1968
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Upgrade Time: Encounter

Post by ibisum »

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?
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

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 ..
Would be interesting to have a video to see what you did, if possible.
ibisum wrote: Sun Mar 09, 2025 10:19 pm Only question I have, is, what should I set the joystick option on the beginning, or doesn't it matter on Steam Deck?
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 :)
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

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!
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

So, current status of the game:
  • 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
Here is what the new controls look like:
encounter_alternative_controls.gif
encounter_alternative_controls.gif (30.67 KiB) Viewed 6774 times
And the sales pitch :)
image_2025-03-14_101245973.png
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 :)
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

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:
  • 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
Hopefully I did not break anything.

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. :(
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

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.
image_2025-04-15_143955585.png
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"
Also as a side note, I only discovered that last week from a colleague, but Encounter has a two pages article in the February issue (n 269) of Retro Gamer magazine.
image_2025-04-15_144333192.png
User avatar
Chema
Game master
Posts: 3154
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Upgrade Time: Encounter

Post by Chema »

Your work here is amazing. I've already said so, but anyway :)

And congratulations for the mention in Retro Gamer!
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

Chema wrote: Tue Apr 15, 2025 2:34 pm Your work here is amazing. I've already said so, but anyway :)

And congratulations for the mention in Retro Gamer!
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 :lol:
User avatar
ibisum
Wing Commander
Posts: 1968
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Re: Upgrade Time: Encounter

Post by ibisum »

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..)
User avatar
Dbug
Site Admin
Posts: 5026
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Upgrade Time: Encounter

Post by Dbug »

ibisum wrote: Tue Apr 15, 2025 3:19 pm Any room to add some 10-line BASIC entries? ;)
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.
image_2025-04-15_163836192.png
Post Reply