soledad penadés
repeat 4[fd 100 rt 90]

Archive for the ‘batallitas scener’ Category

20060911 Going forward with thisisnotanengine

After some months dedicated to little and unimportant businesses, such as getting a fantastic tan which left as soon as it arrived, and finding a new job, I finally half-made my mind about the future of thisisnotanengine. For whoever which do not know what is it, it was our answer to the supercomplicated demosystems around there which are more focused in 3d stuff than in sequencing. It started simple, with a flash sequencer, but with the addition of blackpawn to the team it has grown big and powerful into a binary mega sequencer - but still simple and easy!

The main idea is very erm… simple… we have something similar to MIDI files but for sequencing a demo. The sequencer (the demo studio) helps you build the sequence, but you can also build it yourself, since it is an XML file. In fact, I did it like that for tube demo, but it's not something you would recommend to everybody. That XML contains a list of resources and a list of when the resources are used, along with usual things as modifiers, parameters, etc. And it can be read by any "engine", which does not neccessarily have to implement everything defined by the XML - it simply ignores what it does not understand. This allows you to sequence with a platform and produce a result for another platform. For example, Holy guadalupe! is a flash demo but it was sequenced with the demo editor which runs in windows.

While I was making "tube", trace and blackpawn were working on the demosystem, and they had to make certain changes to the definition of the XML file. I just decided to left the implementation of these changes in my version of the code "for later", since I knew they would take me quite a lot of time to implement.

Although the current version of my player is more decent than the first one (used for vslpx), it is still far from being clean. I just didn't feel like modifying the parser/loader in C++ again, so I decided it was a good moment to start experimenting with (tadaaaaa) python! (I don't know much python yet, though, but seems that its learning curve behaves quite well, one day you're writing 1+1 programs and next day you are writing the next big Web 3.0 project).

The main idea is to build a library in C++ which will implement the graphics and sound code, and leave the remaining to python, connecting everything with some kind of bindings like the ones provided by Boost.Python or SWIG. But keeping things simple. Even if I started using STL, some things still get horribly complicated in C++ but would be much easier with Python, and the inverse. And I tend to get paralysed when I see code which is excessively complicated (specially if it could be simpler), so that's not good.

Another goal of this is to stop depending on any IDE for compiling. That is, even if I'll use XCode for writing the code and all of that, I am trying to avoid using it for managing the project settings. My aim is to use Make for these tasks, since configuring a project with XCode's interface does not provide as much visibility as a makefile does. It could also help me with other goal, which is to get rid of Visual Studio in Windows. I want to investigate which free and modern compiler can be used, specially if it does not annoy me with false STL warnings. Also I presume that using the same or similar compiler (barring platform differences) would help me with the crossplatform development.

By the way, now that we have a fully working computer with decent graphic cards and ubuntu installed, I will probably try to get a linux version as well. From my experience it is relatively easy to get my code working in different systems, now that I have learnt not to use proprietary functions, so it shouldn't take too much time.

I am still in the research phase. I first started with Edwin Jakobs homepage (who is a very famous dutch scener), where he related his experiencies with C++ and Python in order to build pom pom, their scriptable engine. From there I began testing SWIG in order to get a simple test library which could be able to open a window with a certain background color (specified from python) and play a sound file (also specified from python). But I haven't managed to get to that yet… I'm running into lots of problems mainly because of my horrible ignorance of building anything else apart from a simple console application and the funky differences between usual GCC conventions and Apple's implementation of GCC - but I'll find out the solutions somehow!

More to follow… but meanwhile if you have any experience in building dynamic libraries for mac or in doing exactly what I am trying to achieve, I'll love to know about it!

20060503 The making of "tube"/xplsv

tube screenshot

Getting the right music, and the right inspiration

Some years ago, in the almost already forgotten summer of 2003, trace sent me a test of a song he was making. If I remember properly, it was called B04.IT, and featured the characteristic samples one can get using fuzzion's 4k synth. Actually, it reminded me a lot to the music of "insert coin", by fuzzion & threepixels. I think trace did the song for using it in another intro, but it was forgotten.

