Re: [shoes] Windows builds and build error
- From:
- Andrew S. Townley
- Date:
- 2011-11-23 @ 06:59
Hi Seve,
On 23 Nov 2011, at 5:05 AM, Steve Klabnik wrote:
> Hey Andrew!
>
> We've been working hard on the Windows build process, so there's some
> things that are a bit in flux at the moment. I haven't build HEAD on
> windows in a bit, but the 3.0.0 tag should build.
Ok. I might give it one last shot. I'm pretty convinced at this stage
that Shoes isn't quite the right tool for the job I need to do. I think
it's cool for learning programming and doing games, etc., but for what I'm
trying to do, it's a bit too low-level. I hadn't really realized that
fully when I started.
I think the efforts towards "native" shoes where you had a similar
paradigm but with more sophisticated native controls/fonts, etc. is the
way to go. The very first project I worked on was HyperScript Tools, and
it was owner-draw hell. All those "pleasant" memories from the '90s have
come flooding back to me over the last few days... ;)
>> another version of mingw and git
>
> The issue is that (iirc, ash, can you confirm?) that it uses the
> versions in those directory to build things, not the ones you have
> installed.
That's what I discovered, yes. What I don't understand is why. It'd seem
like simpler instructions would be "install MinGW; install rubyinstaller;
install git; install wget; rake" but this might not be possible.
>
>> I found @ashbb's MSVC porting notes, but I'm not ready to delve into
that particular barrel of worms.
>
> We haven't build with MSVC for a long time. MinGW is where it's at.
Think this makes sense.
> I haven't seen your particular error. What I _will_ say is that
> building using 1.9.2 does work, but is still a bit flaky. In
> particular, there are encoding things that aren't 100% worked out. See
> some of the other posts on this ML and the issue tracker about them.
> Technically, 1.9.1 is only still supported.
>
> If you got 1.9.2 working with encodings, you'd be my personal hero.
> I've probably spent two man-months personally on this issue over the
> last 9 months or so.
That doesn't sound like fun at all...
> But yeah, if you follow the instructions exactly and build Shoes 3.0.0
> with ashbb/rubinstaller HEAD^1 and Ruby 1.9.1, it should work. I did
> so fairly recently (two weeks ago?).
>
> I just noticed that the note about using HEAD^1 isn't on the wiki,
> though, so that should be updated. I'll do that now. Ugh.
>
> Thanks for mentioning this, though. We've all been working really hard
> to try and make it better, because frankly, it sucks. There's a whole
> alternate build process that's 80% working that doesn't make you
> download all that stuff by hand...
I can see that there's a good mount of effort and interest in Shoes, and
that's great. Re downloading, I downloaded a tarball of wget for MinGW
and did this:
$ cd c:/shoes_dev/downloads
$ wget -cm -nd http://www.rin-shun.com/shoes/MinGW/downloads/
There was no way I was going to click all those links! ;)
Thanks for the replies, folks. Will let you know if I have another go.
Cheers,
ast
--
Andrew S. Townley <ast@atownley.org>
http://atownley.org
Re: [shoes] Windows builds and build error
- From:
- Cecil Coupe
- Date:
- 2011-11-23 @ 09:00
On Wed, 2011-11-23 at 06:59 +0000, Andrew S. Townley wrote:
> Ok. I might give it one last shot. I'm pretty convinced at this
> stage that Shoes isn't quite the right tool for the job I need to do.
> I think it's cool for learning programming and doing games, etc., but
> for what I'm trying to do, it's a bit too low-level. I hadn't really
> realized that fully when I started.
>
> I think the efforts towards "native" shoes where you had a similar
> paradigm but with more sophisticated native controls/fonts, etc. is
> the way to go. The very first project I worked on was HyperScript
> Tools, and it was owner-draw hell. All those "pleasant" memories from
> the '90s have come flooding back to me over the last few days... ;)
Ah, hyperscript. Good for learning but frustrating when pushed passed
toy 'stacks'. On the other hand many people did learn something from
that training and went to the next level. Red Shoes is very, very, very
much the same, by intent! It is a teaching tool. I too thought I could
re-purpose it into something a 'serious' developer could use. But, the
syntax/paradigm fails for anything complicated.
Green Shoes does remove some barriers from the Shoes sandbox but you
give up the packaging and distribution of Red Shoes (which is broken so
you aren't giving up much).
Re: [shoes] Windows builds and build error
- From:
- Andrew S. Townley
- Date:
- 2011-11-23 @ 09:32
On 23 Nov 2011, at 9:00 AM, Cecil Coupe wrote:
> On Wed, 2011-11-23 at 06:59 +0000, Andrew S. Townley wrote:
>> Ok. I might give it one last shot. I'm pretty convinced at this
>> stage that Shoes isn't quite the right tool for the job I need to do.
>> I think it's cool for learning programming and doing games, etc., but
>> for what I'm trying to do, it's a bit too low-level. I hadn't really
>> realized that fully when I started.
>>
>> I think the efforts towards "native" shoes where you had a similar
>> paradigm but with more sophisticated native controls/fonts, etc. is
>> the way to go. The very first project I worked on was HyperScript
>> Tools, and it was owner-draw hell. All those "pleasant" memories from
>> the '90s have come flooding back to me over the last few days... ;)
>
> Ah, hyperscript. Good for learning but frustrating when pushed passed
> toy 'stacks'. On the other hand many people did learn something from
> that training and went to the next level. Red Shoes is very, very, very
> much the same, by intent! It is a teaching tool. I too thought I could
> re-purpose it into something a 'serious' developer could use. But, the
> syntax/paradigm fails for anything complicated.
Actually, no. You're thinking of HyperCard+HyperTalk. I'm talking about
a spreadsheet/development environment derived from Wingz:
http://www.thefreelibrary.com/Informix+grants+exclusive+licensing+rights+of+INFORMIX-Wingz+and...-a016536565
At the time, it seemed pretty cool--until you tried to test it. Bitmaps
were the only way to verify things worked correctly, because there was no
way for automated testing tools to do introspection on the controls.
Like you, I was planning on using it as the basis for some simple database
applications. I started this: https://github.com/atownley/shoes_mvc, but
I don't think it's going to ever really grow legs for shoes. I'm probably
going to take it in a different direction over the next few days, but
it'll be a different project without the Shoes dependencies.
Unfortunately, my demo application is proprietary. I was hoping to add a
samples directory once I got the deliverable out of the way. Not sure
this'll happen now.
> Green Shoes does remove some barriers from the Shoes sandbox but you
> give up the packaging and distribution of Red Shoes (which is broken so
> you aren't giving up much).
The appeal of shoes for me was that I could distribute something that
would be a one-click app on Windows that was written in Ruby. I don't
really have access to Windows on a regular basis, so I wanted something I
could develop on mac and deploy as self contained critters on Windows.
Ah, well... The search continues. :)
Thanks for all the help, folks! :)
Cheers,
ast
--
Andrew S. Townley <ast@atownley.org>
http://atownley.org
Re: [shoes] Windows builds and build error
- From:
- Steve Klabnik
- Date:
- 2011-11-23 @ 15:50
I actually don't think that Shoes falls down for more complex
projects, but unless you know what you're doing, it can get out of
hand. Hackety is the largest Shoes project ever, and its code is kinda
a mess, but I think that has more to do with _why's coding style than
anything else. I'm quite convinced it's just fine for big stuff, but
we do have some work to do on robustness before that can happen.
[shoes] Windows builds and build error
- From:
- Casey Kolderup
- Date:
- 2011-11-23 @ 17:07
Oops, I think I sent this from the wrong address. Let me try that again:
Hi Steve,
This might be getting off topic, so feel free to change the subject or
something for threading purposes, but I guess I'd like to know more
about what you're thinking when you say things like "big stuff" and
"robustness". Two weekends ago I was trying to write a game that would
have required ~200 small Shapes being rendered to the screen at a time
and saw significant performance slowdowns. I could have rewritten the
code to be more complex and use a few images that I could have swapped
in to "animate", but using native Shapes was simple and (I thought)
reasonable for what I was trying to do. Performance suffered, though,
and animation slowed to a crawl. I had to basically put off the plan
to write the whole thing there and then because I didn't have the
attention span at the time to get involved with the rewrite that I
describe.
Do you think that rendering 200 shapes, some subset of those moving
within an animate cycle, is feasible for the future of Shoes? What
about 500? Is this kind of project always going to be better left to
some sort of graphics-heavy framework like Processing? I don't intend
this as a criticism; I think Shoes is really amazing for some stuff
that would require a lot of manual labor in Processing or Love2D or
other game- and visualization-focused frameworks. I just want to get a
sense for when I could be recommending different tools to different
people based on what they want to make.
Thanks,
Casey
On Wednesday, November 23, 2011 at 10:50 AM, Steve Klabnik wrote:
I actually don't think that Shoes falls down for more complex
projects, but unless you know what you're doing, it can get out of
hand. Hackety is the largest Shoes project ever, and its code is kinda
a mess, but I think that has more to do with _why's coding style than
anything else. I'm quite convinced it's just fine for big stuff, but
we do have some work to do on robustness before that can happen.
Re: [shoes] Windows builds and build error
- From:
- Steve Klabnik
- Date:
- 2011-11-23 @ 20:31
So, Shoes is all about an interface, not an implementation. We call
out to the OS for native widgets, we rely on Cairo and Pango, and all
that stuff.
So if Cairo isn't up to the task, then Shoes shouldn't be. But if it
is, then it is.
As for the future, I'm all about bringing in access to other
interesting things, and providing a good interface for them. For
example, I wouldn't even mind straight-up OpenGL bindings. Or SDL.
Those aren't in there right now, though.
I mean, try something like TankSpank:
https://github.com/shoes/shoes-contrib/blob/master/expert/expert-tankspank.rb
I have a Core 2 Duo, and this game still runs pretty smoothly. It's
drawing 3d stuff with lines, calculating perspective, yadda, yadda.
Shoes may not be appropriate for your project. There are certainly
lots of issues, and while we're working on solving them, at the end of
the day, if it doesn't work, it doesn't work.
Re: [shoes] Windows builds and build error
- From:
- ashbb
- Date:
- 2011-11-24 @ 10:58
Hi Casey, Steve and folks,
I wrote tiny snippets to check their rendering performances.
https://gist.github.com/1391082
Try out test1.rb and test2.rb by changing the value of N, e.g. N=20, N=100,
N=200.
In the case of test1.rb,
- N=20 is good, N=100 is a little bit slow, N=200 is very slow.
In the case of test2.rb,
- N=20 is good, N=100 is good, N=200 is a little bit slow.
The above result is the case on my Windows 7.
So, you may get a different result.
But, the point I'd like to say is that cairo's rendering performance is
good. The cause for the above performance loss is Ruby's method call
perfromance.
I don't think Shoes has the best performance. But I think it's not so bad.
;-)
ashbb
Re: [shoes] Windows builds and build error
- From:
- ashbb
- Date:
- 2011-11-23 @ 07:52
Hi Andrew, Cecil, Steve and folks,
Sorry, I'm late.
As Cecil mentioned, I built Shoes 3 with Ruby 1.9.1 and the dependencies of
the day. The instruction is this:
https://github.com/ashbb/shoes_hack_note/blob/master/md/hack019.md
But after that, I have not been successful to build the latest Shoes with
Ruby 1.9.2 and the latest dependencies.
> I'm pretty convinced at this stage that Shoes isn't quite the
> right tool for the job I need to do. I think it's cool for
> learning programming and doing games, etc.
Totally agree.
So, why don't you try out Green Shoes? ;-)
Green Shoes is just a gem, so you can install it easily and can start
learning Ruby programming and doing games at once.
ashbb