Jump to content


Photo

Panorama


  • Please log in to reply
115 replies to this topic

#106 GeneralZod

GeneralZod

    GP32 User

  • Members
  • PipPipPip
  • 73 posts

Posted 19 October 2010 - 04:06 PM

Last but not least, from what I saw the sourcecode is very well written and commented, so anyone serious about this should not have much trouble getting into it.


I had a quick look the other day, and have to concur: this looks like a very pleasant code-base to work on :)

I also concur with this :) :

PS: Good luck on your way dflemstr, you were one of the most competent members and will be missed around here!



#107 fusion_power

fusion_power

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 2998 posts
  • Location:germany
  • Interests:GP2X ;)

Posted 20 October 2010 - 09:13 PM

And the thing will forever be in Java. It uses so many Java-specific features that it's nigh impossible to port to a different language (I could probably port it to Haskell, of all things, because of the programming style that Notch has, but that'd be kinda weird to do). But yeah, I'll probably never work for Notch because of this (If someone reverse engineered my stuff, I would be pissed and not hire that person! :P Also, I'm committed to stuff and can't be hired as a freelancer atm.) but I might want to play around with (the source of) Minecraft since I lack something else to do in my spare programming time, and maybe come out with a clone of the game more suited to me (not taking any of Notch's code, of course) with a lot more features.

Notch once mentioned that he maybe moves away from Java...in the distant future. I really wished he never started to use Java, it is so ineficient for this Game. I'm glad that it runs full Speed onto my PC but it uses 50% of overall CPU and I have a Core 2 Quad 9600. :D Only Crysis & Co can do this so I really wonder where all this power ends, why uses the Game (or better the Java virtual Machine) so much juice.
Well, good luck to make your Minecraft Clone. :) I bet a game with this appearence could perform very well if it is optimized and separated from Java. ^^

#108 WizardStan

WizardStan

    Mega GP Mania

  • X-treme Team
  • 6091 posts
  • Gender:Male

Posted 20 October 2010 - 09:23 PM

If it were coded in C++, the odds of it running on Linux (and even more so, the Pandora) dramatically drops. You can question whether Java was the right choice from an efficiency standpoint, but from a multiplatform position it was definitely reasonable.

#109 sebt3

sebt3

    homebrew player (P. & C.)

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1897 posts
  • Gender:Male
  • Location:QC

Posted 20 October 2010 - 09:33 PM

If it were coded in C++, the odds of it running on Linux (and even more so, the Pandora) dramatically drops. You can question whether Java was the right choice from an efficiency standpoint, but from a multiplatform position it was definitely reasonable.

You don't know QT do you ?

#110 WizardStan

WizardStan

    Mega GP Mania

  • X-treme Team
  • 6091 posts
  • Gender:Male

Posted 20 October 2010 - 09:40 PM

You don't know QT do you ?

I do. The question should be does Notch? :P
Or even if he does, would he care?

#111 Jan-Nik

Jan-Nik

    GP32 Hardcore

  • GP32 Hardcore
  • PipPipPipPip
  • 205 posts
  • Gender:Male
  • Location:Germany

Posted 20 October 2010 - 09:53 PM

