Metroworks release Cross Platform Game Framework 66
Zasteva writes
"MacInTouch
reports that GameCode,
a cross platform (Windows and MacOS) C++ class framework for
game development, has just been released by
Metrowerks under their MWPL."
Apparently a
Linux version is in progress.
Documentation is online.
Game Developers are looking for this. (Score:1)
I think this a great idea... I would definately shell out some $ for some good linux games.. =)
ChiefArcher
MWPL looks great! (Score:1)
This is a Good Thing (tm) (Score:2)
The sooner more game companies start supporting linux, the better. If this helps to do it, great.
Hopefully the trail being blazed by id will make more people aware that there is a market out here...
Lotek---
My only worry, (Score:3)
Alternatives (Score:3)
http://www.devolution.com/~slouken/SDL/
It runs on Linux, Windows, Solaris, and BeOS, with Mac support in the works.
m.
MWPL looks great! (Score:2)
If it's so close to Mozilla (as they put it), why don't the use the Mozilla license?
MetroWerks is already on the thin line for announcing support for "Red Hat Linux" for their next-gen compilers.
MWPL looks great! (Score:1)
Er, sorry, wrong sketch.
It's pretty much the Mozilla license with "1,$s/Mozilla/Metrowerks/g" performed on it.
Not quite GPL.
Game Developers are looking for this. (Score:1)
They're working on it, but its not ready yet.
About the license:
I skimmed it, and it provides for something I hadn't seen in other, recent licenses: the ability to combine their code into something else entirely, so long as that "something else"'s license is in agreement with the aforementioned
"GameCode is not a replacement for DirectX" (Score:1)
But those who only need a framebuffer and some primitive drawing functions may give it a try; GameCode runs on top of DirectX and whatever that MaxOS thing is called. Hey, it supports buttons and menus! Simple, but effective.
RFC 2570 - An Open Source License Protocol (Score:2)
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
The various types and formats of open source licenses have been causing many griefs among coders. The time lost reading licenses, comparing licenses and commenting on licenses has already caused the normal coder average coding time to drop by 20%. This document proposes a simple, easily implemented protocol for constructing an open source license that conforms with the many open source/free software definitions.
etc etc etc...
MWPL looks great! (Score:1)
The license there is much closer to the NPL than the MPL, in that it grants relicensing rights to Metrowerks. Using the NPL was obviously not an option, because they don't want Netscape to get special rights to their code. =)
GLUT? (Score:1)
It isn't that bad (Score:1)
Why not? It is all about choice -- for the developers. And I happen to like competition.
The setup procedure only has to install the toolkit which the game uses. Just like MSWin games install DirectX 2/3/4/5...
It is no problem to put everything on one CD. That's what distributors like Suse and RedHat are for. The anoraks can still get the different parts from all over the net and compile the source themselves.
Game creation: the other side of the question (Score:3)
I faced the truth that time: any universal approach, suhch as drivers, cross-platform code etc, is doomed to be too general, and as the result too slow for specific purposes. Why Quake2-3 doesn't use DirectX for anything but direct screen access???
As a game developer you will try to die, but to make your game DIFFERENT, now, tell me, how different you are doing to make game using same routines? Best of the best always had to create their own engines (DOOM,Quake,Unreal etc),
what's the use of any other cross-platform staff?
For me as a game developer only real need is for some very basic, raw operations, such as direct access to screen. Engine itself can be done very portable, so, the only good thing in portable GameSDK is that it provides access to raw things, and that's it! Nothing more is required.
Hence, while I think the guys who are doing this project deserves a cheer or two, their creation will be useful for "educational purposes only", to learn new stuff, but not to create something commercial. It's very IMHO.
You can see my games at my site (with source code).
AtW,
http://www.investigatio.com [investigatio.com]
GLUT? (Score:1)
SDL rocks! (Score:1)
/dev
MWPL looks great! (Score:1)
Frankly I think GPLv3 should include something like that.
I wondered why the MW site was unavailable... (Score:1)
suddenly, about 12:00 pm PST, MW became
unreachable. Now I know why.
David
MWPL looks great! (Score:1)
The problem with all of this is that you cannot create a derivative license at all! You have to remove all references to Metroworks, but then you have to specifically state that this is different from the Metroworks license. It would take a politician to state that the license is different from the Metroworks license without mentioning them...
As said before, I'm chalking this up to a thinko. I've just emailed them and told them about the same thing.
Dubious Design (Score:1)
I don't have the time to critique the library in detail. While it has a couple of interesting utility routines (such as a LoadFile() function that will transparently handle compressed or archive files), the design of the library is rather primitive.
They use call-backs and sub-classed C++ object functions to implement their convenience functions. For example, every game frame, you have to call a particular function in the GameApp class so that keystrokes and mouse coordinates can be collected. This is extremely primitive. A better way to do this is to spawn a thread whose sole purpose in life is to collect input, process it, and enqueue it for use by the mainline thread. (As an aside, the current mouse coordinates are stored a globals; can you say, "Not thread-safe?")
So, I'm sorry, but after scanning the API documentation, I'm not very impressed. For people just learning how to write games, it's a marginally reasonable utility package. But it would have little use in a rich, commercial-quality, high-performance gaming environment.
Schwab
Distribution issue (Score:1)
Daniel
My only worry, (Score:1)
Good for educational software (Score:1)
There's already lots of this s/w for the Windows and Mac markets, but a cross-platform kit like this (when the Linux version becomes available) will, hopefully, encourage the development of such that will also run on Linux.
Availability of software like this for the kids is another factor (in addition to desktop GUIs and office software) in getting Linux accepted on the home desktop (and in elementary schools).
OBTW... (Score:1)
Incidentally, I wrote up a longish comment [slashdot.org] on some general ideas I've had concerning improving gaming support under Linux. It might prove an interesting read.
Schwab
The *mouse* is global (Score:1)
-russ
I Don't Like It.. (Score:1)
GLUT? (Score:1)
The *mouse* is global (Score:1)
Because it destroys information you may need. By sticking just current position in a global, you lose the history of previous motions. You also don't know when the mouse arrived in that position; it could have been just a moment ago, it could have been last week. If the mouse is motionless, you may not need to recalculate the frame.
Basically, you want a high-speed event queue. This will let you handle the mouse motion anyway you want (including stuffing it in a global, if that best suits your app).
Schwab
I Don't Like It.. (Score:1)
Dubious Design (Score:1)
Although threads might work great on some platforms, they certainly don't work the same on all platforms, and sometimes doing things the old way is faster and more portable. Under Linux, I'd be happy with threads, because I know that clone() is faster than fork(), for starters. Other platforms, and I wouldn't be so sure...
I could also argue that, say, writing lots of stack code is primitive, and we should make a template class for it, but have fun trying to compile it. I know I've had enough problems with g++ and templates that I've ended up just include -ing actual C++ files instead of shoving linking info into headers or whatever.
MWPL looks great! (Score:1)
MWPL looks great! (Score:2)
If you feel adjustments need to be made feel free to write directly to me.
MWRon@metrowerks.com
My only worry, (Score:1)
heh, actually...i've been thinking about doing
exactly that. but then, i'm bored.
RFC 2570 - An Open Source License Protocol (Score:1)
Um, no.
Don't forget Clanlib (Score:1)
RFC 2570 - An Open Source License Protocol (Score:1)
Linux port completed (Score:1)
Game creation: the other side of the question (Score:1)
Modern games focus on 3D graphics, multi-player communication, more realistic physics, etc. A game library should provide the basic funcitonality to allow game programmers to focus on what they truly need to invent, rather than a "better" wheel. Game libraries could even provide (slow and inefficient) cutting-edge techniques, which could be used as skeleton code while the programmers get other aspects of the program ready (of course that code will _never_ go into the shipping product! ).
My only worry, (Score:1)
Don't forget Crystal Space (Score:2)
Kit for Linux, Windows, DOS, OS/2, BeOS,
Macintosh, Amiga, NextStep, OpenStep, Rhapsody,
Solaris, SGI/IRIX, and FreeBSD. It is called
Crystal Space. Although it is more geared towards
3D game development it is getting more and more
useful for general game development as well. It
contains a 3D engine (supporting software,
OpenGL, Glide, and Direct3D rendering), a
sound engine (with 3D sound using eax, ds3d,
a3d,
an AI module and scripting.
It is Open Source and written in C++ with a
little optional assembly for optimization.
Have a look at http://crystal.linuxgames.com
Greetings,
The *mouse* is global (Score:1)
Multiple USB mice? It won't be long before someone wants to do it. Quake used mouse and keyboard simultaneously -- two mice isn't such a huge leap from that.
Metroworks... and windows? (Score:1)
You might want to try the last version (4 or soon 5)
BTW, they have cheap student licenses and you get all versions (Mac, Win, and now Linux)
Don't forget PenguinPlay, GGI and GSI (Score:1)
PenguinPlay games SDK (probably the API that compares most closely to DirectX) at http://sunsite.auc.dk/penguinplay/ [sunsite.auc.dk].
GGI (General Graphics Interface, compares to DirectDraw, Direct3D and DirectInput portions of DirectX) at http://www.ggi-project.org/ [ggi-project.org].
GSI (General Sound Interface) at http://wouters.www.cistron.nl/gsi/gsi.ht ml [cistron.nl].
All these projects could use some help from any of you out there with a bit of free time.
MWPL looks great! (Score:1)
Okay, sounds good to me.
Metroworks... and windows? (Score:1)