From: Matt S Trout Date: Thu, 12 Nov 2009 17:04:44 +0000 (+0000) Subject: pages files X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=350668cfb612b30b27493abedcd1464b764a9b02;p=sdlgit%2FSDL-Site.git pages files --- diff --git a/pages/blog-0000.html-inc b/pages/blog-0000.html-inc new file mode 100644 index 0000000..1ca10fe --- /dev/null +++ b/pages/blog-0000.html-inc @@ -0,0 +1,6 @@ +
+

+The Future and Beyond! +

+
+
I do not think about awesomeness...
I just am awesomeness
n.n
--KatrinaTheLamia


Updates

Since the last post SDL Perl has seen an increase of interest to both use and contribute to SDL Perl. Before I dig into the updates, I would like to acknowledge them.

Core Development

Acme (Leon Brocard): Has started to work on the Redesign Effort with me. The help is much appreciated! Enjoy your vacation.

Website and Windows Testing

FROGGS (Tobias Leich): Came in as a new user to SDL Perl. And after breaking the redesigned SDL Perl in as many ways possible he has decided to help out on the new site.


Last Legacy Release


Ok! Now this weekend hopefully we will release our last legacy release, after this we move on! This release will focus on showing of SDL + Perl possibilities.

Pong + SDL::Game::Rect

garu has been working on making SDL object extensions that provide a more perly way to use and play with the SDL bindings. To demonstrate the benefits of this SDL::Tutorial::Pong is done and being polished up. SDL::Game::Rect is a peek in to the design and vision we have for SDL down the road.

Design

The design we have settled on for future release for SDL Perl can be broken in to two layers, SDL::* and SDL::Game::*. Previously the SDL Perl library tried to provide C bindings and provide Perl Idiomatic access. This was messy in regards to the single responsibility principle (do one thing and do it well).

We have decided to separate these two focuses into the two name spaces SDL::* and SDL::Game::*. SDL::* will provide straight access to SDL's C API, nothing less and nothing more. SDL::Game::* will extend and make pretty unicorns for Perl.

This design has already begin to pay of. One major benefit been in the XS readability. Moreover since structs are treated as objects, Perl manages their destruction, and deliver less memory leaks.
\ No newline at end of file diff --git a/pages/blog-0001.html-inc b/pages/blog-0001.html-inc new file mode 100644 index 0000000..fcd393b --- /dev/null +++ b/pages/blog-0001.html-inc @@ -0,0 +1,6 @@ +
+

+The beginnings of modular design for SDL Perl +

+
+
“Do or do not... there is no try.”
--yoda

The design before


The bindings before were all in one huge XS file. This was then exported into the SDL module. This means that the XS file has to handle with macros if any component (e.x SDL_Mixer) is not compiled. Moreover having ever binding in one XS file prevents use to treat C structs as object with only one point of free and malloc. This would be BEGIN and DESTROY in Perl. Also the monolithic design introduces a lot of bugs because we have to use free and malloc all over the place. Lastly SDL monolithic design has the constructor for all structs in both Perl and in XS.

The design we are aiming for

Simple one XS per Module. This would also simplify the Build code.

First Step


We have began with SDL Rect. It is in github master branch now. We are in the progress of making it back compatible. Originally SDL::Rect took named variables as parameters for new(). Now since the constructor is in XS we have only unnamed parameters.


Before


SDL::Rect->new( -x => 0, -y => 0, -width => 0, -height => 0);

After


SDL::Rect->new(0, 0, 0, 0);

Ideally we would like both ways of constructing Rect.
\ No newline at end of file diff --git a/pages/blog-0002.html-inc b/pages/blog-0002.html-inc new file mode 100644 index 0000000..936caa4 --- /dev/null +++ b/pages/blog-0002.html-inc @@ -0,0 +1,6 @@ +
+

+Why and How Frozen Bubble is going to CPAN +

+
+
A single drop,
causes the ocean to swell

So 5 weeks ago, SDL Perl was broken. It had been for several years. After the last release SDL Perl works ... somewhat. The quick releases that you have seen have been work-arounds, fixes and refactoring. This is not bad for a few weeks of work but, there is a point where code smell and technical debt is too huge to fix with out redesigning. This is that point.

Since the redesigning will take time and effort it will be good to have a leg up. This leg up is Frozen Bubble 2.20. Frozen Bubble employs a lot of C and Perl hacks to cover up for SDL Perl's lacking. This will help in a sense fast forward the code status to 2008. Since Frozen Bubble is helping us out, we can go one step forward and help it out!

So Alias (Adam Kennedy) and I have started work on making Frozen Bubble CPAN accessible. Frozen Bubble is a well know game and making it cross-platform will bring lots of attention and hopefully contributions to SDL Perl.

