Lunar Lander Simulator Developer Interview
For the better part of 2006, a novel little title that’s half game and half simulator has taken the Palm software world by storm. This cult favorite is none other than SimToGo developer Mohamed Bennouf’s “Lunar Lander Simulator” (formerly “LEM Sim”).
While the first version of LLS was a bit rough around the edges, Mo has made remarkable improvements to the game’s user-friendliness and taken great measures to ease its learning curve for the casual user. Read on for PIC’s first developer exclusive interview as we talk shop about all things lunar and all things Palm!
Background & Inspiration:
Kris Keilhack: 1. Let’s start with an obvious question--What inspired you to create this title?
Mohamed Bennouf: My love of space flight! I was really inspired by the Moon landing and wanted a way to do that without the need of a real Lunar Lander(or a simulation on a PC)! That's what gave birth to Lunar Lander Simulator on a Palm/Treo/Zodiac. I was also hoping that people would be interested in having something different to try on their Palm.
2. Do you have a background in the fields aerospace or physics or are you just a space buff?
No, just a space buff with a desire to learn how it was done at the time. I am an electronic engineer that writes software to relax!
3. What sort of feedback have you gotten? Have any NASA types congratulated you on a realistic simulation?
The feedback has been tremendous, at least for my first app and me. This is niche application but it still has been downloaded 10000 times since January 2006! Actually I was very proud that an actual NASA employee (as seen on her email address) bought the game a few months ago!
4. Is LEM Sim your first mobile application? Give us some information on your programming past and/or earlier projects!
Yes, Lunar Lander Simulator (new name!) is my first mobile application. Ages ago, I played around with Basic on Commodore 64 and Zenith Z89, I believe. Also I programmed some crude Lunar Lander-type games. Of course current Palm devices’ capabilities in terms of graphics, speed, and sound are light years away from those days!
5. Sorry! I’ll make a note of the name change. To the best of your knowledge, is LLS the ONLY simulation of its kind on Palm OS?
Yes, Lunar Lander Simulator is the only realistic lunar lander game available on Palm OS. Past lunar lander games on Palm have been arcade-style titles. Lunar Lander is the only simulator on a mobile device that Neil Armstrong would feel at home with! I really tried to recreate the information overload that those guys had to endure. That's the reason the real LM Pilot was giving vocal information of the lander’s status (altitude, speed) to the LM Commander. It would have been very difficult to land in solo. I have tried to not only recreate the information overload situation (especially during lander failures) but also provide the same type of co-piloting by making vocal announcements of the flight situation during the descent (altitude, speed and fuel level).
Specific LLS Topics:
1. I noticed huge improvements in audio-visuals, game depth, and nearly every other aspect from verion 1 to version 2. Was this planned? I loved the addition of the nifty lunar surface terrain graphic!
Yes. Version 2 came about because I was able to add fast bitmap rotation to the application. That allowed me to add a cockpit view that actually rotates. Without fast bitmap rotation capability, doing a cockpit view of the Moon’s surface on version 1.0 would not have been possible (because of graphics speed). My hope is to make the Moon surface even more realistic in future version.
2. When you sat down to begin working on version 1 did you have any idea the response and feedback would be so positive?
No! I knew that they were a lot of space buffs out there BUT they also had to have a Palm/Treo device! That's of course the definition of a niche market! Nevertheless I was very surprise that many people worldwide have tried and, in many cases, bought my little app.
3. When I reviewed the game, I had a rather difficult time acclimating myself to the controls. I knew what I HAD to do (land) but I had no idea how to do it-for example, braking prior to touchdown. How do you feel the inclusion of the "self running demo" tutorial in version 2.1 will aid the novice player?
Actually, one person reported to me that it land successfully only after looking at the "flight demo" a couple times. He was not able to land (like many) before because nothing in the documentation gave any info about timing of things. Like when do you start tilting the lander forward to land upward? The demo is a first step in explaining the procedure. Rewriting the manual and separating the quick guide from the rest of the manual would be helpful. I realize that people do not have time to read a 37 pages document before playing a game! I will also include the user guide in isilo format so people can access the user guide directly from their device and not have to have a print the 37 pages or have a PC handy.
I think working on improving the documentation so that people would not find the game overwhelming at first is critical. There isn’t much fun in crashing flight after flight! Once people land successfully the first time then the game becomes much more fun. Then they can experience all the other features like Commander level, lander failures and landing on other planets. Landing successfully is critical to the game’s acceptance. Well, at least that's what people are telling me.
4. Any ideas on what's in store for LLS past verion 2.1?
Past 2.1, I am hoping to add the following features:
- Set "forbidden" areas where you cannot land.. They will basically representing boulders of different height that you will have to avoid in the final landing phase. So for instance, once you reach 100 feet, a radar view would show "forbidden area" in red. You will need to jump over them to make a safe landing. Each dot will represent boulder areas of different height.- One issue with the current cockpit view is that it does not give you a good sense where the landing site is. At this time, you need to constantly watch the Moon map which is a pain when you are close to landing. The idea is to add a "landing site indicator" to the cockpit view. It will probably be a vertical line pointing to the landing site. At first the line will be a small, but once you get closer to the landing site, the line will be longer. I will also add direction arrows to show which way is the landing site when you are still far.
- I’d like to improve on the Moon’s (and other planets’) surface view, making it more 3D-like.
- In addition to the flag, it might be fun to periodically display strange stuff thru the cockpit like a McDonalds restaurant, the face of Neil Armstrong or the monolith from 2001: A Space Odyssey!
Does the "landscape" Zodiac version run on Palm devices such as the T3, T5, LD, and TX in 480*320 mode?
Actually the good news is that the Zodiac version works fine on other large screen Palm devices (tested Ok on LifeDrive Palm). All I need to do now is find some beta testers with T3,T5 or TX to double check that.
Technical Q&A:
1. What developer tools do you use to code for Palm OS?
Lunar Lander Simulator was almost exclusively coded with HandheldBasic, also known as HB++. It is a fast compiler and amazingly simple to use. The rotation routine is an ARM for very fast display of the Moon surface rotation through the cockpit (provided to me by a very kind HB++ programmer from France: Eric Quagliozzi )
2. Any particular technical hurdles you've encountered while programming LLS? Are there any particular Palm OS devices that have proven to be "buggier" or more troublesome than others (low heap memory etc)?
A huge amount of (fun) time was spent researching NASA documents to make sure the two missions, approach and final landing, were realistic. One of the main issues was the engine thrust control. Most arcade lunar lander games simply simulate a manual control of the engine thrust (manually increase/decrease thrust). In the real lunar lander, the astronauts did not (unless of a accident) control the engine thrust directly but via an on-board computer. They were asking the computer "please make the lander descend at 5 feet/sec." In return the computer would control the engine thrust to make it happen. This involved a control loop. That's what I tried to simulate with the ROD routine.
Low heap memory is an issue on some devices such as the Tungsten E but they seems to be causing only harmless soft resets and then only very occasionally.
Really the main issue is the sheer number of the Palm-based devices out there (SONY!) so it is hard to find the time and people to test the application on all those devices. Even so, and thanks to my wonderful beta testers over the past months, I was able to test the game with many different Palm devices. Still, I offer a 7 day full version trial so people can check it for themselves and see if the game runs OK before they purchase the application.
3. Are there any specific Zodiac API calls or is the different control scheme the only difference in code you've made for Tapwave devices?
No, but I would love to use the "rumble" feature on the Zodiac! That would make the simulation even more realistic!
4. What devices do you personally own and use as your "testbed" for LLS?
I have a Treo 650 and a Tungsten C. I use those two devices and a Palm/Zodiac simulator on the PC. But the best test grounds are the people who kindly help me test the beta versions.
5. Development costs & marketability aside, do you think it'd be fun to do a Nintendo DS game?
I have to admit, I am not really familiar with the Nintendo DS but I seem to recall that it has two LCD screens, right? That could be a very cool way to be able to display a lot of info. For instance, in the case of the Treo, the screen is so small that it is hard to display all the informations needed for the lander. I had to make some compromises here and there of course.
Palm OS Market & General Thoughts
1.Have you been approached by any "major" Palm software publishers to make your program a fully polished commercial release?
No at this time! I would of course love for that to happen!
2. Who are/what is another other Palm developer you admire? Any publishing houses you hold in high regard?
I basically admire all Palm developers! It is a lot fun but so easy to program for small devices. It is also not easy to create original apps since so many apps are available on the Palm platform! Astraware is an amazing house. They seem to publish an incredible number of apps that appeal to people. I have to admit that I love their Warfare Incorporated game. It’s amazingly done!
3. Where do you see the Palm OS market heading past 2006? Do you intend on being along for the ride for ACCESS' ALP OS and/or whatever Palm has in store in 2007?
I think it will make less and less sense to sell "unconnected" Palmmachines: “stand-alone” devices, basically. I also do not anticipate good news for application sales. I guess fewer and fewer people are downloading apps to their PCs and then Hostyncing them to their Palms. Devices like the Treo do not really depend on PC's to function like the old Palm devices.
Finally, Palm devellopers may have less competition and maybe more sales develloping applications for the Treo 700w and the like. People with those Palm Windows devices have fewer choices of apps and would probably be more eager to buy your app than Palm OS owners. Of course I will be watching what's next with ACCESS.
Lunar Lander Simulator 2.1LS has just been released, with enhanced support for Zodiac and HVGA Palm devices. You can also read Kris' review of the game here. Mo. can be reached at lemsim@gmail.com.
Mini-Contest:
To commemorate the release of the new version of LLS and PIC’s interview series, we’re giving away a free registration code for this app! Just post a question for Mo. to answer below by September 30th. Whoever asks the best question will receive a code to register LLS. Good luck!
Article Comments
(11 comments)
The following comments are owned by whoever posted them. PalmInfocenter is not responsible for them in any way.
Please Login or register here to add your comments.
RE: No 4.x Support?
You are 100% correct about Palm Vx being more powerful than the lunar on-board computer. Probably even X 10 more!!
There two reasons (at least) why I could not make a lower Palm OS version. One is that i am using an ARM routine that it suppose to only work with Palm Os 5.0+. I did not make that routine (to rotate the moon in the cockpit view). I would not even know how to start!! since it is written in C I believe. The second reason is that i am using a lot of sounds which makes the game very immersive. The player routine I am using also needs Palm OS 5+.
I will love to expand Lunar Lander Simulator reach (that's one of the reason I wanted to give the Zodiac community a new game) but as you can see I am very limited in my programming ability.
In any event thank you for your comment.
Take care.
Mo.
LLSim develloper
LEM Versions?
Similarly, maybe you could add a "Flying Bedstead" companion, to simulate the test rig the astronauts used to train while still on earth. Armstrong said at the time that it was much harded to fly than the actual LEM.
--
Ran Barton
III, Vx, SJ-30, T|E2
RE: LEM Versions?
No I am using NASA data for earlier LEM's. I think you are right when you say that would limit their control margins. The current version of the simulator allows you to customize your flight (start alt, speeds and fuel level). In term of lander weight, you can play with the fuel amount (as % of the regular amount). That way you can affect the lander weight that way. I could easly add an option for an actual lunar lander (dry weight). That way you could play the different scenarios.
By the way you can with the current version, also land on Earth( and all the planets) like the Apollo astronauts did on the "testbead" LLRV. But the LLRV was trying to simulate a Moon gravity!
Hope this help.
Mo.
What kind of PR/Marketing
you can obviously pass on this question - but nevertheless, it could be interesting for developers:
What kind of marketing did you use?
Best regards
Tam Hanna
Find out more about the Palm OS in my blog:
http://tamspalm.tamoggemon.com
RE: What kind of PR/Marketing
Actually as a small "develloper" (this is my first app), the best I can do is rely on word of mouth. I am sure this is not really helpful answer to you but that's all I am counting on for now.
Take care.
Mo.
Lunar Lander Question
Thanks!
RE: Lunar Lander Question
Yes that's one my project. I am hoping to devellop a docking game using the Lunar Lander Simulator "engine" has a based. My hope is to make it so that you can dock with the command module in Moon orbit. of course it would have voice annoncements of distance/speed to the CM as well as failures like the current simulator. I am not sure if I would make it as a continuation of the current game. For instance, once you landed, you could take off again after a short count down and then end up looking for the CM on radar. Of course the goal would be to safely approach and then dock the CM.
Another possibility would be to make it completly separate application and so being able to dock on Earth orbit like the space station.
In any event thanks for the question and stay tune...
Mo.
whats in store for your next release?
my question to you is: do you ever plan to make an apollo 13 type game? you could incorporate physics into it with alot of other things like conservation strategy and quick thinking. if you made this, this would be an awesome game.
then you could start a series with missions and stuff like you have to make an emergency landing on a asteriod....
i'm letting my imagination run... anyways great game and best of luck to you
Palm V-->palmOne Zire31-->Tapwave Zodiac2
Palm Powered since: 2000ish
RE: whats in store for your next release?
At this time, I really want to improve on the 3D effect of the current game like better lunar surface, a landing site indicator on the cockpit view (so you do not have to watch the Moon map all the time). I am also hoping to add like I said, forbidden area where cannot land (boulders for instance). That way I can re-create the situation that faced the Apollo astronauts where at the last minutes they had to find a flat safe to land.
I also want to work on a realistic space rendez-vous simulator. But the ultimate goal is to devellop an actual flight simulator (plane)!!
So stay tune....
Thanks for the question!
Mo.
You are all winners!
Thank you very much for your questions. The contest is now over and all I can say is that you are all winners! You all had great questions so it makes no sense for me to choose one over the other. So please PM with your hotsync ID of your device and I will PM you back your free registration code for Lunar Lander Simulator. For some of you who do not have a "compatible" device, I will be happy to provide later with a free reg code for a game I am develloping right now which I am hoping will also be compatible with OS 4.0 and up. stay tune...!
In any event, I want to thank Kris Keilhack and PalmInfoCenter for making the interview possible. And of course thanks to all of you who downloaded and tried Lunar Lander Simulator 2.1LS
Take care.
Mo.
Lunar Lander Simulator develloper
Latest Comments
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST((SELECT/**/CASE/**/IS_SRVROLEMEM
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST((SELECT/**/CASE/**/IS_SRVROLEMEM
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST((SELECT/**/CASE/**/IS_SRVROLEMEM
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
- My comments --1' OR UNICODE(SUBSTRING((SELECT/**/ISNULL(CAST(db_name()/**/AS/**/NVARCHAR(4000
No 4.x Support?