Remote Desktop for Basic Looking Games?


TylerAW

Member
Joined
Aug 30, 2010
Messages
357
Now I know when it comes to video games that cannot run on the Pandora Remote Desktop is not a great way of doing it mainly because the Pandora would need a constant download rate that is pretty high and you're computer would probably need something that is more than 2MBs a second for upload speed to let you play something like Mass Effect on the go. However a thought accrued to me that the biggest reason playing these games would not be enjoyable is because the framerate and response time would dip because you would need at least 30 frames sent a second constantly to be able to play, this is not an easy task when it comes to full 3D games. However Minecraft is amazingly simple when it comes to the graphics and game play department. I was wondering would a game like this be well suited to run on a remote Desktop server and play with you're Pandora if you were near a Wifi hotspot? I mean it does not have that many controls and the default graphics are as basic as Doom's so I would not see why not.
 
Just because the textures are pixelated doesn't mean it is simple. It is capable of much higher res textures, Notch has simply chosen not to because he likes the 8bit look: it's a style choice, not a technical one. And don't think the fact that everything is a cube makes it simple either: they may be simpler objects than more fancy games, but there's about 100'000 of them for it to sort through at any time, compared to just dozens of high polygon count models in other games.


At any rate, it wouldn't really matter, the quality of the graphics means almost nothing for streaming video. Whether the graphics are complex or simple, if the network can only push a few frames per second, that's all it can do. Sometimes, with very simple graphics, it can do clever things like partial updates where it only pushes the part of the screen that actually changed, but so long as you're moving almost the entire screen is updated in Minecraft at a regular rate. The framerate you'd get from playing Minecraft would be about the same as that of Mass Effect, or any other high quality game: ie, not very much at all.
 
Just because the textures are pixelated doesn't mean it is simple. It is capable of much higher res textures, Notch has simply chosen not to because he likes the 8bit look: it's a style choice, not a technical one. And don't think the fact that everything is a cube makes it simple either: they may be simpler objects than more fancy games, but there's about 100'000 of them for it to sort through at any time, compared to just dozens of high polygon count models in other games.


At any rate, it wouldn't really matter, the quality of the graphics means almost nothing for streaming video. Whether the graphics are complex or simple, if the network can only push a few frames per second, that's all it can do. Sometimes, with very simple graphics, it can do clever things like partial updates where it only pushes the part of the screen that actually changed, but so long as you're moving almost the entire screen is updated in Minecraft at a regular rate. The framerate you'd get from playing Minecraft would be about the same as that of Mass Effect, or any other high quality game: ie, not very much at all.
So it would be easier to just write a Minecraft clone for the Pandora from scratch?
 
So it would be easier to just write a Minecraft clone for the Pandora from scratch?
Maybe not easier, but more effective.


Unless you have the source code for a game, your only practical approach would be to stream video, and video sucks up loads of bandwidth whether you're drawing something like Quake I graphics or modern games (Though admittedly, modern games tend to run at higher resolutions and would also have sharper textures, but the bandwidth would be in the same ballpark for a given 800 by 480 video coding)


I suppose with the use of some bizarre debugging tools (Maybe a custom Java VM that hacks the Minecraft bytecodes), you could try to extract game data before it's rendered, and then send frames of it to the Pandora for client-side rendering, but it would require loads of upfront work and I think it would be a close race between the bandwidth consumed by video and the bandwidth consumed by lots and lots of cubes, depending on how good Minecraft's culling is, and how closely you can hack out data before the polygon rendering step.


So basically, you have 3 approaches, and they are all pains. Video is the easiest, and if you have a decent server to stream it, could even work out pretty well.


Also, you compared it to Doom, which is humorous to me.

Doom uses 2D raycasting that ran in realtime on ancient CPUs, without hardware acceleration IIRC. Minecraft uses OpenGL hardware acceleration for polygon rasterization (so you can look up and down properly), supports room-over-room (since it is truly 3D and not a 2D heightmap), and has thousands and thousands of cubes, each with several polygons, to Doom's handful of walls, floors, and ceilings, and then a few billboarded monster sprites.
tl;dr: Doom has much simpler graphics than Minecraft, and simpler gameplay too. The dungeons weren't procedurally generated, the fluids weren't modelled, etc.
 
