Jump to content
IGNORED

This is NOT my idea, but I like it! -- (TIPI Game Scores)


Omega-TI

Recommended Posts

I don't recall who mentioned it to me at Fest West, but one guy was telling me how he wished Flying Shark could save it's high scores to a place like myti99.net. I thought that was a BRILLIANT idea, but wonder how many software authors would want to make additions or alterations to their works of art, but it had me wondering about some of those 'older games' that source code still exists for.

 

I figure any modified program(s) would remain in E/A 5 format so they could reside on the TIPI/RPi's SD card since it would have to be on a TIPI enabled system for the WiFi access to save and load the high score table anyway.

 

It might give some old games new life when a little competitive rivalry is going on. ;-)

 

I don't know how long high scores would remain, but from the server side I bet they could be reset every month or two.

 

Even one program for experimental purposes would be interesting, although I have no clue which game would be most suitable as a trial.

Link to comment
Share on other sites

How would you authenticate the submitters and the scores?

 

Maybe with the password from the email-account of myti99.net ?

 

That would work! We use the same method already for Chatti and Chess. I suppose any modified program could have a screen to enter those two pieces of data. Once the data is entered, it would be retained until changed. I suppose there could also be a toggle on that screen to decline the network option as well.

 

When the program loads, it would try to access the server and grab the high score table for that game, if unsuccessful, it would jump to the game and behave like any other program. Once a player finishes the game and *IF* they had a competitive score, it would save the data immediately before showing the high score list, that way if a person exited the program at any other point, there would be no loss of data.

Link to comment
Share on other sites

No he is saying how do we authenticate they aren't pulling a billy mitchell

 

How about a load interrupt high memory program that captures a screen shot to a logging server authenticate with myti99.com

 

 

Hmmm, wouldn't that get a little complicated? I kind of thought it would be more for fun, not contests or anything to get one into the Guinness Book of world records. Cheating at that low friendly level would be pretty pathetic. I never considered the cheating aspect.

Link to comment
Share on other sites

Not sure that many setups of worldwide TI-99/4A owners are (or will be) ready for such expansions/connexions (very few will do) . So the high scores that will appear on this website will not be representative of TI-99 community high score games. I think that It will be mostly a feasibility demonstration.

Just a personal thought.

Link to comment
Share on other sites

I think that It will be mostly a feasibility demonstration. Just a personal thought.

 

Quite possibly, but as more and more TIPI owners come online, the number will grow. I would not at all be surprised if the majority of the core users here at AtariAge end up with one before the end of the year. There is just too much stuff you can do with this thing. Some are waiting for the P-Box version, while there is an active list waiting for the next batch of external models. Because as Tony the Tiger used to say, "They're GREAT!"

Link to comment
Share on other sites

It's a pleasure to see your enthusiasm but I'm not so confident. Only the future will tell.

 

Thanks! After playing with the TIPI, I can truthfully say I've not been THIS excited about any new piece of hardware since I've been back into the TI.

 

Don't get me wrong, I love the F18A, I'm head over heels with the FinalGROM, but the TIPI? OMG it's freaking awesome. I really don't mean to sound like a commercial...

Link to comment
Share on other sites

The TIPi is a great project, jedimatt42 made a very good job but it is not for me. As you know, I am nostalgic of old technology like my TI-99/4A. The Pi, F18A are too moderns for me and with them I don't recognize my 99/4A, the one I love. That said, I like the FinalGROM99 so much :-)

A way for me to join to your online highscore idea would be to use a serial communication and integrate it in a rebirth of Texnet server alike. Am I ill? :-)

Link to comment
Share on other sites

I'm pretty sure that was me, Omega. TIPI has an extension that I wrote (that's included in the code on TIPI) that lets you save persistent variables on the TIPI, so that it can be recalled later. This is how I don't have to pester for login credentials each time you run a program. Basically it's a key/value store. I added support for a flag which can be set when writing one of these variables which causes the TIPI to transmit the variable to a remote host using either TCP or UDP depending on the use case. You can set a global remote_host and port combo to specify where you want this to go. These variables can also be read via separate calls.

 

The whole point was for games, and this is how CHATTI and TIPI CHESS work, as well as my silly RockPaperScissors demo :) In fact, once authenticate with your screenname/password, a session ID is created and stored as one of these persistent variables. Each subsequent call automatically presents this to the myti99.com API to know who's who, and where to route requests. It is pretty much identical to how modern web browser cookies work.

 

Alternately, it'd be possible for any program to do raw TCP calls since JediMatt built that right into TIPI. The possibilities are endless.

 

