August 12, 2008 by littlewingpinball

Hi, long time no talk. I’m the assistant programmer Wolf. I hope everybody enjoys the lovely summer. Yesterday we’ve been to a beach and enjoyed surfing. Well, the picture above is not a still from Cast Away but Fujita and me and the Surf Cat Hassaku. He takes charge of employee’s welfare.

He’s a brave cat so he’s not afraid of water. Now he is enjoying surfing.

Then I’ve got aboard too. Tandem ride was great fun!
Posted in Diary, LittleWing | Tagged cat, dog, surf | Leave a Comment »
July 27, 2008 by littlewingpinball
I have uploaded Ypsilon 0.9.5-update2. I guess this version successfully fixed some bugs. Ypsilon has covered 98.9% of PLT R6RS test suite which has been released recently. I really appreciate the great cooperation from many people. Thank you so much. 
Especially I’m pleased this time I could fix two concurrent GC bugs which are very hard to find. They were found in a test program called gcbench in R6RS Benchmards which Mr. William D Clinger kindly sent me. Many thanks to Mr. Scheme! 
Ypsilon 0.9.5-update2 is available at: http://code.google.com/p/ypsilon/ Currently MacOS X, Windows Vista, and Linux are supported.
-Fujita
Posted in Scheme, programming | Tagged R6RS, Scheme, Ypsilon | Leave a Comment »
July 26, 2008 by littlewingpinball
When I visited a pinball manufacturer in Chicago, I heard the most frequent question about pinball is the size of the ball. I guess not so many people have experiences to pick up the ball to see how big it is.
The answer is; 1 1/16 inches in diameter and weighs 80g. It is bigger than you expected or smaller?:)
Posted in Uncategorized | Tagged pinball, trivia | Leave a Comment »
July 22, 2008 by littlewingpinball
I have released a new version of Ypsilon. Some bugs have been fixed. Ypsilon has got stable much earlier than expected. It is because of the lots of help from people who kindly sent me comments and bug reports…Thank you so much!
Debugging this kind of software is very difficult if it’s done alone because the test program tends to be biased. The biase depends on the programmer’s coding style in which bugs are often lurked in.
I found an post on such an example in comp.lang.scheme recently.
(define (((f x) y) z) (+ x y z))
Such a program should be considered as an error in R6RS Scheme. However, if you think it might be convenient if you can use it, you can implement it in a portable way in R6RS as follows:
(library (define+)
(export (rename (define+ define)))
(import (rnrs))
(define-syntax define+
(syntax-rules ()
((_ (f . args) . body)
(define+ f (lambda args . body)))
((_ var val)
(define var val)))))
(import (define+))
(define (((f x) y) z) (+ x y z))
(define g ((f 1) 2))
(g 3) ;=> 6
Well, I don’t write codes in this way in my program. Then, bugs were lurked in this usage.
If I couldn’t get any help at debugging, how long this bug would lurk…:(
Posted in Scheme, programming | Tagged programming, Scheme Ypsilon R6RS | Leave a Comment »
June 20, 2008 by littlewingpinball
Hi, long time no talk. I have released a software called Ypsilon recently. It will be the basis of new age pinball games. Yes, it is developed for my own pinball construction system.
Overview of Ypsilon and LittleWing Pinball Construction System:
http://www.littlewingpinball.com/contents/en/ypsilon.html
This is the release info for the Scheme news group:
http://groups.google.com/group/comp.lang.scheme/browse_thread/thread/929af95f9d27ef2c
Regarding the LittleWing Pinball developments, it’s not so difficult to place parts with GUI or wiring or assigning the sounds. We have our original tools to do such developments from Angel Egg(1996).
The most difficult part is the game rule description. The professional pinball game rules are pretty complicated. It’s hard to describe it in C/C++ without mistakes, and it can not be described only with graphical languages with GUI.
Also it’s ideal to have a common language system as we develop our pinballs for windows, Mac, console games and arcade games.
Therefore, I decided to implement my own language system and chose Scheme from several candidates. I have started the development of Ypsilon four years ago.
The reason why I chose Scheme was, because I thought the implementation was easy(which was wrong) and it will not have memory leaks which is difficult to find as it has garbage collection function, it has a strong macro function which enables the domain-specific language for pinball, and it has well organized documentation of its specifications.
Though it took four years as I could not devote myself only to Ypsilon. But I guess it is well done. I’m adding special features for pinball game developments to Ypsilon. If you are interested in Scheme, please download the source codes and try:
http://code.google.com/p/ypsilon/
Domain-specific language: http://en.wikipedia.org/wiki/Domain-specific_language
=Fujita
Posted in LittleWing, Pinball simulation, programming | Tagged R6RS, Scheme, Ypsilon | 4 Comments »
This is the hint of the new title.

The photo was taken at a coast close to Toyama in 1994. We were making a sand maze for Loony Labyrinth original package. It’s 14 years ago. How young we were! Fujita had bunch of hair. My appearance hasn’t changed a lot though:)

