“Games under GNU/Linux have usually been a lacklustre affair. For every Tux Racer, there are a hundred sub-standard Pac-man clones you’d be embarrassed to advocate. For every commercial version of Quake, there’s a hundred other worthy games the publisher elected not to port to GNU/Linux. Without good games, there’s no market, and without the market, no effort is spared. And so the cycle continues. In this article, I will look at two of the areas in which GNU/Linux games have succeeded, and a new device that combines them both, which could help expose GNU/Linux to the populous.”
Too bad there is no formal developer’s documentation. Just a wiki and third party articles of hacks and observations. A serious developer needs more than that to build an app. And it seems that double-buffering and page-flipping are not supported in its SDL port, making this device less than desirable to serious game developers.
SDL is a heavily documented API, Linux itself is very heavily documented, Also if you’d looked at the wiki its not the only development API available.
SDL is not only improving but is using features, on the chip itself to improve performance of SDL
In reality though. The GP2X software relies heavily on peer review, and asking questions through its community. Through usual channels of communication. IRC, Forums as is familier with most projects of this type.
I am sorry, but you didn’t get it. I know about SDL being a heavily documented API, I used it in the past in my BeOS ports. But each device has its OWN need for a full documentation, simply because it’s a different hardware and has slightly different needs. For example, as I said above, we had to deeply search to find the lack of double buffering, it was NOT an obvious thing. Plus, the setup of the compiler is not easy either. That’s why one NEEDS an SDK.
>The GP2X software relies heavily on peer review, and asking questions through its community.
I am sorry, but this is not acceptable. As I said, serious game and app developers need PROPER documentation and SDKs. Not chatting and “yes, maybe” kind of answers on forums.
Without the company behind GP2x putting money on the table and hire a documentation developer, this toy will never be a serious game programming machine. It’s a toy.
The Development kit is unpolished, obviously there is development to improve it, but OTOH its free vs PSP 750000yen(now 500000) about $6600, and its standard across platforms.
The rest of the specifications are really rather simplistic 320×240, a joystick, SD, an arm chip, 64Mb of memory, and a few buttons. All this sat on top of Linux.
As for peer review, and web based working, not being good enough. Its hard to believe anyone would have this opinion, when large scale projects like *Operating systems* that compare well with those built by multi-billion pound companies, are now built with this method and successfully.
From an advantage point of view, the barrier between, you and the developers of the API is actually really small, and *love* giving and getting feedback on their work, sometimes even in too much detail.
Saying that, the GP2X is a *TOY*. Its a hand held gaming device, that can function for all your multi-media needs e.g. music, videos, emulation, engines, home brew. Thats the point.
It wont have an awful lot of commercial companies writing games, simply because its market is too small. Which is a shame because a large proportion of the GP2X owners would actually buy one, and for a community that survives on the motto “Good times for the Shady”; Pirating native software is considered taboo.
“USB 2.0, without host control”
Actually, it does. Atleast GP2X MKII or just about any recent one does. You can attach USB 2.0 hdds, keyboards, mice or pretty much anything else to it.
Eugenia, what do you mean it doesn’t support double-buffering? It’s just a matter of drawing to one buffer while showing another on the screen..I’m just asking ’cause I didn’t understand.
SDL has a double buffer function already, that helps you doing it easier and with better compatibility. Well, the specific SDL port for the GP2x does not support that AFAIK. They didn’t take the time to do a full SDL port. Neither page-flipping is supported.
Well, if that’s true then it’s just plain stupid. I have only been using OpenGL in my SDL apps and I’m still just learning the basics, but wouldn’t it be possible to just create another SDL surface, draw to it and then blit in on the primary surface? If I said something stupid, I apologize.
These people talking about using sdl SDL_DOUBLEBUF; SDL_HWSURFACE; SDL_SWSURFACE; SDL_Flip(). Must be taking crack then.
http://www.gp32x.com/board/index.php?showtopic=23819&st=160
check it out its an interesting thread. It shows peoples problems encountered, and how people have fixed, or worked around the problems.
Eugenia you talk about documentaion but then don’t READ.
Excuse me, but did you bug test your head before posting this comment?
You ask a SERIOUS developer to go through 22 pages of a forum post, just to find a workaround of a non-default SDL version. Are you in your right mind???
Look pal, without a fixed SDL, an OFFICIAL documentation and SDK, this GP2x is for the dogs (as far as developers are concerned). That’s why they only get some quick ports from Linux SDL games. No normal company or commercial developer have worth his while to sit down write anything for this platform. It doesn’t worth his time trying to search forums and hack stuff. If the PSP was like that, no one serious would develop for it either. No matter if it comes from Sony or not.
I’d imagine that a company would look after the possible market share of its product, before any kind of documentation for the platform.
And it looks like that, if there were a big enough market for a company to consider developing for this platform, the available documentation would be more than sufficient. No serious developer would get scared by having to read a few posts in a thread, if he’s looking for money and has already established that a market for his product exists.
Heck, I’ve had to do exactly that for the company I work for and, believe me, it’s a _huge_ company.
Well, my husband was interesting in developing for the GP2x, and after seeing that there is no official docs and SDK, he stopped caring. While the GP2x does not have much market share, by not giving away proper tools, it makes things worse for them.
As a “serious” developer, I’d like to inform you that we go though pages and pages of documentation on a daily basis.
Usually, if you can program in a language of some kind, you also have basic reading skills.
Or at least you should.
Edited 2006-05-31 22:08
tmack: As a “serious” developer, I’d like to inform you that we go though pages and pages of documentation on a daily basis.
Usually, if you can program in a language of some kind, you also have basic reading skills.
That has nothing to do with the discussion. Documentation in any format be it formal or informal requires reading skills and formal documentation often has many more pages from my experience (1,000’s).
I would also add that many “serious developers” have a deadline they need to meet. Well written and well organized formal documentation is usually a little easier to deal with simply because they have things like indices that take you directly to what you want rather than having to search through 22 pages which may not have anything to do with what you need to know.
Personally… I like having formal documentation AND informal documentation. They both seem to get different things right in my opinion.
I read books, thats not the same as documentation. I read books, becuase they contain new techniques, or new information, and I apply those into current projects.
Again I don’t know what a serious developer is, I would describe myself as a computer person. I find it easier to use a search box than use an indices, for obvious reasons.
cyclops: I read books, thats not the same as documentation.
Books are a type of documentation so of course. I assume you bring this up since I mentioned “indices”. In case you (or anyone else) doesn’t know, indices do exist in electronic documentation as well, though it is less common.
cyclops: I don’t know what a serious developer is
Well… I don’t know how anyone else would describe it. But I’d say pretty much anyone who has a job to accomplish with a dead-line, that needs to be quality work as well as being done. Of course, this is still kind of vague, since virtually everyone has some kind of time constraints and all work needs to be of some level of quality. Though, right off hand, I’m not sure how to be more specific. I’ll have to think about that.
cyclops: I find it easier to use a search box than use an indices, for obvious reasons.
Yes, I love search boxes myself, since they take you to what you want even faster than an index. However, in my opinion things like indices (and table of contents, etc…) are useful when you don’t know the exact words you are looking for or trying to get a good overview of what is in the documentation or what have you. So in other words, I prefer to have both.
From what I could gather from the wiki that’s floating around (which is not a documentation, BTW), the only drawing mode supported is back-buffered, i.e. the software has access to a single surface (the back buffer), and tells the library to copy that surface onto the display (i.e. the front buffer).
There are several issues with that approach:
-there’s only one surface available for incremental updates, which makes such code a lot more complex than it has to be.
-any minor change on the screen requires to do a full copy of the surface, which is a major performance concern.
I ordered the v2 GP2X as an impulse buy – I thought to myself “hey, I can take this on holiday with me, play some retro games, use it to watch films and review photos on my SD card”.
After playing with it for a couple of hours I had lost that interest. Your standard xvid/divx files skip during playback, mp3 playback is *awful* and the image viewer is really, really slow. I managed to get the Sega Genesis (Megadrive for us UK dwelling geeks) emulator running and played a few games. When they were playing it was great – finally a portable retro gaming console! But then, things started crashing, games that once loaded fine stopped loading, the responsiveness of the buttons in-game dropped, and it again lost that initial novelty.
I have now returned my GP2X to the UK reseller for a refund as it does not fulfill my expectations. Perhaps they were too high, but I was only going on the marketing information and reviews.
As a development platform, I don’t see why the determined won’t get into writing applications and games – Eugenia is correct however; from what I’ve seen it is more a community “hey mate, can you help me out with this” approach rather than an officially well documented programming platform. That might not be a bad thing for a niche product, but if it is to remain cost effective to continue supplying the units, there will have to be some investment in the development platform.
I’m sorry I’m not even sure what a “serious” developer is. If you mean commercial developer thats different, but otherwise I’m lost.
Eugenia, you wrote something inaccurate and I corrected. You talk about being a “serious” developer, and then you talk about your husband.
The GP2X has 500+ programs on it and its a *new* device, are the people who wrote those programs not serious.
http://www.gp2x.de/cgi-bin/cfiles.cgi
New devices have very little documentation, and rarely if ever is it good. Although that is simply not true in this instance.
The GP2X is a small company and unsurprisingly decided to take a sensible route, use linux becuase its free, and SDL becuase its free. Again both are fairly heavily documented, and both pretty common.
-JCooper Video playback is flawless currently, apart from a few things (mpeg not working, and OGG renamed to AVI), in one of the upgrades to get more battery life out of the device, the CPU was clocked down during playback, this has since been corrected.
I’m actually astonished you found any fault with DrMD which is one of the finest emulators on any platform. It sounds like you needed to put fresh batteries in.
Its reasuring that the supplier gave your movey back so easily
I don’t really see how this could “help expose GNU/Linux to the populous”, when the underlying OS is quite well hidden from the normal user (and so it should be on a portable games console). The only time a gamer is really exposed to Linux on the GP2X, is when they have to mess around with config files to get software working, or when the software they’re running goes wrong. That kind of exposure to Linux is hardly going to endear the OS to most people…
Having said that, I do find the homebrew software available for the GP2X quite impressive. Whatever issues it may have for developers, in quite a short time they’ve managed to produce some excellent ports. I think to a large extent the use of an open source OS on the GP2X is responsible for the homebrew scene that’s grown around it.
Of course a lot of the software available for it at the moment is in a fairly early stage of development, but there’s already some quality software on the GP2X. The ports of Exult and UrQuan Masters provide access to two of the best PC games ever, and the Genesis/Megadrive and NeoGeo emulators seem quite stable and run most games. Those on their own provide a lot of classic gameplay, I think it’s worth the price just to be able to play the Metal Slug series on the move.
With a little more time I’m sure that equally mature emulators for SNES and other classic games systems will be developed. Just have a look at http://www.gp32x.com to get an idea of all the work in progress and the potential of the GP2X. I know a lot of people are more interested in graphics than gameplay, but personally I’d rather have access to all those classic games than most modern titles on the PSP.
To label it as one is simply misleading. There is no calendar and nothing even remotely resembling an address book or a todo list.
That being said, I have owned one of these since November, 2005. I’m currently living in Seoul and bought one of the first 500 ever released. I am very impressed with the quality of this device given the small market it is directed towards.
I have had very few problems playing videos (the occasional freeze, probably because I am watching the videos in at a lower clockrate). I don’t use it as an MP3 player or a photo viewer so I cannot comment on those two aspects.
Now the homebrew scene. This has been the incredible part. The first week that I had this device, there was someone in Korea that released a working SNES emulator, a working NES emulator, and a port of Hexen. Soon after came a Quake port from a different person (which was a little slow, but completely playable). Now we have ports of Duke Nukem 3D and many other classic games. We also have great original titles like Vektar (soon to be released commercially) and many others.
There is a great community (with a low tolerance for stupidity) at http://www.gp32x.com. This is also the largest archive of GP2X software available it seems. And the WIKI hosts many great things such as compatibility lists for emulators and so on.
So, I guess what I’m saying is that I really enjoy this little device. It has made the commute into Seoul everyday a little more enjoyable.