Difference between revisions of "Raspberry Pi"

From Robowiki
Jump to navigation Jump to search
(reply to Nat about vm-languages)
(reply)
Line 54: Line 54:
  
 
: About using a non-VM language Nat, I don't think performance would be a good reason to do so. If robots are written in the non-VM language, then then it would be very difficult for users to trust running third-party robots. What's a solution to that? Have the bots written in an interpreted language while the engine is still in a non-VM language perhaps. But then you don't really get speed benefits anyway. So, I don't think performance could possibly be a good reason to use a non-VM language in this case. Btw, Android's VM is probably not relevant to this, because so far as I understand the Raspberry Pi will more typically run a more usual Linux installation (an android port to R-Pi is probably possible, but likely to happen later rather than sooner), so something like OpenJDK Zero (a version of OpenJDK that can, for one, run on ARM), is a more likely VM if Java were used. --[[User:Rednaxela|Rednaxela]] 14:43, 7 February 2012 (UTC)
 
: About using a non-VM language Nat, I don't think performance would be a good reason to do so. If robots are written in the non-VM language, then then it would be very difficult for users to trust running third-party robots. What's a solution to that? Have the bots written in an interpreted language while the engine is still in a non-VM language perhaps. But then you don't really get speed benefits anyway. So, I don't think performance could possibly be a good reason to use a non-VM language in this case. Btw, Android's VM is probably not relevant to this, because so far as I understand the Raspberry Pi will more typically run a more usual Linux installation (an android port to R-Pi is probably possible, but likely to happen later rather than sooner), so something like OpenJDK Zero (a version of OpenJDK that can, for one, run on ARM), is a more likely VM if Java were used. --[[User:Rednaxela|Rednaxela]] 14:43, 7 February 2012 (UTC)
 +
 +
:: I don't really know about performance, so I compare it to Android since both are ARM. About the trust, I just follow what Chase said above -- run and re-format the system. I don't know much into these things anyway. --[[User:Nat|<span style="color:#099;">Nat</span>]] [[User talk:Nat|<span style="color:#0a5;">Pavasant</span>]] 14:49, 7 February 2012 (UTC)
  
 
[[Category:Discussions]]
 
[[Category:Discussions]]

Revision as of 15:49, 7 February 2012

Hi,

My name is Paul Evans, It's been 6 or 7 years since my last bot change.

Robocode is a terrible addiction and my bot SandboxDT has not been changed since 2004 but I am pleased to see it is still in the top 60.

It has recently come to my attention that a UK Charity (The Raspberry PI Foundation) is about to release a new computer on the market - this computer is the "Raspberry_Pi".

The foundation's aims are to manufacture a computer so cheap that anyone should be able to afford it (The "B" model will be $35) - their purpose is to get youngsters programming again - not just learning to use Word and Excel.

Robocode is a good fit to these aims and I would like to ask this community to help bring the joy's of programming to the next generation of youngsters.

What I would like to see:

Stage 1: An all inclusive distribution of OS and Robocode and relevent Robocode/Java documentation - The Raspberry PI will boot from an SD card into a linux OS - to get prospective coders into Robocode lets make getting Robocode up and running as easily as possible (as easy as PI).

Stage 2: As for stage one but with an ide customised for Robocode - libraries loaded/configured in an default project/robot ready to go. (BTW The compuer has at most 256MB ram (shared by the GPU) and runs a arm processor at 700Mhz).

Stage 3: Let's try and get the really young ones involved - Java is fairly heavyweight - can we have robots written in lighter languages such as Python (Jython?) or some other language or script. A distribution like this needs to be really easy to get started - most parents and teachers do not code - at primary school there may be no effective IT support.

Stage 4: Tanks, Bullets and warfare ain't to everyones taste - however Robocode has an excellent headstart in that because it has a very effective sandbox for allowing strangers code to run in - it provides an excellent environment to allow code swapping and running without risk - ideal for schools. It would be nice to see if the Robocode Physics and display could be exposed in a nice interface to allow the teaching community to develop new games - I want to encourage developers, not plagiarisers - by changing the physics of the game a teacher could force the youngsters to experiment and write their own code not just lift a bot from the internet.

It's been a long time since I've been an active part of this community - and I know I'm asking alot - I have no affiliation with the Raspberry PI or the Foundation but I have been a school governor and have been unimpressed at the level of IT skills being produced out of UK schools - I think Robocode and the Raspberry PI can help.

I you think this is a good cause please promote this page on the home page of the wiki to ensure all in the community can see it - fix up any links etc that I haven't done - feel free to take the lead. As a sweetener if the community takes this project to heart I'll give details of an innovation in SandboxDT not released to the community to date (and which I think is unique to DT)- I may even start to develop again.

Paul Evans - author of SandboxDT

Hi Paul, it has been a long time. I've also been reading about the Raspberry PI and find it a very interesting project, with a philosophy similar to Robocode, making coding accessible to everyone. It would take someone much more knowledgeable than me to make it happen, though. It would be akin to making java/Robocode run on a smartphone, with many technical limitations. A very interesting variation would be one robocode robot running on each PI, but that would take a complete redesign... Anyway I really hope someone makes it happen, even if just to finally know the secrets of SandboxDT or to see you take on the current, and apparently invincible, Robocode King. :) --ABC 12:28, 6 February 2012 (UTC)