Last edited by a moderator:
There have been Minecraft clients that have been written, though I haven't kept track of any of them. It's entirely possible that a Pandora-specific client could be written, but the easiest way to go about this would probably be to get some code from someone who's already written a custom client, rather than starting from scratch.


Minecraft has a deceptively high polygon count. While it doesn't appear to use any spectacular shading systems, it does push a lot of polygons to the screen at some points. Also, it does a lot of reading and writing to disk while you move around, and from what I've read the game isn't the most efficiently-written piece of software.


I love Minecraft, but I have difficulty imagining the game will ever make it to Pandora in anywhere near the form of the full-blown version. Perhaps if the draw distance is cut extremely short, the world chunks are created in smaller segments, and a whole lot of things are optimized, it may be possible, but I think the game will need a lot of things to be remade before we could play it on Pandora.


Having said that, I'd love to eat my words someday. Portable Minecraft ftw.
 
There have been Minecraft clients that have been written, though I haven't kept track of any of them. It's entirely possible that a Pandora-specific client could be written, but the easiest way to go about this would probably be to get some code from someone who's already written a custom client, rather than starting from scratch.
The 3rd-Party-clients I have used (for example the WOM one) still need the original minecraft jar. Sure, it could be because it contains a key for the server, but I guess they just let the stuff render from the original client and add some stuff to it, so they still wouldn't work. What you'd need is a client that does all the graphics stuff itself without using the original code. I don't know if there is one that does, but I doubt it because that would be a buttload of work.
 
But doesn't the original .jar file only have to do the land generation and such? I was under the impression that the clients only read the data and did the rendering themselves, separate from the original files. And since it's a Java program, couldn't you still run the original data files (in theory) on the Pandora and have the client do the rendering? That's the way I understand it, anyway.
 
Maybe the source of Manic Digger could be a starting point. Although, it currently doesn't run on Linux yet.
 
Maybe not easier, but more effective.


Unless you have the source code for a game, your only practical approach would be to stream video, and video sucks up loads of bandwidth whether you're drawing something like Quake I graphics or modern games (Though admittedly, modern games tend to run at higher resolutions and would also have sharper textures, but the bandwidth would be in the same ballpark for a given 800 by 480 video coding)


I suppose with the use of some bizarre debugging tools (Maybe a custom Java VM that hacks the Minecraft bytecodes), you could try to extract game data before it's rendered, and then send frames of it to the Pandora for client-side rendering, but it would require loads of upfront work and I think it would be a close race between the bandwidth consumed by video and the bandwidth consumed by lots and lots of cubes, depending on how good Minecraft's culling is, and how closely you can hack out data before the polygon rendering step.


So basically, you have 3 approaches, and they are all pains. Video is the easiest, and if you have a decent server to stream it, could even work out pretty well.


Also, you compared it to Doom, which is humorous to me.

Doom uses 2D raycasting that ran in realtime on ancient CPUs, without hardware acceleration IIRC. Minecraft uses OpenGL hardware acceleration for polygon rasterization (so you can look up and down properly), supports room-over-room (since it is truly 3D and not a 2D heightmap), and has thousands and thousands of cubes, each with several polygons, to Doom's handful of walls, floors, and ceilings, and then a few billboarded monster sprites.
tl;dr: Doom has much simpler graphics than Minecraft, and simpler gameplay too. The dungeons weren't procedurally generated, the fluids weren't modelled, etc.
I was comparing it to DOOM to the naked eye not to how each game was made and renders :p

There have been Minecraft clients that have been written, though I haven't kept track of any of them. It's entirely possible that a Pandora-specific client could be written, but the easiest way to go about this would probably be to get some code from someone who's already written a custom client, rather than starting from scratch.


Minecraft has a deceptively high polygon count. While it doesn't appear to use any spectacular shading systems, it does push a lot of polygons to the screen at some points. Also, it does a lot of reading and writing to disk while you move around, and from what I've read the game isn't the most efficiently-written piece of software.


I love Minecraft, but I have difficulty imagining the game will ever make it to Pandora in anywhere near the form of the full-blown version. Perhaps if the draw distance is cut extremely short, the world chunks are created in smaller segments, and a whole lot of things are optimized, it may be possible, but I think the game will need a lot of things to be remade before we could play it on Pandora.