So It'd be easy for me to create an API for the purpose of receiving high scores from games which have been programmed to use it, and a leaderboard would be do-able. Of course it'd be a 100% honor system, as there's no feasible way to secure this stuff. Cheaters would just be publicly shamed :)

 

I am in the middle of completing the CHESS game and adding some enhancements to CHATTI, then I'll get busy documenting what I did so that people can use this stuff.

 

I'll re-iterate that if anyone wants a place to host web-code to do things with TIPI, I would be open to running your code on the myti99.com server at no cost. It's a Linux box, so Perl, PHP, or Python would be best. Just message me if interested.

  • Like 2
Link to comment
Share on other sites

I hope it comes to pass, some games are better with friendly competition, one only has to see Opry99'ers High Score Competition Thread to figure that out. Holy cow, that thread is just shy of three years, but it has more replies than any other thread in the TI areas... PERIOD. I think that's a testament to what a little friendly competition can do for a game.

 

The first game that gets that gets converted will have special bragging rights, and probably an extensive amount of game play too.

 

 

 

I'm hoping some people like the idea and...

Make-It-So.png

Link to comment
Share on other sites

Just a thought about the cheating aspect and storing scores. I saw where Matt indicated he was storing something a session ID variable. That variable can be used as an encryption code for encrypting the score. Then, on the myti99.com server side of things, it validates the high score.

 

Even with something as simple as what I just mentioned, it would take a bit more effort to cheat with less likely in assembly. In basic even with object loadable assembly code for the transfer, it could still be easily defeated.

 

I could see a program run that requests from the server a key that is stored "magically" somewhere that is used to decrypt the assembly object code used for the save/transfer routine during runtime. This key is valid across all games/apps that would desire to post their scores. Then, when a score is desired to be posted, the session ID is used to encrypt the score with the save/transfer routine and the game name.

 

On the server side, I am guessing a cron job needs to run with enough frequency to check for any posted scores. If a game has the potential of being played, and a new high score desired to be posted within minutes of a previous high score, then the cron job would need to run to capture both scores.

 

I've got one game on my bbs where scores are posted to a message group shared across the bbs network. You can "read" the encrypted score, but nothing is legible. When the door game is loaded, it looks at the message base for any new messages that arrived and builds the high score list on its own. That is not an option I see possible with the TI setups.

 

Anyways, just food for thought.

  • Like 2
Link to comment
Share on other sites

Just a thought about the cheating aspect and storing scores. I saw where Matt indicated he was storing something a session ID variable. That variable can be used as an encryption code for encrypting the score. Then, on the myti99.com server side of things, it validates the high score.

 

Even with something as simple as what I just mentioned, it would take a bit more effort to cheat with less likely in assembly. In basic even with object loadable assembly code for the transfer, it could still be easily defeated.

 

I could see a program run that requests from the server a key that is stored "magically" somewhere that is used to decrypt the assembly object code used for the save/transfer routine during runtime. This key is valid across all games/apps that would desire to post their scores. Then, when a score is desired to be posted, the session ID is used to encrypt the score with the save/transfer routine and the game name.

 

On the server side, I am guessing a cron job needs to run with enough frequency to check for any posted scores. If a game has the potential of being played, and a new high score desired to be posted within minutes of a previous high score, then the cron job would need to run to capture both scores.

 

I've got one game on my bbs where scores are posted to a message group shared across the bbs network. You can "read" the encrypted score, but nothing is legible. When the door game is loaded, it looks at the message base for any new messages that arrived and builds the high score list on its own. That is not an option I see possible with the TI setups.

 

Anyways, just food for thought.

 

 

I like the way you think!

 

The session IDs I use are using the old crypt function in order to keep the size of the hashes to a minimum. I could use longer-key crypto but wanted to keep the size down for less traffic, and also because the TI actually reads in and handles these hashes. Less work for the TI is better.

 

Indeed I could use these hashes to validate that submitted scores belong to the correct person, and people would have a hard time spoofing others' entries. The issue is there's nothing I can really do to stop people from submitting their own bogus high scores. This could be done with a simple BASIC program since they have full control of the client-side, and the back-end wouldn't know the difference. We'd simply have to trust that people aren't pulling a Billy Mitchell.

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

Has there been any new activity on this, or will we have to wait until next years Fest West to see if anything develops?

 

 

I've been really busy with changes at work, but I was working on another game but hit a wall and had to walk away from it for a while. As for new developments, I was waiting to see if there was any interest before spending too much time documenting what I've done so far. I thought it someone wanted to include this score-sharing function, I'd just hand them some code and then I could justify spending an evening putting proper documentation together. Anyway, no one has expressed interest and no one has taken me up on the offer to host stuff yet. Maybe with the PEB version of TIPI being out, something will come out of it soon.

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...