Hi ABC - still at it I see - good to talk to an old adversary (I have a smile on my face as I type). I see some things have changed - It looks like IBM managed to release robocode which is nice - so there is a chance to make sure it works on the Raspberry PI - I think it will fit into RAM OK but I think we'll need to loose the bullets and go for a football type game if it's to have wide appeal in education - have you ever looked at the robocode source - is this even possible? -- Paul Evans p.s. no-one is invincible.

Sure thing, it has been an open source community project for a long time now, with lots of changes/fixes/improvements. But I'm not the best person to talk about it, I've been inactive for years. Flemming N. Larsen is the main developer now, and there are lots of current (or more recent) players that know much more about the current state of Robocode than I do. I know about the current King's _apparent_ invincibility though, he reminds me of another great player from a long time ago... :) --ABC 16:35, 6 February 2012 (UTC)

Hey Paul, interesting proposal! I've heard about the Raspberry PI for a while and it semed rather interesting. I don't know how much time I'll be able to find for it but I may be able to try to help. About alternative rules and getting rid of the bullets, I believe there was some recent work on the robocode engine to make it support different rulesets (i.e. capture the flag), but I think that work was incomplete and last touched over a year ago. I do wonder though, if it may be easier to make an engine mostly from scratch to support different kinds of rules though... One other thought that comes to mind, is perhaps it would make sense to make a more diverse suite of "programming games" with similar APIs, rather than just sticking to things using robocode physics. Any thoughts on those aspects? --Rednaxela 17:37, 6 February 2012 (UTC)

(Welcome back, Paul!) This seems like a really interesting project. I've also been thinking about Robocode with respect to Code Year. My first impression is the same as Rednaxela: that it may be easier and better to build a lightweight, Robocode-esque game from scratch, or even something only vaguely inspired by Robocode. I've actually had some ideas for simpler, more accessible Robocode-esque programming games for a while now, though nothing that I've fleshed out.

I feel like a graphics / naming overhaul could keep the exact same rules while leaving behind tanks and bullets. But agreed that Fnl or Pavel would have the best technical input on this. I'll post this page to my Robocode circle on G+ and tweet it to @robowiki. ;) --Voidious 20:10, 6 February 2012 (UTC)

I see Robocode 2 being born... There were attempts in the past but most of them tried to make the game even more complex, and got no followers. Besides Robocode, I also like CodeRuler which is a lot simpler (discrete commands, no trigonometry). But it never had a community as big as roborumble. --MN 21:55, 6 February 2012 (UTC)

And some people don´t like LiquidThreads... :P --MN 21:55, 6 February 2012 (UTC) --Rednaxela 14:43, 7 February 2012 (UTC) Heya Paul. Chase, probably don't know me. Good to see people interested in a new project. I have tried a few small and discrete 'robocode' like projects myself. Roboflight, etc. These never went far, despite some of them working fairly well (at the time). So I know something of the requirements to make a new one. The ARM architecture is very nice in my opinion. Due to the simplicity and cheapness of reformatting and ghosting a SD card, not even sure a sandboxed language would be required (like java). But just my 2 cents, always exciting to start a new project. — Chase-san 04:00, 7 February 2012 (UTC)

As a comment, having discrete moves in a game doesn´t make it any less challenging. CGOS is a good example of the opposite. Although it is definitely not for beginners. --MN 14:34, 7 February 2012 (UTC)

I am on rewriting from scratch with other language. I don't really know about this, but I heard that Android's Dalwik (or whatever it spells) is one of the performance limiting factor on the system. If that is true, and since Robocode is very performance intensive, I don't think we should use VM language.

I just started playing with CodeRally (part of CodeRuler) I think it is nicer for beginner than Robocode (though I find it limiting in some way, especially when an angle is an integer. Much like how JuniorRobot is right now). I think CodeRally idea of throwing spare tire is very good replacement for Bullet and War, though. --Nat Pavasant 12:36, 7 February 2012 (UTC)

I also thought in CodeRally as being good for beginners. The theme is appealing. Although not as good for competitive programming. --MN 14:34, 7 February 2012 (UTC)
About using a non-VM language Nat, I don't think performance would be a good reason to do so. If robots are written in the non-VM language, then then it would be very difficult for users to trust running third-party robots. What's a solution to that? Have the bots written in an interpreted language while the engine is still in a non-VM language perhaps. But then you don't really get speed benefits anyway. So, I don't think performance could possibly be a good reason to use a non-VM language in this case. Btw, Android's VM is probably not relevant to this, because so far as I understand the Raspberry Pi will more typically run a more usual Linux installation (an android port to R-Pi is probably possible, but likely to happen later rather than sooner), so something like OpenJDK Zero (a version of OpenJDK that can, for one, run on ARM), is a more likely VM if Java were used. --Rednaxela 14:43, 7 February 2012 (UTC)
I don't really know about performance, so I compare it to Android since both are ARM. About the trust, I just follow what Chase said above -- run and re-format the system. I don't know much into these things anyway. --Nat Pavasant 14:49, 7 February 2012 (UTC)