I agree about unsetting FLAG_DISPLAY_FRAMEMERGE, because it makes more games than not look worse in my experience.Jubatian wrote:No, right now the emulator accepts no command line arguments apart from the game name itself. You can control the startup state by the Make configuration file. To remove the debug output, use FLAG_DISPLAY_GAMEONLY. You may also enable FLAG_NOCONSOLE, FLAG_NOGAMEFILE (to avoid checking for a gamefile.uze during the build and the insertion of its loading into the .js, saves some 5 kilobytes), and you may also disable FLAG_DISPLAY_FRAMEMERGE as probably all games in existence currently don't really require it.nicksen782 wrote:I'll figure out debug mode. I think that is configurable via a command-line argument, right?
I noticed that the emulator running in your environment is about 15% slower than my builds. However if I extract it from the iframe ("show only this frame"), it runs properly. There is something stealing a substantial amount of CPU time in the environment. Using the provided cuzebox_minimal.html file instead of the default Emscripten generated html might also make things running a few percents faster.
All Uzebox Games Online! (Cuzebox and Emscripten)
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
I've completed my proof-of-concept so now it is time to de-uglify it. I'm working on that now so sneak a peak periodically to see changes. Oh, and if you have color ideas please suggest them as I am interested.
I have the Uzebox logo put in a cheap border-image around the iframe. We could either have one big image (probably quite wasteful) or we can have separate images for the sides (Top, Right, Bottom, Left). Honestly, I think that's the best way to go. It seems the emulator seems to keep the same dimensions overall (and I auto-shrink the white-space to shrink the size a bit). I'm thinking of a menu bar across the top an the middle would be the emulator OR Game Database Manager (same website. The nav tabs will show the correct 'app'.)
The iframe is usually 604px by 460px. It is set to auto adjust but that doesn't do much anymore since I start it at the right size now.
I think I pretty much have the Emscripten FS stuff down.
Oh, the a_demos page now shows the datetime of the last modified file in the project. That may serve useful. I'll update again when I have something to show.
I still need a complete collection of Uzebox games to load into this. Someone will need to be in charge of updating files if a game has an update too.
EDIT: Currently, you can put 'NEW' at the end of the URL once you are in CURRENT. That will show you what I'm working on.
I have the Uzebox logo put in a cheap border-image around the iframe. We could either have one big image (probably quite wasteful) or we can have separate images for the sides (Top, Right, Bottom, Left). Honestly, I think that's the best way to go. It seems the emulator seems to keep the same dimensions overall (and I auto-shrink the white-space to shrink the size a bit). I'm thinking of a menu bar across the top an the middle would be the emulator OR Game Database Manager (same website. The nav tabs will show the correct 'app'.)
The iframe is usually 604px by 460px. It is set to auto adjust but that doesn't do much anymore since I start it at the right size now.
I think I pretty much have the Emscripten FS stuff down.
Oh, the a_demos page now shows the datetime of the last modified file in the project. That may serve useful. I'll update again when I have something to show.
I still need a complete collection of Uzebox games to load into this. Someone will need to be in charge of updating files if a game has an update too.
EDIT: Currently, you can put 'NEW' at the end of the URL once you are in CURRENT. That will show you what I'm working on.
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Just a note for the canvas size. You are currently clipping the right edge of games as the game only CUzeBox window size is 620x456 pixels (by observing the DOM you can see the right edge disappearing under the border, and the clipping is clearly visible for example in Megatris).
Using one big image for bg. isn't anything wasteful since it will likely be a .png. Keep the area under the emulator black, and it will compress to virtually zero size, for the browser the size will probably not matter in performance (use it as a background-image property of "body" to make sure the browser optimizes graphics usage well, possibly this is the most optimal solution). I think eliminate the translucent game selector, it should possibly be placed below the emulator's window. Translucency might be very costly to render if the browser for any reason can not use the graphics hardware for it (I don't commonly experience this a problem nowadays, a few years before it was).
Is it technologically necessary to separate SD card using games from non-SD games? (I take that you still need some sort of packaging on the game files to get JavaScripts which load them, couldn't it be designed so each game had a list of files to add to the emulator? You only need to insert the extra files, and it should work, the emulator will place them on its virtual SD card along with the game binary)
Just some ideas...
For wiki linking, you might only have to add an ability to start an initial game by GET method, so the game may be supplied by URL (you can link to that).
Using one big image for bg. isn't anything wasteful since it will likely be a .png. Keep the area under the emulator black, and it will compress to virtually zero size, for the browser the size will probably not matter in performance (use it as a background-image property of "body" to make sure the browser optimizes graphics usage well, possibly this is the most optimal solution). I think eliminate the translucent game selector, it should possibly be placed below the emulator's window. Translucency might be very costly to render if the browser for any reason can not use the graphics hardware for it (I don't commonly experience this a problem nowadays, a few years before it was).
Is it technologically necessary to separate SD card using games from non-SD games? (I take that you still need some sort of packaging on the game files to get JavaScripts which load them, couldn't it be designed so each game had a list of files to add to the emulator? You only need to insert the extra files, and it should work, the emulator will place them on its virtual SD card along with the game binary)
Just some ideas...
For wiki linking, you might only have to add an ability to start an initial game by GET method, so the game may be supplied by URL (you can link to that).
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Thank you for noticing the horizontal clipping. I've fixed that now.
I've included the new CUzeBox changes. It seems to run even better!
With positioning I'm pretty sure that a big image with a black center could be used. Good note about .png files.
I've removed the translucency and completely changed the UI. It is decent now.
The game list now comes from a game database.
There is actually no technological reason to separate SD and non-SD games with the new database method. I'll just record if the game needs SD or not, just for the record. I can just dump the entire rom folder contents into the Emscripten FS. Each folder on the server should contain the .uze as well as optional SD files. In tests this seems to work without problem.
I have not created the starting of a game via GET. Sounds like a great feature that I should be able to add soon!
TODO:
Start game via GET querystring.
Game database manager (won't be visible in live versions for now.)
Get complete (up to date?) list of released Uzebox games and demos. Add these into the database and into the 'games' folder in the application.
I've included the new CUzeBox changes. It seems to run even better!
With positioning I'm pretty sure that a big image with a black center could be used. Good note about .png files.
I've removed the translucency and completely changed the UI. It is decent now.
The game list now comes from a game database.
There is actually no technological reason to separate SD and non-SD games with the new database method. I'll just record if the game needs SD or not, just for the record. I can just dump the entire rom folder contents into the Emscripten FS. Each folder on the server should contain the .uze as well as optional SD files. In tests this seems to work without problem.
I have not created the starting of a game via GET. Sounds like a great feature that I should be able to add soon!
TODO:
Start game via GET querystring.
Game database manager (won't be visible in live versions for now.)
Get complete (up to date?) list of released Uzebox games and demos. Add these into the database and into the 'games' folder in the application.
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Nice progress, it even saw some actual good use when I showed a few UzeBox games to someone
I see you have Alter Ego (SD game), you could also add Chickens in Coppers, just to have all the UCC2016 entries up for sure.
I also see the design was changed a bit, however you should drop the round corners placed over the emulator's canvas. They make rendering more expensive (as they have to be redrawn after every canvas update), slowing things down (I get noticeably lower performance than a few days before). Just make sure the iframe is a topmost rendering element (in the DOM tree there are no "overflow: hidden;" and similar styles to push it lower), so certainly there is nothing which would have to be drawn over it.
(Technically as far as I see it is only compositing, which should be done on the GPU which is fast, but this "should" is only a rather weak "should"... The browser may end up repainting over and over again, slowing down things)
I see you have Alter Ego (SD game), you could also add Chickens in Coppers, just to have all the UCC2016 entries up for sure.
I also see the design was changed a bit, however you should drop the round corners placed over the emulator's canvas. They make rendering more expensive (as they have to be redrawn after every canvas update), slowing things down (I get noticeably lower performance than a few days before). Just make sure the iframe is a topmost rendering element (in the DOM tree there are no "overflow: hidden;" and similar styles to push it lower), so certainly there is nothing which would have to be drawn over it.
(Technically as far as I see it is only compositing, which should be done on the GPU which is fast, but this "should" is only a rather weak "should"... The browser may end up repainting over and over again, slowing down things)
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Yes. I'm still adding games manually at the moment but I can edit game data easily. I still need to create a method of creating game data records. I do have a method of updating already.
Attached is a screenshot of the game manager. The goal is to offer basic file management and download of game files.
I'll fix the rounded borders on the canvas. That's too bad. I thought that looked rather nice but performance is really important here. Thanks for catching that.
I'll add Chickens and Copters too. Actually, I really need to create a complete game list. It would be really nice if this database could auto update with a central source of truth.
Attached is a screenshot of the game manager. The goal is to offer basic file management and download of game files.
I'll fix the rounded borders on the canvas. That's too bad. I thought that looked rather nice but performance is really important here. Thanks for catching that.
I'll add Chickens and Copters too. Actually, I really need to create a complete game list. It would be really nice if this database could auto update with a central source of truth.
- Attachments
-
- dbmanager.png (40.26 KiB) Viewed 6389 times
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Youtube Video Demo:
https://youtu.be/IaaIbDH8QZY
I'm still working on the custom borders but I really think that the side border dimensions will remain stable. If the emulator is resized (for example, you click the debug button) then the borders will stretch a little bit.
I'm very open to comments and suggestions.
https://youtu.be/IaaIbDH8QZY
I'm still working on the custom borders but I really think that the side border dimensions will remain stable. If the emulator is resized (for example, you click the debug button) then the borders will stretch a little bit.
I'm very open to comments and suggestions.
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
The local file usage is very good in that it allows Tornado 2k to be practical.
I guess I can think of no suggestions at the moment, but this is quite the impressive path all this has taken.
I don't recall this being discussed anywhere, but is there a way to directly call the emulator with a provided url to the .uze and any SD files required? Would be especially nice if one could build those links into the wiki pages of individual games, and not necessarily require manual file selection in that case. In all other cases the file selector with central authority on what is official seems wise.
I guess I can think of no suggestions at the moment, but this is quite the impressive path all this has taken.
I don't recall this being discussed anywhere, but is there a way to directly call the emulator with a provided url to the .uze and any SD files required? Would be especially nice if one could build those links into the wiki pages of individual games, and not necessarily require manual file selection in that case. In all other cases the file selector with central authority on what is official seems wise.
- nicksen782
- Posts: 714
- Joined: Wed Feb 01, 2012 8:23 pm
- Location: Detroit, United States
- Contact:
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Thanks Lee! Almost forgot! Game auto-start by query string feature is now added!
I fixed up the colors a little bit too. I'm still not 100% on colors but I think this looks a little better now.
Auto-start Examples:
Bugz: http://www.nicksen782.net/a_demos/Emscr ... gameid=113
Sokoban World: http://www.nicksen782.net/a_demos/Emscr ... gameid=152
The gameid refers to the id number that the game manager database has for that game, so you'll need the game ids. The SQL Lite database file is eud.db. I recently renumbered them and corrected the game titles. Games start at 100.
Game lists that I found on the wiki: (which one is 'the source of truth?')
http://uzebox.org/wiki/index.php?title=Games_and_Demos
http://uzebox.org/wiki/index.php?title= ... d_Demos_EX
I would like to store the game ids on the wiki somewhere, but where? I could make a whole new one for this app itself and include the game ids. What do you think?
I fixed up the colors a little bit too. I'm still not 100% on colors but I think this looks a little better now.
Auto-start Examples:
Bugz: http://www.nicksen782.net/a_demos/Emscr ... gameid=113
Sokoban World: http://www.nicksen782.net/a_demos/Emscr ... gameid=152
The gameid refers to the id number that the game manager database has for that game, so you'll need the game ids. The SQL Lite database file is eud.db. I recently renumbered them and corrected the game titles. Games start at 100.
Game lists that I found on the wiki: (which one is 'the source of truth?')
http://uzebox.org/wiki/index.php?title=Games_and_Demos
http://uzebox.org/wiki/index.php?title= ... d_Demos_EX
I would like to store the game ids on the wiki somewhere, but where? I could make a whole new one for this app itself and include the game ids. What do you think?
Re: All Uzebox Games Online! (Cuzebox and Emscripten)
Works perfectly. http://uzebox.org/wiki/index.php?title=Games_and_Demos has always been the authority. Even as the EX experimental version was recently updated, it is already behind the times with some new entries. It would be nice but quite a lot of work, to create gifs for all the games then optimize all of them on the EX version, where you can click the link to launch the Emscripten+Cuzebox with the rom id. Though you have all this working now, so it is tempting.
Maybe another thing worth looking into(would be up to Alec) would be allowing html/or adding custom bbcode so you could do something like this:
[iframe]http://www.nicksen782.net/a_demos/Emscr ... gameid=152[/iframe]
I guess there could be some issues with allowing full blown html in posts? Pretty cool at least when releasing a new game, forum users can just click it in the thread itself.
Similar to that, on the uzebox.org main page which contains the screenshots from random games, you could perhaps click those pictures to launch the emulated game
Seems reasonable in my opinion. I suppose it is not the kind of thing that everyone needs to find easily, so maybe it is either unlinked, or just linked to at the bottom of the game and demos page. Does it suffice to have the correct data just dumped into a wiki page(automatic formatting issues?), or does it need to be a file? If it needs to be a file it would seem it either needs to be renamed a supported file type, or else that file type(.db) added to the allowable wiki files.nicksen782 wrote:I could make a whole new one for this app itself and include the game ids. What do you think?
Maybe another thing worth looking into(would be up to Alec) would be allowing html/or adding custom bbcode so you could do something like this:
[iframe]http://www.nicksen782.net/a_demos/Emscr ... gameid=152[/iframe]
I guess there could be some issues with allowing full blown html in posts? Pretty cool at least when releasing a new game, forum users can just click it in the thread itself.
Similar to that, on the uzebox.org main page which contains the screenshots from random games, you could perhaps click those pictures to launch the emulated game