Today Gamerizon has released their game, QuantZ, which is almost entirely written in Scheme using Gambit. Give their trial version a try and check the credits!
http://www.gamerizon.com/gamerizon-news-and-media.html
Marc
Afficher les réponses par date
Hallo,
On 8/13/09, Marc Feeley feeley@iro.umontreal.ca wrote:
Today Gamerizon has released their game, QuantZ, which is almost entirely written in Scheme using Gambit. Give their trial version a try and check the credits!
This is very cool! Congratulations to everyone involved. You act as inspiration for a wannabe game developer like myself.
Ditto, great work, guys!
On Thu, Aug 13, 2009 at 1:49 PM, Alex Queirozasandroq@gmail.com wrote:
Hallo,
On 8/13/09, Marc Feeley feeley@iro.umontreal.ca wrote:
Today Gamerizon has released their game, QuantZ, which is almost entirely written in Scheme using Gambit. Give their trial version a try and check the credits!
This is very cool! Congratulations to everyone involved. You act as inspiration for a wannabe game developer like myself.
-- -alex http://www.ventonegro.org/ _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
On Thu, Aug 13, 2009 at 12:49 PM, Alex Queiroz asandroq@gmail.com wrote:
Hallo,
On 8/13/09, Marc Feeley feeley@iro.umontreal.ca wrote:
Today Gamerizon has released their game, QuantZ, which is almost entirely written in Scheme using Gambit. Give their trial version a try and check the credits!
This is very cool! Congratulations to everyone involved. You act
as inspiration for a wannabe game developer like myself.
Thanks Marc and Alex!
A Mac OS X version will be coming soon, and we're also in the process of porting it to the iPhone (which, surprisingly, is pretty easy to do so far, thanks to Gambit).
I've started a thread on reddit, we wouldn't mind getting some visibility ;)
http://www.reddit.com/r/reddit.com/comments/9aceh/quantz_a_game_written_almo...
Cheers,
Guillaume
Guillaume Germain wrote:
On Thu, Aug 13, 2009 at 12:49 PM, Alex Queiroz <asandroq@gmail.com mailto:asandroq@gmail.com> wrote:
Hallo, On 8/13/09, Marc Feeley <feeley@iro.umontreal.ca <mailto:feeley@iro.umontreal.ca>> wrote: > Today Gamerizon has released their game, QuantZ, which is almost > entirely written in Scheme using Gambit. Give their trial version a > try and check the credits! > > http://www.gamerizon.com/ > > http://www.gamerizon.com/gamerizon-news-and-media.html > This is very cool! Congratulations to everyone involved. You act as inspiration for a wannabe game developer like myself.
Thanks Marc and Alex!
A Mac OS X version will be coming soon, and we're also in the process of porting it to the iPhone (which, surprisingly, is pretty easy to do so far, thanks to Gambit).
I've started a thread on reddit, we wouldn't mind getting some visibility ;)
http://www.reddit.com/r/reddit.com/comments/9aceh/quantz_a_game_written_almo...
Yay, finally released! Any chance you'll publish any source code? ;)
- James
James Long wrote:
Guillaume Germain wrote:
On Thu, Aug 13, 2009 at 12:49 PM, Alex Queiroz <asandroq@gmail.com mailto:asandroq@gmail.com> wrote:
Hallo, On 8/13/09, Marc Feeley <feeley@iro.umontreal.ca <mailto:feeley@iro.umontreal.ca>> wrote: > Today Gamerizon has released their game, QuantZ, which is almost > entirely written in Scheme using Gambit. Give their trial version a > try and check the credits! > > http://www.gamerizon.com/ > > http://www.gamerizon.com/gamerizon-news-and-media.html > This is very cool! Congratulations to everyone involved. You act as inspiration for a wannabe game developer like myself.
Thanks Marc and Alex!
A Mac OS X version will be coming soon, and we're also in the process of porting it to the iPhone (which, surprisingly, is pretty easy to do so far, thanks to Gambit).
I've started a thread on reddit, we wouldn't mind getting some visibility ;)
http://www.reddit.com/r/reddit.com/comments/9aceh/quantz_a_game_written_almo...
Yay, finally released! Any chance you'll publish any source code? ;)
Hehe, I wouldn't count on that... But, some might be interested to know that Guillaume and I are pushing our bosses to get the chance to also make a linux release. But there is nothing done toward this so far. ;)
Have fun!
David
On that note, could you let us know when the mac os version is available? I'd like to try that game out. Who knows maybe you'll even get $12.99 from me :)
On Thu, Aug 13, 2009 at 10:13 AM, David St-Hilaire < sthilaid@iro.umontreal.ca> wrote:
James Long wrote:
Guillaume Germain wrote:
On Thu, Aug 13, 2009 at 12:49 PM, Alex Queiroz <asandroq@gmail.com mailto:asandroq@gmail.com> wrote:
Hallo, On 8/13/09, Marc Feeley <feeley@iro.umontreal.ca <mailto:feeley@iro.umontreal.ca>> wrote: > Today Gamerizon has released their game, QuantZ, which is almost > entirely written in Scheme using Gambit. Give their trial version a > try and check the credits! > > http://www.gamerizon.com/ > > http://www.gamerizon.com/gamerizon-news-and-media.html > This is very cool! Congratulations to everyone involved. You act as inspiration for a wannabe game developer like myself.
Thanks Marc and Alex!
A Mac OS X version will be coming soon, and we're also in the process of porting it to the iPhone (which, surprisingly, is pretty easy to do so far, thanks to Gambit).
I've started a thread on reddit, we wouldn't mind getting some visibility ;)
http://www.reddit.com/r/reddit.com/comments/9aceh/quantz_a_game_written_almo...
Yay, finally released! Any chance you'll publish any source code? ;)
Hehe, I wouldn't count on that... But, some might be interested to know that Guillaume and I are pushing our bosses to get the chance to also make a linux release. But there is nothing done toward this so far. ;)
Have fun!
David _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
2009/8/14 David St-Hilaire sthilaid@iro.umontreal.ca:
Hehe, I wouldn't count on that... But, some might be interested to know that Guillaume and I are pushing our bosses to get the chance to also make a linux release. But there is nothing done toward this so far. ;)
Did you work on that game? I'd be interested in getting the names of the people behind this game (at least the coders), if this isn't covered by any NDA…
Also, remember that you don't have to give access to the source code for free either. A licence like the GPL says roughly that "you can sell sell the source for at most the price of the binaries". So, given that the game (which is not GPL, I know), sells for a cheap price, the source could be sold too.
Say: "binary, CAD 12.99", "source: CAD 30", "pack binary+source: CAD 50". And with a proper licence on the source (which would be mostly "no forking of the game" [1]), that could do some extra revenue.
What do you think of that ?
P!
[1] While I am mostly a BSD advocate, I thnk that such a licence, if it exists, is the best thing for such a project. It means "learn with our code. Even improve it, we'll pay you back. But do not sell your version of our game, or we'll sue you". This may show tricky to set up, but if Scheme/Lisp community wants to show how it can realistically be used to make games, then showing the code is the best way to motivate people (both programmers and "deciders")
P!
Adrien Piérard wrote:
2009/8/14 David St-Hilaire sthilaid@iro.umontreal.ca:
Hehe, I wouldn't count on that... But, some might be interested to know that Guillaume and I are pushing our bosses to get the chance to also make a linux release. But there is nothing done toward this so far. ;)
Did you work on that game? I'd be interested in getting the names of the people behind this game (at least the coders), if this isn't covered by any NDA…
Well this game was developed by Robert Lizee and designed by Martin Lizee. Guillaume Germain and I both joined/created the dev team in May. There is also a summer student working with us. I mostly worked on the internationalization of the game and Guillaume on refactoring the build system. We also both debugged and fixed problems until the final release was made.
You might also be interested in trying to switch the langage to Japanese ;). I also implemented a kana input manager, but I'm not sure if it was removed from the final build at the last minute or not...
Working for this game was a lot of fun! I am looking forward for our next release for the iPhone! :)
Also, remember that you don't have to give access to the source code for free either. A licence like the GPL says roughly that "you can sell sell the source for at most the price of the binaries". So, given that the game (which is not GPL, I know), sells for a cheap price, the source could be sold too.
Say: "binary, CAD 12.99", "source: CAD 30", "pack binary+source: CAD 50". And with a proper licence on the source (which would be mostly "no forking of the game" [1]), that could do some extra revenue.
What do you think of that ?
I can't answer this question without my lawyer... hehe
David
I spend some time today thinking what would be the difficult/challenging parts in writing a game in scheme with Gambit-C kind of system. ...
So over all a lot of hot spots could be moved to C. Tight loops can happen completely in C. Game primitives can have their constructors, accessors, mutators, etc. in C as well and their representation in scheme could be as some atomic value, like an unsigned int for example, that would not require gc and would be easily communicated between scheme and the C functions. A lot of things could be declared constant, or as such as to not be GC'ed at all...
No matter of what I thought there was one thing that always came up, eventually the garbage collection would kick in and would want to do some house cleaning. More then likely the game would feel sluggish or stalling in at that point, no? Was that a problem when you guys were writing this game? And if it was a problem then how did you got around it? Did this impact the way you had to write the code for the game?
This may even not be an issue when Gambit is used, in which case forgive my naive questions, but I've mainly used Gambit and scheme for doing exercises in various books. I don't claim to have deep understanding of it or how it's best to talk between Gambit and C.
Could you guys share any thoughts on the gc problem or in general of any challenges you faced? That's is if your NDAs allows you talk about this, no matter how abstractly.
Thanks, Pavel
On Thu, Aug 13, 2009 at 10:56 AM, David St-Hilaire < sthilaid@iro.umontreal.ca> wrote:
Adrien Piérard wrote:
2009/8/14 David St-Hilaire sthilaid@iro.umontreal.ca:
Hehe, I wouldn't count on that... But, some might be interested to know that Guillaume and I are pushing our bosses to get the chance to also make a linux release. But there is nothing done toward this so far. ;)
Did you work on that game? I'd be interested in getting the names of the people behind this game (at least the coders), if this isn't covered by any NDA…
Well this game was developed by Robert Lizee and designed by Martin Lizee. Guillaume Germain and I both joined/created the dev team in May. There is also a summer student working with us. I mostly worked on the internationalization of the game and Guillaume on refactoring the build system. We also both debugged and fixed problems until the final release was made.
You might also be interested in trying to switch the langage to Japanese ;). I also implemented a kana input manager, but I'm not sure if it was removed from the final build at the last minute or not...
Working for this game was a lot of fun! I am looking forward for our next release for the iPhone! :)
Also, remember that you don't have to give access to the source code for free either. A licence like the GPL says roughly that "you can sell sell the source for at most the price of the binaries". So, given that the game (which is not GPL, I know), sells for a cheap price, the source could be sold too.
Say: "binary, CAD 12.99", "source: CAD 30", "pack binary+source: CAD 50". And with a proper licence on the source (which would be mostly "no forking of the game" [1]), that could do some extra revenue.
What do you think of that ?
I can't answer this question without my lawyer... hehe
David _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
On Aug 13, 2009, at 12:59 PM, Guillaume Germain wrote:
I've started a thread on reddit, we wouldn't mind getting some visibility ;)
http://www.reddit.com/r/reddit.com/comments/9aceh/ quantz_a_game_written_almost_fully_in_scheme/
You may get more visibility on
www.reddit.com/r/scheme/
or
www.reddit.com/r/lisp/
Brad
On Thu, Aug 13, 2009 at 10:24 AM, Bradley Lucierlucier@math.purdue.edu wrote:
On Aug 13, 2009, at 12:59 PM, Guillaume Germain wrote:
I've started a thread on reddit, we wouldn't mind getting some visibility ;)
http://www.reddit.com/r/reddit.com/comments/9aceh/quantz_a_game_written_almo...
You may get more visibility on www.reddit.com/r/scheme/ or www.reddit.com/r/lisp/ Brad
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
Some guy there is saying Gambit's GC may be slow. Someone might want to address that concern. I was impressed with Gambit's performance so far, but I don't really care about real-time and I don't know enough about the internals.
http://www.reddit.com/r/programming/comments/9ad60/another_realworld_use_of_...
Hmm. Well my comment was completely unrelated to that thread, I try to avoid places like reddit in general. Generational GC or not, the problem would be still present at least in some cases imo. I'd be curious how were the developers of that game dealing with that thou, others might benefit from their stories.
BTW the guy on that thread sounds a bit "know it all".
On Fri, Aug 14, 2009 at 11:17 PM, FFT fft1976@gmail.com wrote:
On Thu, Aug 13, 2009 at 10:24 AM, Bradley Lucierlucier@math.purdue.edu wrote:
On Aug 13, 2009, at 12:59 PM, Guillaume Germain wrote:
I've started a thread on reddit, we wouldn't mind getting some visibility
;)
http://www.reddit.com/r/reddit.com/comments/9aceh/quantz_a_game_written_almo...
You may get more visibility on www.reddit.com/r/scheme/ or www.reddit.com/r/lisp/ Brad
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
Some guy there is saying Gambit's GC may be slow. Someone might want to address that concern. I was impressed with Gambit's performance so far, but I don't really care about real-time and I don't know enough about the internals.
http://www.reddit.com/r/programming/comments/9ad60/another_realworld_use_of_... _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
On 15-Aug-09, at 2:17 AM, FFT wrote:
Some guy there is saying Gambit's GC may be slow. Someone might want to address that concern. I was impressed with Gambit's performance so far, but I don't really care about real-time and I don't know enough about the internals.
http://www.reddit.com/r/programming/comments/9ad60/another_realworld_use_of_...
Gambit's current GC is a hybrid stop-and-copy and mark-and-sweep. The main characteristic for this discussion is that when there is a GC, all currently allocated objects which might be reclaimed are checked for reachability from the roots (in other words it is not a generational garbage collector). A generational garbage collector would have two (or more) types of GCs: minor GCs where a (small) subset of the whole heap is scanned, and major GCs where all of the heap is scanned.
Generational GCs have a higher cost for mutations, but the average GC pause is lower. On the other hand, when there is a major GC, the GC pause may be longer than for a nongenerational garbage collector. In other words a nongenerational GC has more predictable GC pauses (although on average they are longer), which is a good thing for real- time applications like games (you wouldn't want your animation to run smoothly in general, and every 5 seconds have a "frame skip"). Of course the best situation would be to have a real-time garbage collector, but QuantZ shows that it is not necessary for a real-time game if you are careful how much and when you allocate.
Marc
Marc Feeley wrote:
Of course the best situation would be to have a real-time garbage collector, but QuantZ shows that it is not necessary for a real-time game if you are careful how much and when you allocate.
I second this. I've been developing 3d, rather intensive, iPhone games with Gambit Scheme. I've had no problem getting them to run smoothly with a simple call to ##gc every frame. Sometimes it requires a little more work of minimizing allocations, but that usually is part of the profiling process anyway.
I used to really fear the GC, to the point where I didn't even want to invest the time making a game to see how it would be. But it's totally workable.
- James
On 17-Aug-09, at 12:14 AM, James Long wrote:
Marc Feeley wrote:
Of course the best situation would be to have a real-time garbage collector, but QuantZ shows that it is not necessary for a real-time game if you are careful how much and when you allocate.
I second this. I've been developing 3d, rather intensive, iPhone games with Gambit Scheme. I've had no problem getting them to run smoothly with a simple call to ##gc every frame. Sometimes it requires a little more work of minimizing allocations, but that usually is part of the profiling process anyway.
I used to really fear the GC, to the point where I didn't even want to invest the time making a game to see how it would be. But it's totally workable.
- James
I should add that there are a number of tricks to reduce the GC pause time. Here are a few:
1) Use "permanent" objects (i.e. literals in the code), or "still" objects, instead of "movable" objects. This eliminates the copying cost that comes with movable objects. This is particularly useful for raw numerical data. For example, use (##still-copy (u8vector 1 2 3)) to make a "still" copy of the movable u8vector.
2) Allocate objects on the C heap, as "foreign" objects, and access the data through the C interface. It is a rather low-level approach, but if done at judicious places with the right abstractions, the code can still be clean. This may even be appropriate when interfacing to some graphics or modeling library which is in C.
3) Structured data that is accessed occasionally (for example, high- scores and preferences), should be serialized to a u8vector, with object->u8vector, and when it needs to be accessed or mutated it can be recreated with u8vector->object. The advantage of this is that the serialized form of the data is handled very quickly by the GC if it is a still object (and vectors beyond a certain size, 4k bytes I think, are always allocated as still objects).
4) Trigger the GC at a quiescent state. For example, force the GC by calling ##gc, at the top of each iteration of the animation loop. That way, there should be no temporary data that is live.
I've measured a pause time of about 1 millisecond per 20000 Scheme objects of live data on a moderately fast computer without using the above tricks. Given that a 60 frames per second rate means 16 milliseconds per frame, you can have 100000 objects and still have 11 milliseconds per frame left for generating the frame. With the above tricks, these 100000 objects can represent a lot of data.
Marc
Marc Feeley wrote:
Today Gamerizon has released their game, QuantZ, which is almost entirely written in Scheme using Gambit. Give their trial version a try and check the credits!
http://www.gamerizon.com/gamerizon-news-and-media.html
Marc
The Mac version is an .mpkg that requires my root password for a trial version of a game?
Not to sound ungrateful, but ... "Not bloody likely!"
If they want people to try this out, it needs to be packed in a DMG that you can mount, play in place, and dump in the trash if you don't like it. Just like Firefox or Thunderbird. You know, just like every other OS X application that doesn't come from Apple.
Yes, I know that Apple doesn't play by Apple's own rules and creates .mpkg files that require passwords (and I hate them for it). These guys ain't Apple.
-a
On Mon, Aug 24, 2009 at 11:06 PM, Andrew Lentvorskibsder@allcaps.org wrote:
The Mac version is an .mpkg that requires my root password for a trial version of a game?
Not to sound ungrateful, but ... "Not bloody likely!"
Well, alright, maybe they should have packaged it in an App bundle. Still, the game is pretty freaking cool!
Also, we can ask them directly, since they hang out around here: Hey, Gillaume and David, mind sharing with us why you decided to package it as an mpkg? The knowledge of the hurdles you had along the way might be of interest and help for other developers around here. :)
Cheers, Marcelo Alvim.