There is no effort being made to incorporate existing open source solutions into the project to solve some of the problems OP has. If you look at the software base from a macro perspective, what do you see?
Yes, we use the Linux kernel. Yes, we use OpenEmbedded. Yes, we use Ångström and all of the software related to that distro. But then what? We have "Minimenu", "Panorama" (yes I'm to blame too for this mess), "PMenu", etc, which all could be so easily replaced by a standard launcher system (Enlightenment launcher, Plasma Netbook/Mobile, Moblin, MeeGo, Ubuntu Netbook launcher, etc etc), with *exactly* the same features (if something is lacking, start modding that project instead of creating something new). ED has also made so many configuration scripts by now that he's probably reimplemented the whole GNOME configuration tool suite using popup dialogs, instead of just installing the Ångström package for that whole suite. Desktop Environment switcher? Implemented via Slim and scripts. One could have simply taken GDM (not much heavier than Slim) and gotten complete user management and DE management for free. AppStore with HTML code from 1990? How about using something that already exists. Like Launchpad + an Ångström repository. Yeah, OK, that won't do for commercial stuff, and that's why I got motivated to do the whole Box thing; and I think that that really was something that was important to work on; something unique to the Pandora. Then again; had we based the distro on Maemo, there would have been facilities in place for that already (there are pros and cons ofc).

We create OpenGLES → OpenGL wrappers, even though Qt has been doing that since 2007. We create the PND system, but could have taken any kind of stateless package management system, like Nix, or GoboLinux, or PuppyLinux, or SLAX, etc.

Couldn't agree more!

If it were coded in C++, the odds of it running on Linux (and even more so, the Pandora) dramatically drops. You can question whether Java was the right choice from an efficiency standpoint, but from a multiplatform position it was definitely reasonable.

Why? Many Indie games use C++ and also run on Linux and Mac (e.g. World of Goo).

#112 WizardStan

WizardStan

    Mega GP Mania

  • X-treme Team
  • 6091 posts
  • Gender:Male

Posted 20 October 2010 - 10:05 PM

Why? Many Indie games use C++ and also run on Linux and Mac (e.g. World of Goo).

And many more only run in Windows. Take all the indie games out there written in Java: how many of them will not run in Linux?
Take all the indie games written in C++: how many of them will not run in Linux? The percentage is much, much higher, I'm sure.
If he had chosen to write in C++ from the start, there is a significant chance that he could have written something that was effectively Windows only. By writing it in Java, it was basically guaranteed to work across multiple platforms.
Just because games CAN be written in C++ to be multiplatform doesn't mean the WILL be written to be multiplatform.
And even if he had written it with SDL and OpenGL, it's closed source: if he were only interested in Windows builds, that's all we would have gotten.

#113 Gruso

Gruso

    thunderbox

  • X-treme Team
  • 5538 posts
  • Gender:Male
  • Location:Sydney, Australia

Posted 20 October 2010 - 10:30 PM

It's a real shame The Box was never implemented officially, and it's a shame to see dflemstr moving on. I hope that someone runs with Panorama.

PS: Good luck on your way dflemstr, you were one of the most competent members and will be missed around here!

+1 to this.

#114 dflemstr

dflemstr

    It's a ball.

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 2249 posts
  • Gender:Male
  • Location:Stockholm, Sweden

Posted 21 October 2010 - 07:25 AM


Why? Many Indie games use C++ and also run on Linux and Mac (e.g. World of Goo).

And many more only run in Windows. Take all the indie games out there written in Java: how many of them will not run in Linux?
Take all the indie games written in C++: how many of them will not run in Linux? The percentage is much, much higher, I'm sure.
If he had chosen to write in C++ from the start, there is a significant chance that he could have written something that was effectively Windows only. By writing it in Java, it was basically guaranteed to work across multiple platforms.
Just because games CAN be written in C++ to be multiplatform doesn't mean the WILL be written to be multiplatform.
And even if he had written it with SDL and OpenGL, it's closed source: if he were only interested in Windows builds, that's all we would have gotten.

Worth mentioning as well:
The client uses OpenGL 1.4, with all of its glBegin(), glEnd() goodness. This means that there are up to 20 GL calls needed *per block* in Minecraft, and each call has to be marshalled by the JVM.

If it used OpenGL 2.0 or 3.0 features, it would be significantly much faster, since the vertex pointer system is so much more efficient than the implicit state model, since ByteBuffers in Java wrap C-style arrays directly, and the need for marshalling, and the GL call count, decrease massively.

But we digress.

#115 meandu229

meandu229

    Zubeman

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 586 posts
  • Location:England(north east)
  • Interests:Everything and anything fun

Posted 25 October 2010 - 04:26 PM

This is exactly what I want from A UI
too bad dflemstr is moving on from us but good luck to him. Hope someone else manages to rekindle this fire

#116 Vorporeal

Vorporeal

    Yes, no, I, this is.

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1475 posts
  • Gender:Male

Posted 26 October 2010 - 05:03 AM

It's a real shame The Box was never implemented officially, and it's a shame to see dflemstr moving on. I hope that someone runs with Panorama.


PS: Good luck on your way dflemstr, you were one of the most competent members and will be missed around here!

+1 to this.


+1 to everything.

dflemstr, I fully agree about the lack of organization. I've spent the last week+ trying to compile a toolchain so I could do some development for the Pandora, but I'm running into many, many issues along the way, and it's depressing and off-putting. I can only hope that waiting for a bit until DJWillis and ED find time to fix it up and put together a new firmware release will get it all working, but who knows?