Having said that, I'd love to eat my words someday. Portable Minecraft ftw.
I know it has a high poly count I'm assuming each cube is at least 6 polys or 12 if it uses tris I'm not sure how each separate game engine works I have read up on too many lately. However many of the polys are hidden and not being rendered which is why you can keep up with the frame-rate.
 
I know it has a high poly count I'm assuming each cube is at least 6 polys or 12 if it uses tris I'm not sure how each separate game engine works I have read up on too many lately. However many of the polys are hidden and not being rendered which is why you can keep up with the frame-rate.
Minecraft's engine probably handles things on the level of cubes and then sends OpenGL 12 triangles per cube. It might do hidden surface removal within a cube, which would be good for large flat surfaces like cliffs.


But there's still quite a lot of polys visible at once.
 
Minecraft's engine probably handles things on the level of cubes and then sends OpenGL 12 triangles per cube. It might do hidden surface removal within a cube, which would be good for large flat surfaces like cliffs.


But there's still quite a lot of polys visible at once.
True my computer runs a GTX460 and a Phenom II Quadcore with 4GBs of ram and it still lags occasionally when playing.
 
For reference:


Doom


Doom_ingame_1.png



Minecraft


Minecraft.png
 
Also, I figure pandora speeds are comparable to iPhone 3G speeds. Over wifi, I only do a couple hundred kb/s, enough that even my desktop's ui lags. Games require 20+fps to be considered playable. Big difference.
 
Also, I figure pandora speeds are comparable to iPhone 3G speeds. Over wifi, I only do a couple hundred kb/s, enough that even my desktop's ui lags. Games require 20+fps to be considered playable. Big difference.
Isnt Minecraft written in Java? So a port should be extremly easy to do. Someone just need to send the devs a Pandora. ^^
 
Isnt Minecraft written in Java? So a port should be extremly easy to do. Someone just need to send the devs a Pandora. ^^
It uses the Java OpenGL library while we only have OpenGLES. A brief google search isn't helping me find an ES equivalent to JOGL. :(


Even if such a thing existed, it'd have to be ported to ARM.


So first, port whatever JOGLES we can find to ARM, then port Minecraft to use this JOGLES. Then profit.
 
Someone here needs to get in contact with Notch here because he has a Pandora he knows what it is we have a chance.
 
I'd like to remain optimistic about this, but chances are Notch is either very busy trying to maintain Minecraft and get it out of Alpha and into Beta (at the very least), or he doesn't think the Pandora has enough power to get the game running at an acceptable speed, or both. No doubt he's also looking to make more money off his creation, and maintaining a new platform that has an audience of less than 1000 at the moment, that's not probably worth the effort for something that's as popular as Minecraft.


I'd almost bet that it would be faster to get a client running on the Pandora than to hope Notch will port it and maintain it. :p
 
I'd like to remain optimistic about this, but chances are Notch is either very busy trying to maintain Minecraft and get it out of Alpha and into Beta (at the very least), or he doesn't think the Pandora has enough power to get the game running at an acceptable speed, or both. No doubt he's also looking to make more money off his creation, and maintaining a new platform that has an audience of less than 1000 at the moment, that's not probably worth the effort for something that's as popular as Minecraft.


I'd almost bet that it would be faster to get a client running on the Pandora than to hope Notch will port it and maintain it. :p
Well the Pandora uses the same CPU as many cell phone devices out there, if he can get it running on their browsers or something by compiling it maybe he can get it running on ours so it's not just 4000 people playing it its all the smart phones.
 
Well the Pandora uses the same CPU as many cell phone devices out there, if he can get it running on their browsers or something by compiling it maybe he can get it running on ours so it's not just 4000 people playing it its all the smart phones.

I can play it on a netbook running ubuntu-desktop, Intel GMA @ 166 Mhz and Atom @ 1.3 Ghz, almost full speed. Most minimal settings. Its was not pretty to look at. <_<


It would be better if Notch threw out the client code so the community could optimize it, but I'm really dreaming. Maybe after the full release of mine craft, Notch would consider porting.


On Topic:


I do not think the pandora's wifi chip is powered enough to accept those bandwidths required to stream video from another computer.
 
Last edited by a moderator:
Back
Top