In Alias's earlier post about this he mentioned about making a splash and some other stuff. I will talk about how and where we will be accomplishing this task.

First we will be tracking Frozen Bubble on the new SDL Perl Trac website. This site will be similar to Padre's Trac site. As a bonus for people looking to help out in SDL Perl I have separated tasks by perceived difficulty. This will help to breakdown harder task too.

For example for Frozen Bubble the two major bumps we have run into so far are:

Migrating the SDL Perl workarounds: Ticket #3
Making the Build System Portable: Ticket #7

The first one will be difficult as it involves XS. So I will break it down into easier tasks with specific instruction which can then hopefully be picked up by interested contributers. The second one there is sort of a forte of Adam so I will leave it up to him. This is the process I am proposing make hard tickets, break them down.

This will generate a lot of easy tickets that will hopefully be synchronized.  If you are interested in this please give me a shout on #sdl irc.perl.org or the mailing list at sdl-devel@perl.org and I will get you registered.

--yapgh



\ No newline at end of file diff --git a/pages/blog-0003.html-inc b/pages/blog-0003.html-inc new file mode 100644 index 0000000..130ac7b --- /dev/null +++ b/pages/blog-0003.html-inc @@ -0,0 +1,6 @@ +
+

+HackFest: Results +

+
+
The beautiful sunset,
is no match for,
the ugly sunrise

Results

On Sunday we had a hackfest on #sdl irc.perl.org. This is what we got done.




  1. MacOSX build is working again. It's still rough but Tetris works on it now. dngor++
  2. SDL::Tutorial::Tetris is on CPAN as v0.15. nferraz++
  3. SDL Perl docs are a little better now. magnet++
  4. Finally experimental Rect and Game::Rect are behaving. There is still more work needed in Game::Rect. Moreover there are more tests on the experimental release. garu++
  5. Also POGL is working experimentally with SDL.
Hopefully I can get the first three results into the next release soon. The next release 2.2.3 will go up as a developmental release first. Also the experimental branch is going up as version 2_4.

Developers

All developers please tell me what to put you guys want to be put down as on the
in the Docs for the SDL Perl Team section.

--yapgh
\ No newline at end of file diff --git a/pages/blog-0004.html-inc b/pages/blog-0004.html-inc new file mode 100644 index 0000000..e755c45 --- /dev/null +++ b/pages/blog-0004.html-inc @@ -0,0 +1,6 @@ +
+

+Updates, Falling Block Game, and Hack Fest +

+
+
Silent but active,
Small but deadly.



Updates

Ok so my blog posts have gone down a bit due to me using my fingers for coding. We have started to get some updates to SDL docs so that good. Also some of the tutorials are shaping up. This is what I have been hacking this past week.









You can grab the code. Note you will have to install deps yourself. Read the README file. It is not a tutorial yet, because it was hacked together in ~50 hours. But it playable now. During building this I found out that MacOSX (and Snow Leopard) has died again.

Hackfest

So with dngor's help this sunday (27/09/09) we will have a hackfest to fix MacOSX support. Anyone with a MacOSX and wants to help is welcome on #sdl irc.perl.org. We will also try to fix up a lot of docs and the tutorial for a early next week release. Also if we can we will migrate to the new site.
\ No newline at end of file diff --git a/pages/blog-0005.html-inc b/pages/blog-0005.html-inc new file mode 100644 index 0000000..e295b19 --- /dev/null +++ b/pages/blog-0005.html-inc @@ -0,0 +1,6 @@ +
+

+Thanks nothingmuch, and updates +

+
+
struggle,
live,
cease,
die

After a struggling with XS and opaque C structs in the experimental SDL::Rect for a long time. Nothingmuch comes along and solves my problem with this beautiful module XS::Object::Magic. So I will start moving my ugly XS to Magic Land.

SDL Perl Tutorials

This past week I have been working on the sorry state of SDL Perl tutorials. Currently I am working on a Tetris Clone. I am hoping to have it done by next Thrusday for TPM meeting. This tutorial is a mix of several tutorials I found online. Another Lunar Lander tutorial has been submitted by Nelson Ferraz.

If anyone has any really good tutorials for game development (regardless of language) or even request of tutorials. Send it my way I will look into them.

New SDL Perl site

Also we have begin work on a new site. It is still needs work. New Site.

--yapgh


\ No newline at end of file diff --git a/pages/blog-0006.html-inc b/pages/blog-0006.html-inc new file mode 100644 index 0000000..c38a1a7 --- /dev/null +++ b/pages/blog-0006.html-inc @@ -0,0 +1,6 @@ +
+