Now the core of the maze was completed. It was hard to form curved smooth surfaces from sand. We chose the coast as the sand was fine in pale yellow which is suitable for desert-like look.
Though many people assumed the package picture to be the one from a real ruins, it was created by sand and sea water in the primitive way as shown in the photos.

Then, the new title which is under development is the Loony Labyrinth 3D 2008. (the title hasn’t been fixed yet) This is not an “upgrade” but a complete new title. We are implementing the elements which should have been included in the original Loony as the current CPU power has enabled what were impossible at that time.
The release schedule hasn’t been fixed yet. I’ll update the progress in this blog:)
Posted in Pinball simulation | Tagged Loony Labyrinth, PC, pinball | 5 Comments »
Hi, it’s Reiko. Have you seen the Fairy Tower contest ranking recently? It’s really active now. The JINNI contest bronze medalist has been at the head, but It’s also notable Jos from Australia is coming up to the top group. Will there be the first finalist from the southern hemisphere? Keep your eye on the ranking.
I guess Fairy Tower appeals to the experts in comparison with Monster Fair which has comical and friendly taste. Each of our games has its own taste respectively which reflects our moods of each development period
By the way, do you have any idea what’s under development now? We are in a happy mood. I’ll show you some tomorrow. Some of you may be surprized.
Posted in Pinball simulation | Tagged LittleWing, new pinball | 2 Comments »
An unbreakable encryption has got into the news in Japan recently. I checked the topics to see what’s going on as it roused my attention.
There is a famous encryption called one-time pad which lots of blogs talk about. It is proved to be unbreakable. But at the same time, it is a simple one. For example, to encrypt HELLO to WORLD, it uses a randam number which length is the same and the randam number should be used just one time.
In the process of the decryption of WORLD(encrypt) to HELLO(plaintext), there will be bunch of candidates such as WORLD>BREAD, WORLD>NORTH. The right answer could be included in the candidates, but it will be shown in the candidates without any hint. Therefore, a decrypter never knows what is the right answer even if he’s seen the right answer. That means, the right plaintext is not necessary to be hidden from the decrypter.
Another example. Provided you want to decrypt an encrypted girl’s name. It is possible to input information such as “the plain text is a girl’s name” along with the table of all girls name and round-robin randam numbers… but it will work only to display all girls name on the screen. This can’t break the encryption.
It is important to use the same length randam number only one time. You can use the same randam number repeatedly so that you can get closer to the answer.
Well, the randam numbers. To create them in a program is a tricky job. Using only software, we can generate only false randam numbers. It is because running a same program generates same randam numbers everytime. If you have a trouble with this, you can use built-in clock or counter of CPU or other special hardware devices.
In the game programming, you can use input timing of the user as an element so that the performance of randam numbers is usually fine. But in some occasion, you may see stripes on the screen which is created by the “false” part of the randam numbers.
In such case, I create my own randam number generating algorithm for better performance. I noticed randam numbers of C library often causes such problems as it considers the speed to be most important.
To be randam is not simple as it looks.
Reference: one-time pad, Mersenne twister (Wikipedia)
Posted in programming | Tagged game, Mersenne twister, one-time pad, PC, program | 2 Comments »
April 27, 2008 by littlewingpinball
It might be lucky that I lost the paradise. Being absorbed in one thing should be avoided for a junior high school boy.
Then my interest went back to semiconductor element, that is hardware. I did not touch keyboards until I entered the university. Main reason was because I didn’t have a computer though:)
When I was a third grader of my high school, words of my classmate O made me decide the course to take after graduation.
“Hey Fujita, the processing speed of computer gets faster and faster. But then, do you know what happens next? —The era of data transmission will come.”
Honestly, I didn’t understand what he said very well. But, I felt a strange power in his words. I guess I didn’t apply The University of Electro-Communications without his words.
O entered the same university. His major was radio communication. As you now, radio communication is the neccesary technology for non-contact/mobile communications including mobile phone, digital braodcasting TV, wireless LAN, and FeliCa.
But, it was 7 years before the first cell phone in Japan was released from NTT docomo… I’m amazed how O had a lot of foresight. And grateful to it as well.
By the way, he entered a big Lab after graduating the university.
Posted in programming | Tagged pinball, programing | Leave a Comment »