And some months later he passed me again the song but it was B05.IT then and it had more stuff - almost finished! It had passed through sml's and wizard's ears too. This time I really liked the song and thought that I wanted to do something with it, although I didn't know yet what exactly. So I just converted it to mp3, copied it to the ipod and let it appear whenever the random mode decided. One day while I was in a Circle Line train, entering Moorgate station, the song was playing and I had something like a vision, when I saw the platforms along with the signs, the sensation of movement that fitted with the song and its somehow agressive feeling… and I decided that I would do something related with the tube!

Then almost a whole year was spent developing something to be able to do the demo, as I switched to mac, and also wanted to do demos in a more decent/cleaner way that I was doing until that moment. And finally as I got the tickets for Breakpoint06, I decided that I definitely would do the tube demo for BP06, as I knew that it would rock big time to see it on the bigscreen.

At the beginning I thought of alternating 3d scenes with the 2d animations that I was going to put in there, but since I didn't manage to get a decent port to opengl of neonv2's graphics engine, I just set apart that idea and concentrated on getting the best animations I could get.

How to record in the tube (without looking suspicious)

That part was really funny. I borrowed trace's camera, which is way more discreet than mine, and the 1GB memory stick he got for his PSP, and just headed towards the tube on a nice sunday evening.

Why I chose sunday and not any other day of the week as it would have been more representative of the real stress of the daily commuting it's relatively simple: when there's so many people you would have seen only the first row of people and maybe think that I was taking pictures in a protest march. So that's why it just shows half empty trains and stations.

With that camera it was relatively easy to take pictures as it is quite small and doesn't do any noise when switching it on (in contrast to mine!). So most of the time I just walked as if I was going to take a train, with the camera in my hand - and recording it all!

I also wanted to be discreet not because of the passengers, but because of some news I had heard about people being arrested and their camera confiscated just when they were shooting pictures in tube stations. Just in case they were evil terrorists and were getting information of how the station was. For destroying it according to the plans. You know!

The worst of all was when recording the final part, which is actually how the Central Line trains enter Bank from Liverpool Street. I had to redo that one like three times because it didn't got recorded properly. Either bad angle, not looking good enough (the train stopping at the entering and somehow destroying the speed sensation, etc). So I had to change to the opposite direction and turn back to Liverpool Street again, and cross the fingers so nobody in the control room could notice a girl dressed with a blue electric jacket entering three times the station, and taking the train of the opposite platform three times too.

Imagine if they had asked me:

- What are you doing?
- oh just recording some movies for breakpoint 06 demo compo
- a compo!! it doesn't sound right! it sounds violent
- errrrr….