+Design of SDL::Rect +

+
+

you say things,
I hear,
but don't listen,

you show things,
I see,
but don't understand,

you write things,
I read,
but don't know.

Lately we have been working on cleaning up the XS name spaces of SDL perl. After some bumps and falls we came up with a separated Rect module. Rect is one of the most simple C struct as shown below.



Using the awesome perlobject.map as a reference I was able to create a blessed perl object in XS. So now SDL::Rect->new(...) gave us a blessed reference ready to go. And as an icing it would destroy itself properly no matter where it was used. But once I brought it into our existing code base, garu pointed out the extending it was a little bit of a mess. So far to extend Rect we have to something like below. Any comment or advice would be much appreciated.





Have at it I am a big boy. You can grab the code like this.
Only If you don't already have a local git repo:

mkdir SDL
cd SDL
git init .

Then do this or skip to this if you already have a local git repo
git pull git://github.com/kthakore/SDL_perl.git experimental
\ No newline at end of file diff --git a/pages/blog-0007.html-inc b/pages/blog-0007.html-inc new file mode 100644 index 0000000..07325bb --- /dev/null +++ b/pages/blog-0007.html-inc @@ -0,0 +1,6 @@ +
+

+Updates and Design Decisions +

+
+

Storm clouds loom,
Thunder cracks,
Lightning blinds,
Farmers rejoice.

Some quick updates:
After someone bugged me to update the Ohloh site for SDL perl, I finally got around to doing it.


Some good news:
v2.2.2.11 seems to be doing a good job considering it has been started to be picked up Debian, Mandriva and other packager maintainers. The stats are currently at [PASS(11) FAIL(6) NA(1) UNKNOWN(35)].

Some OK news:
As you can see we have some fails occurring in the smoke tests. This is occurring due to the test on Mixer.pm. Mixer.pm depends on a sound card being available to the user running the test. This can be fixed by adjusting the test to check for sound cards before it runs but I am at a lost on how to do that.
In regards to the unknowns occurring it is due to the *nixes and macs not having SDL libs installed. The will be fixed when Alien::SDL downloads and compiles sources.

Some not-so-great news:
Currently the XS code simplification work requires redesign and there are several different ways of redesigning. This may break backwards compatibility, hopefully we can work around this. Soon we will present the two arguments for the designs in the mailing list.


Until next time here is  a hint of something coming soon (credits go to garu):


--yapgh
\ No newline at end of file diff --git a/pages/blog-0008.html-inc b/pages/blog-0008.html-inc new file mode 100644 index 0000000..c05c322 --- /dev/null +++ b/pages/blog-0008.html-inc @@ -0,0 +1,6 @@ +
+

+Why I will be sticking to CPAN +

+
+
sculpted in clay,
then fired to glass.


Recently there was really long discussion on sdl-devel@perl.org about providing packages for SDL perl rather than focusing on CPAN releases. The gists of the argument was that SDL perl should be making platform specific packages for end users. I agree with this idea but I do have to face the truth.

The truth is there are very few developers currently working on SDL Perl. The truth is CPAN provides several tools that which currently drives development for SDL Perl. There are people interested in packaging SDL Perl (kmx, jean and Jerome Quelin). The truth is there are other very critical areas we can focus on.

If there are people looking to package SDL Perl for their platform please contact us at sdl-devel@perl.org.
\ No newline at end of file diff --git a/pages/blog-0009.html-inc b/pages/blog-0009.html-inc new file mode 100644 index 0000000..96823fd --- /dev/null +++ b/pages/blog-0009.html-inc @@ -0,0 +1,6 @@ +
+

+Frozen Bubble coming to CPAN +

+
+
The frozen wind,
made me shiver,
with excitement.

There has been some interest in making Frozen Bubble cross platform so I have forked Frozen Bubble v2.0 to my github repo. Any contributors are welcome! I will eventually be removing hacks that were needed to make Frozen Bubble work with the old SDL perl. The plan is to make Frozen Bubble cross platform by removing platform specific hacks and dependencies. One of the major switch will be from BSD sockets to SDL_net through SDL perl or XS. The main goal would be to be able to do 
cpan install FrozenBubble
To do this the Makefile.PL will need to be rewritten a little bit. Moreover we will need to make test using code from Frozen Bubble so that it can be smoke tested on CPAN.  If contributors need more information please contact me.
\ No newline at end of file diff --git a/pages/index.html-inc b/pages/index.html-inc new file mode 100644 index 0000000..7eb4522 --- /dev/null +++ b/pages/index.html-inc @@ -0,0 +1 @@ +

BOO!