I also arrived until the ultramodern Canary Wharf station (where some movie was shot, if I'm not wrong) and took lots of pictures there, but they didn't fit at all in the demo. Apart from the "severe delays" pictures, everything else got discarded as it wasn't dynamic enough. It was so empty on a Sunday!! One can't appreciate any movement sensation if there's no reference point, like people, etc. Oh and it was so damn cold in Canary Wharf! I had to put my hat on while taking pictures of the outside…

Most of the moving images are from Victoria and Westminster stations. I missed lots of footage video as I thought that I was recording but actually I hadn't pressed properly the button. So novice!

Locations - for the map/tube addicts

Tube locations
So finally my travel consisted in:

  • Victoria - Westminster (with the District line)
  • Westminster - Canary Wharf (Jubilee Line)
  • Canary Wharf - London Bridge (Jubilee Line)
  • London Bridge - Bank (Northern Line)
  • Bank - Liverpool Street, and Liverpool Street - Bank, three times (Central Line)
  • Bank - Oxford Circus (Central Line)
  • Oxford Circus - Victoria (Victoria Line)

and not it didn't cost me much money since I just went out the tube itself in Canary Wharf for taking pictures of the skyscrappers :)

Coding horror

Then we have the nightmare the day before the party. I had let until the last moment the step of doing a final test in my pc. (I developed it in mac as I said). Horror happens and it happens more specifically the night before, when tired and almost aslept you get to test your demo in trace's laptop and then discover that everything turns white. ARGH!!!!!!!!! It wasn't even a black screen, it was all completely white. I just said ok … I'm going to release it in the wild compo, I don't care if they don't accept mac entries in the demo compo, I want to sleep. And I absolutely did.

I suppose a real coder would have stayed all night trying to find out which was the bug but as I'm not a real coder I just let the pillow give me some advice. Of course, the next morning I hadn't thought of any solution for the bug yet. I even didn't find anything until for some reason I ran the demo in fullscreen in my mac and WTF!!! it was WHITE!! What was happening there?

Well it was actually quite stupid. I did some very basic filters, reading from the current framebuffer and manipulating the data. But just some filters used one code I saw in one page which said: glRead(GL_FRONT);

I simply had sticked it in my code without noticing any performance difference, so I just let it be there. Buuuuuut that was a very bad and irresponsible idea! Depending on the graphic drivers, the FRONT buffer had something - or not. In my old pc it didn't make a difference, but in trace's it made everything go white. And I don't know why, I hadn't tested the faulty filters in full screen in my mac. Maybe in fullscreen the opengl gets like a different context or something like that (I don't have any clue, I must recognize), and that's why it showed different results when running in a window or in fullscreen.

I proceeded to remove that code from every place where it appeared and voila! it was working perfectly fullscreen on mac! Then Corsario/tlotb offered to help me to compile a win32 version - and hence release the demo in the demo compo.

Forget libc

I used visual studio 6 in my old pc. It worked pretty well - apart from thousands of warnings from the STL, of course. But Corsario had Visual Studio 2003 and Visual Studio 2005. He said it should be ok. Of course, it wasn't. There was some kind of funky incompatibility with the headers that my project included and what MSVS2003 decided that was ok. Basicly they had deprecated (and removed) libc!

But Corsario managed to identify which of the libraries introduced the libc dependency and replaced it with a compatible and appropiate (for VS) header. And oh it worked quite well! :)

The remaining was simply a question of putting the nice layers that trace gave me in a more or less meaningful order, and syncronize things a bit. Also, trace convinced wizard to do another pattern for the song so it could get a bit more polished. So we had another star in our team!! :D
As you see, it's very easy to do a demo! You should do one too!

20051120 Batallitas scener III: cómo conocí a TLOTB

En el año 2000, aparte de cobrarle una pasta a mucha gente por ponerle al día su sistema informático, también se hizo la última fallas party, que fue también la primera party scener grande a la que fuí. Como he comentado algunas veces, anteriormente había ido a algunas parties caseras organizadas en cibercafés, por ahí por Valencia.

Eran bastante gamer/leecher, pero de cuando en cuando organizaban concursos tracker o de code, e incluso había un tipo que siempre se traía su Atari Falcon con el módulo de expansión que le permitía jugar con las voces del micro en tiempo real. Me asombraba que tan poquita máquina pudiera hacer esas cosas.

El caso es que después de la fallas, me quedé bastante picada con lo de la escena, pero un pique sano, nada del mosqueo que llevaban los de klymax porque todos los premios se los habían llevado entre awesome y amigos. En lugar de ello, intentaba averiguar más cosas sobre la escena, cómo hacer mejores canciones, etc. Pero todo esto lo hacía un poco en la sombra, sin hablar tampoco demasiado con los sceners reconocidos sobre estos temas porque siempre te soltaban cada respuesta que se te quitaban las ganas de continuar interesándote.

Por ejemplo, un día en el canal #track estaban comentando algo sobre la bcnparty, que iba a ser la primera party scener, tal cual… y la verdad es que me interesaba, así que intenté averiguar algo sobre ello, y la respuesta fue algo tal que "no queremos gente como vosotros en la party".

Fantástico, genial. Qué majos. ¿Gente como quién? En fin.

Unos cuantos de los que habíamos ido a la fallas comentamos sobre ir a la bcnparty. Yo no había salido nunca de Valencia con el ordenador a cuestas, aquello era todo una aventura y teníamos mucha ilusión por ir. Pero con esas respuestas, al final las ganas se perdieron en el éter del irc, que digo yo, y lo dejamos estar.

Justo por aquella época coincidía con la aparición de la tarifa ondulada, a la que nos habíamos apuntado, así que siempre teníamos el ordenador encendido, navegando, o chateando por irc. Mi hermana es aún más sociable que yo, y acaba haciendo apigos allá donde vaya. Un día me contó que había estado hablando con un tal Ast-TLOTB en el canal #valencia, que le dijo "que hacía demos o algo así", y que usaban módulos en las canciones. Como a mi hermana le sonaba que yo hacía módulos de esos, le dijo que yo trackeaba o algo así, y el tal Ast-TLOTB, que obviamente era Astharoth, le dijo que cuando pudiera me pusiera en contacto con él.

Cuando me lo contó, fue algo superemocionante para mí. ¡Alguien de la escena que no te echa un cubo de basura y mierda a la cara cuando lo saludas sino que te pide que contactes con él!

Así que me apunté el nick de astharoth en el la lista del notifier del mirc, para que si se conectaba alguna vez el programa me avisara, y pasaron los meses hasta que un día saltó la alarma, y lo encontré por ahí conectado. Le conté que mi hermana había hablado con él y tal cual. Al rato me dijo si le podía mandar alguna canción, y recuerdo que le di el enlace de hard dreamings en traxinspace. Enseguida me dijo que ya estaba viendo los efectos, que se imaginaba que podía quedar algo curioso con esta canción… (lo gracioso es que años después la usamos para una demo, aunque el resultado fijo que fue muy diferente de lo que podía haber quedado si la hubiera hecho él), y me dijo que iban a quedar aquel domingo con otro chaval que estaba aprendiendo, y otro amigo, a tomar algo por Valencia.

Y como yo me quería enterar de cómo estaba el patio… pues me apunté, obviamente. Así que allí quedamos, yo a Astharoth sólo lo había visto en una foto de orange juice, y los demás no tenía ni idea de cómo eran, pero aparecieron con astharoth un par más, uno normal y con gafas y otro muy alto y con gafas. ¿Quiénes eran? Pues Harez y Wally.

Charlamos de todo un poco, Astharoth nos dio un curso de demoscene acelerado, afortunadamente el tener nociones de programar ayudaba mucho, si no me habría perdido (he de decir que el curso de demoscene del dr. pain, publicado en pcmanía también ayudó).
Yo incluso me pegué la gran faltada con wally, diciéndole que no entendía cómo su canción de la fallas había ganado, si simplemente era ruido xDDD
Ahhh estas cosas que haces cuando eres joven y has oído tan pocos estilos de música…

Lo que pasó después de aquello es que yo intenté ponerme a programar, con turbo C y aquellos famosos tutoriales de Denthor/Asphyxia, pero me vino un montón de problemas personales y lo dejé estar mucho muchísimo, especialmente después de otros incidentes/accidentes como sml mosqueándose porque puse online una versión que hizo de una canción mía, y cosas así, que yo no sabía a qué santo venían, ni nadie me lo explicó. Ya sabéis, ese tipo de cosas de los fanáticos, que asustan a los moderados.

Pero años después, tras haber ido a la Euskal10, no sé cómo fue que entré en el #demoscene y me encontré a Astharoth otra vez, nos pusimos a marujear un poco sobre el motor gráfico que estaban desarrollando y tal, y de golpe y porrazo enganché a más gente para ello, como Corsario y Liso.

¡Y ésta es la historia!

20050717 Batallitas scener II: un PPG podía haberse formado en 1999

Esta historia también está curiosa. En 1999 pude comprarme al fin un ordenador para mí con mis propias pelas, lo cual me permitió tener más tiempo para trastear con el ordenador que antes. Se acabó lo de estar en el aula de informática para hacer prácticas de programación o escribir una memoria de cualquier trabajo mientras a la derecha tenías a los criajos de primero que habían reservado el ordenador para ver pr0n de tapadillo, echando de su puesto a cualquier persona que hacía uso lícito del ordenador. En fin, que esto me permitió volver a estar bastante activa en la escena tracker, ya que había estado un poco desconectada desde que empecé a estudiar en Valencia (y por consiguiente a vivir fuera de casa).

No sólo me dedicaba a hacer música. También experimentaba con POV (y ahora que me doy cuenta, hacía cosas muy parecidas a lo que luego hago en las demos… composiciones basadas en repeticiones de objetos, variando la escala, la rotación y tal por fórmulas, etc etc), y con C. Aquel mismo año había descubierto Turbo C3.1 y C en general y me parecía la octava maravilla después de ver la farragosa sintaxis de pascal. Y además linux estaba escrito en C y asm… C era molón!

Tiempo atrás me había bajado la PC Game Programmer´s Encyclopedia pero no saqué demasiado en claro de todo aquello. Muchos ejemplos estaban en Pascal, y con mi ordenador (un súper pentium II a 350) daba aquel famoso Runtime error 200 y se cerraba el programa inmediatamente. (No sé si será un truco válido para todos los ordenadores porque no pude probarlo en más, pero descubrí tiempo después que si ejecutabas el emulador de Amstrad CPC en una ventana de msdos, hacías ALT+Tab y pasabas a otra ventana, el error no se producía si tratabas de ejecutar cualquier cosa de pascal que antes producía el runtime error.) Y nunca conseguí aplicar los fixes y patches que se daban para solucionar el error. Así que cuando pude usar turbo C, y poder poner mis primeros píxeles en pantalla, ¡estaba que no cabía de alegría!

Aquellos experimentos solían ser básicamente juegos con colores porque en cuanto intentaba hacer algo más complicado acababa siempre haciendo que se reiniciara el ordenador, ya que escribía en memoria de la tarjeta de vídeo directamente. A saco! Y claro, siempre se me iba algún vector de varas y reiniciaba el pc, jeje. Mis conocimientos de programación por aquella época eran bastante limitados, aunque eran impresionantes comparados con la gente de clase que necesitaba mirar el manual para hacer un printf cada vez (sin comentarios).

El caso es que, de lo poco que sabía del mundillo scene, no conocía ningún grupo de chicas, aunque sí uno tracker, el de Grrrls in Tracking (pero nunca me quedó muy claro si realmente hacían música o simplemente decían que hacían música en sus páginas web rosa pastel). Así que en un momento de inspiración se me ocurrió decirle a mi compañera de piso, que también estudiaba informática, que deberíamos hacer un grupo de chicas. ¡Un grupo de programación sólo de chicas! Y así animaríamos a más chicas a meterse en este mundillo.

Bueno, la cara que puso era para hacerle una foto. Una cara entre incredulidad, incomprensión, alucine y no sé qué más… Intenté explicarle que no se trataba de hacer un grupo para hacer prácticas de clase, sino para hacer "chorradas" con el ordenador, y q tenía pinta de ser divertido… Pero era inútil, aquella cara no cambiaba. Claramente con aquellas perspectivas y teniendo en cuenta que era la chica que más informática sabía de la clase (aparte de otra tipa que estaba enganchada al irc, pero no era nada productiva) que yo conociera, pues lo dejé estar y no volví a mencionar la idea. Primer intento de PPG fracasado ;)

Más adelante, empezaron a salir a la luz algunas chicas que se dedicaban a trackear. ¡Ya no estaba sola! ¡Hurra! Yo conocía a Master Blaster o Naroomi (de los Garrapatrackers de Jerez), y unas tales AguaDJ y Bitxa aparecieron también "en escena". Así que de una manera u otra, y como todo el mundo hacía mil grupos tracker (era gratis), se propuso hacer uno "solo de chicas". Pero no nos pusimos de acuerdo en el nombre. Algunas decíamos perfektion (dios, qué nombres los de aquella época) y las otras no sé qué nombre decían (a saber dónde andarán esos correos con las propuestas XD). De repente hubo algunas que desaparecieron, otras realmente no trackearon nada o al menos nunca lo oí, y finalmente yo me dediqué a mis labores.
Así que segundo intento de PPG fracasado también.
Lo cual demuestra, una vez más, ¡que a la tercera va la vencida!