When was the first time you saw a computer? Do you remember? May be you are like us, who first know computer as a gaming machine, rather than a ‘modern electronic device’; as they call it in schools. Well, we really enjoyed games since our childhood, spend best of the times with it; and today gaming has got a completely different perspective for us.
As we’re in computer engineering, we learn how to make things happen when a button is clicked, but it’s really wonderful to imagine how the same skill that we learnt make our game characters respond to our inputs. How computers understand what visual perspectives are, which we learnt with great difficulty in engineering drawing. How a single object can show varieties of behaviors, actions and emotions though it just seems to be a picture loaded into the screen. And also, how the whole game world residing inside the computer doesn’t suck up all of the computer memory and still maintain its efficiency of performance.
So, we kind of like came into XNA, the premiere game development library, and as the websites said, was the easiest of all to learn too. With the resources and materials available online, we kind of really caught up fast with XNA and then, getting an opportunity to conduct this two days’ boot camp too. It’s really going to be a huge experience for us, to share what we’ve learnt.
So, kind of like interested but don’t know if it’s going to be fruitful for you or not? Well, let us help solve some of your queries…
1) So, is XNA a programming language that I need to learn for game development?
No, we’ll be using C# as the programming language. XNA is a game development framework over .NET. In simple words, sort of like the library files that you use in C and C++.
2) What makes XNA simpler to learn?
XNA not only provides you with the classes and libraries that you can use for game development but also provides a complete game engine. So, you don’t need to lose your efforts into getting things work. Just focus on your contents that you need to add the game logic that you need to build. XNA does the rest. So, it definitely minimizes your effort requirement.
3) How are the games made in silverlight and flash different from the games made in XNA?
Well, in a nutshell, silverlight and flash eats up your processor performance to perform all of its rasterization and composition, while XNA uses your graphics hardware. So, the load over the CPU is greatly reduced which allows you to add high end graphics experiences to your games, which flash and silverlight cannot. Simply, if your contents are changing in every frames, then XNA can deliver you a much better performance. Well, I’d suggest to use flash and silverlight to make web-based games. They are really good there. ( Of course you can take your game development to 3D in silverlight as well, but it’s a 3D simulation only. )
4)Can you name some of the games developed in XNA?
Halo, Age of Empire and Flight Simulator, to name as the most famous ones.
5)So what values can we learn from the training?
Well, the foundation of 2D and 3D gaming, we’d say. It would cover stuffs like loading your contents, updating them in the time frame, drawing the updated contents into the screen, collision detection, object motion behaviors, score keeping, and audio integration. But the concepts of doing it in 2D and 3D are completely different. 2D makes your foundation and you will learn completely new values in 3D like camera angle, perspectives and much more.
Well, the game development logics and the mathematics involved is of so much value. You load your 3D models into the game, it then needs to be transformed into the game world. Then calculate how it would look from the camera perspective. You find if it lies within your field of view or not and finally adjust your aspect ratio for a perfect rendering of your 3D models into a 2D image which can be processed by the content pipeline. Of course, lots of theories to learn too, and these would be a real tribute to all the mathematicians and physicists who invented it!
Complete reference materials will be provided for the curriculum contents so that you can practice and learn after you go back home. You don’t need to panic.
It’s also important to learn what are not in the curriculum. Frame Based animation and Game Menu display are some stuffs which are not in the syllabus, but we’ll be trying our best to manage time to cover those as well. But we don’t find it possible to cover dynamic content loading using XML, networking and Artificial Intelligence in our training. But we have good examples which would be provided during the training from which you could learn it yourself too.
Well, boot camps have a benefit and a drawback. You can learn a lot of values in a short time. But as a lot has to be covered in a short time, deep dive is not possible. But the true value, to say is that you can learn many concepts and collect lots of materials which would have taken months otherwise. Keep this thing always in your mind and keep your expectations to the correct level.
6) But I haven’t learnt C#. Will I benefit from the boot camp?
Of course you will, even more than others! We will start from what C# is and what .NET framework is, before jumping into XNA. So, even if you are unaware about what C# and .NET is, and whether or not it’s the right programming language to choose for your career development, well you’ll find your answers here. Just to remind you, .NET is cross language and cross platform framework. It’s really powerful! And we have developed really awesome example to demonstrate its power to make you understand.
MSP program provides us with lots of opportunities, and last week, it was a very good opportunity for six of we MSPs. We got to get face to face with Kirk Drage, Software Industry Development Manager of Microsoft Asia Pacific Regional Headquarter and got some time to exchange some of our ideas, views and thoughts. Kirk had been looking behind the software industry of Microsoft at Asia Pacific, and his know-hows about how the software world was being driven out in other countries, was of great value for us, and may be what our career interests are, and what in the field of IT excites us was a matter of interest for him.
One of the curiosities he presented to us was if we were interested to make up a career out here in Nepal or abroad. Well, the answer was unanimous from all of us. We wanted to grow in Nepal and wanted to help it grow.. Well, it might not be how our lives would turn up after a couple of years. You might not find what you need out here, and you might have to live with compromises. But for now, we still had time, we could still look for the ways and pursue not to let compromises take over what we desired. We could still explore where we and our skills would find a position somewhere in our own land, and definitely we could see the silver linings in the cloud. Actually lots of silver linings….
Microsoft Innovation Centre (MIC) is something which is the ‘next big thing’ for Nepal right now. We are very soon having an Innovation Centre out here, where students can get opportunities to grow, learn and innovate for the national market and industry through software development. We wanted to know how MICs over the Asia Pacific was going on. From Kirk, we came to know the different models on which MICs were running. It was collaborating with the Government, private organizations, the educational institutes and its most diligent students to bring about the innovation that would meet the specific need at the local level. It’s concept of strengthening the three main pillars: skills, partnership and innovation, to foster local development was really of true value.
A developing country like Nepal really needed an initiative like this to move ahead. Piracy has been curtailing all opportunities for creativity; and outsourcing, increasing the gap between the manpower and national development. This has been the main reason why the huge multinationals have not looked to establish branches out here in Nepal, and people fearing local entrepreneurship. Here are no genuine market, everything runs on piracy! Well, we have statistics of the world where countries like Vietnam and India had a significant increase in employment opportunities with even a nominal fraction of control over piracy. This could be a story of Nepal tomorrow if something can be done. I think MIC can play its part in this. It bridges the gaps between everything.
Let’s say a Company out here requires a robust information and resource management system to control and manage all of its branches spread nation wide. There are lots of readymade software available in the market, but they don’t quite match the Company’s functional architecture and policies. So, it is now looking for a rescue, but it hardly finds any local ISVs which can develop and test the software in an environment like that of its own. So, it comes to MIC. MIC collaborates with a local ISV, and also with some of the students to work in this project. The ISV gets an opportunity to work in a larger project, (bigger than its individual capacity) and realizes what it needs if it esteems to expand in near future. Students get a good opportunity to work in a real world problem, together, in a collaborative development platform. They get to get acquainted with the latest technologies and gain the most valuable experience that they need for their career pursuit. So, what happens after the project completion? The Company gets its required software solution from a local vendor, and it finds working with a local vendor to be more economical, easy to deal and reliable. Even other companies start realizing the importance and reliability of local software and local development is promoted. The vendor gains a good reputation for it, and plans to expand. It hires some of the students with whom it had worked with during the project. And the rest of the students, they realize the true value of innovation and entrepreneurship. They make up a proposal for the implementation of e-governance in Nepal and know exactly what they need to do and how they need to work out for it. And there comes the second project in MIC, with much more opportunities and much more of innovation ….. A win-win for all..
We all are really looking forward to see when this story would come true. So, the question that arose in our mind was: which stream would be the prime target of MIC in Nepal?… Education, Health, Industry, Communication….? Well, guess what, Tourism… Wow! A true tribute of technology and innovation for the beautiful Nepal! Curiosity was never ending, we wanted the talk to prolong to few more hours, but time is always the problem. We all had a program to attend at KCC. So, we had to conclude. His message to all of us was – “ Be passionate, opportunity always looks for the passion and the passionate”. Hearts full of gratitude from our side, and millions of thanks to Microsoft MDP Nepal, and everyone behind the scene for making sure MIC was coming to Nepal.
The delegate sessions at Tech Mela was the most awaited and valued sessions of the event. To kick off, there was a panel discussion on "Bridging the gap between State, Academia and Industry". This session was honoured by respected personalities from various fields sharing their knowledge, and experiences about what they think about the subject matter; from their individual viewpoint and also from the perspective of the bigger world they represented. The queries overpowering from the students in that session clearly showed how badly they needed a platform where their voices could be heard. Of course, due to time constraints, the session ended with many questions yet to be put forward, but it sure did took a very good initiative. I think technical forums could be a place where answers to these queries could be discussed further.
David Lim, the Technical Audience Lead and Developer Programmer Evangelist from the Asia Pacific Region, was next with his awe inspiring presentation on what potential the students of technical stream have, what technology have to offer them and what it had expected from them. I was really impressed by the short clippings of Project Natal and Microsoft Surface that he had included in his MultiMedia Presentation. These are probably the biggest wonders today, and I got to see how the world is actually working with it. (Look at the following links on the videos to learn more about Project Natal http://www.bing.com/videos/watch/video/overview-of-project-natal/128sjxyoj and Microsoft Surface http://www.bing.com/videos/watch/video/microsoft-surface-exclusive-review/45aa99a17b7a1090f09f45aa99a17b7a1090f09f-1727461654625. ) Most of all, it shook me from inside when he said we had the ability to work for 22 hours a day, and that was possible because of Multitasking. Of course, in this world of fierce competition, that's the only way you can survive. You have to be talented, you have to be dynamic.
Then there was the SQL authority, Pinal Dave. He's the person who knows Microsoft SQL better than Microsoft itself. His blogs are very popular and his presentations highly demanded internationally. It was a true honour for us to have him present for us. Understanding the knowledge level of the students, he presented on indexing and showed how indexing played its role for the management of a database and efficeint querying. Definitely a planned database structure has flexibility, managability, efficiency and time economy as its essential give outs and his presentation on the first day, should have triggered this thought inside every programmer and database guys. On the second day, he had his presentaion on image creation on database to surprise everyone. And most of all, there stood he himlelf, as a source of inspiration for all, with his career outspeaking to pursue excellence and not success.
Many presentations followed.... There was WINDOWS 7 with its tips and tricks, EXPRESSION STUDIO as a magic box for all the designers, SHAREPOINT with its concept of centrailzed data storage and document sharing, LOCALIZATION taking the softwares and applications from universal English language down to the local language level and OFFICE 2010 with whole lot of new, exciting and amazing features.
And not to forget the DIGITAL PHOTOGRAPHY session. It was a triple application demo session. AUTOCOLLAGE with its ability to blend multiple pictures and tag photos automatically, DEEP ZOOM to work swiftly with ultra high resolution pictures, and PHOTOSYNTH to stitch pictures together, one completing the other to create a complete 3-D view.
Rarely such continuous technical sessions take place in our country and I doubt if all the deligates could take all that was intended to be given. Months long of traditional trainings and courses may have their own values, but these sessions have their own meaning and significance. These are the small packets of big dynamytes and only explorers can explore and understand it better. So, if you missed it this time, never mind... It's happening next year..bigger and better..
Technology is something which knows nothing but advancement, likes nothing but speed. Every single day, it comes up with new surprises. As the students of technology, it's our job to keep ourselves abreast of these changes, and also to change the world with it.
Tech Mela was all about celebrating technology. It is one of the biggest event of the whole year that Microsoft Nepal and MSPs organize as their community program, and this March, it was happening for the very first time at Staff College, Jawalakhel. It promised to bring someting for everybody. For special delegates, there was conference room, where every hour, presentations on high end and deep dive technologies were going on. These delegates were the geeks who had decided to stay for the complete two days' session to know about all that Microsoft had brought. DPE lead of the Asia Pacific Region, David Lim and The SQL authority Pinnal Dave were the international presenters to grace the conference. For the rest interested in learning, there was Community Chautari where new exciting and juicy stuffs were being delivered and it was a platform for all those who wanted to share their knowledge on technology.
Microsoft Proudly announced its IT-Academy program launch at Tech Mela. Under this program, it was providing 10 engineering and IT related colleges with Microsoft Certification Course Curriculums, teaching and learning materials along with the required software for their labs to drive the certification courses at their colleges. The main idea behind the program was to give access to the highly demanded course curriculums and materials, for free, to the students to strengthen their career lines, which would not have been affordable otherwise. With these courses running parallel to their academics, students would definitely benefit, and develip their skills to meet the industry needs.
It also announced Microsoft Innovation Centre getting established very soon, where students could look forward for their internships, take part in the innovation and understand the real world challenge of developing and innovating real world technical solutions.
And never to miss the fun parts that Tech Mela brought with it. The gamers from every nooks and corners were there to compete.. The MultiPoint Challengers were there showing how they programmed multiple mices on the same computer to help bridge the world's problem of Digital Divide. And also, the top selected photographs of the Click To Win photo contest was something where every visitors' eyes would rest upon.
Tech Mela was a win win for all. For technology enthusiasts, for gamers, for competitors... and of course for the organizers.. MSPs got to showcase all that they had learnt and skills that they had developed; and Microsoft Nepal, it showcased it's unlimited potential.... Do wait for my next blog on the Main Conference Sessions at Tech Mela.
During Application development, we come across situations when we have to click at different regions, and want events to respond to it. Well, with MultiPoint, it may not be that easy to do so. Let’s say I have clouds in the sky and when I click at any one of the cloud, it needs to respond to my Multipoint Mouse Click with a “Cloud Clicked” text on my textbox. Well, you might have got the idea that the easiest way to do that would be to make it into a MultiPoint Button. But if there are three clouds floating in the sky, will it be possible to make all the separate clouds into a single button? Well, just dream about it and your dream will come true. Here is how to do that.
Create a new WPF solution in Visual Studio and in it, add your MultiPoint Button to the ToolBox. Also, add required references to MultiPoint in both Xaml view and Code View. Now, open your solution from Blend (I’m using Blend 3). Here, select the Grid at the Object and Timeline Section and delete it.

Select a Canvas from your toolbox and double click it to add it to your empty Window. Adjust the size. I chose Canvas instead of Grid because Canvas allows overlapping of the objects I place in it which I need to draw my clouds.

Now, to draw a cloud, select the ellipse tool and make 3-4 circles as shown in the picture.

Take selection tool (Black arrow at the toolbox) and select all the circles. Go to Object Menu > Combine > Unite. You’ll obtain your cloud. You can also get the Combine menu by right clicking on your selection.

Now, make a new copy of it (Ctrl+C and CTRL+V). The copy will exactly overlap each other. So, drag one and place it in proper position. Select Both of it and repeat the same steps to unite it to one. You have successfully integrated two separate images into one.

Now the part of making it into MultiPoint Button. Select your cloud and right click. Click on Make into Control.

Under Controls option, select All. Find MultiPointButton. Name it CloudButton, and define it in This document and click Ok. Your MultiPointCloudButton will look something like the one below. Now, to remove the label MultiPointButton from your cloud, go to Common Properties in Properties section. And remove the “MultiPointButton” text from there.

Now, make up a TextBlock by selecting the [ T ]icon from the toolbox as shown in the picture below and name it MyTextBlock. Then select your cloud, click on MultiPointButton tab on the top and go to the lightening icon (indicating events)at the top left corner of your properties tab. Find MultiPointMouseDownEvent and type ShowText. By doing so, the MultiPointMouseDownEvent will trigger the function ShowText.

Now, hit enter and you will be presented with the code view of the Window with the ShowText event created for you.
Type:
MyTextBlock.Text=”Cloud Clicked”;
Note that MyTextBlock is the variable name that you have given to your TextBlock.

Save it and run it. Your Cloud should start doing what you told it to do.
It’s been time that Expression Studio 3 has hit the market and I had been reading a few articles about it. The thing which actually attracted me was SketchFlow, which came with Expression Blend 3. I had got the surface idea of what it was made for by then, but never knew its true potential until I actually went through the mini video tutorials to actually start and learn about it. It is unbelievable to learn that we could actually materialize our rough ideas, about our application development, before even starting to code.
By the way, if you have a software project to do, how do you actually start? Directly go to the codes? You should not! You first need to start up with your ideas and build a basic framework from that. Plan what kind of pages you’ll have to display, what would be the contents of each page, and how the control actually flows from one to the other. Do you use sketches on papers to do that, or some tools like Illustrator?
Well, actually they can help you make the pages, but the actual feel and flow of a ready made program, never.. Sketch Flow can be your best tool to simulate and demonstrate all your thoughts.
With SketchFlow, you can make different pages, with all types of controls you want to add, like a textbox, button, background image or so on… And these would be the rough sketches, like the ones you make with your pencil in your hand. Make a complete framework of what your application would actually look like and put the necessary links to your pages.

Also show how the transitions move in the SketchFlow Map.

Now, press F5 and your sketchflow project will actually start running in SketchFlow Player environment. Your sketches will start working like your real application. The buttons can be clicked, the textboxes, combo boxes and scroll bars, all demonstratably functional. The links can be actually clicked and you can actually move from one page to the other through these links. If you are making an application for an online shopping, you can put images of the products you want to add in it, and try the demo in which you’ll be led from the welcome page till the check out with a sample bill displayed to you. And you can say if that was the actual feel you wanted in your application.

SketchFlow is also important because it’s not just for you that you make up your ideas, it’s also for the other members and for your clients. But everyone may not have Expression Blend to go through your designs... Never mind. You can actually export your work to a .doc file so that MS Word can easily open it.

Your clients and other companions will post their feedback to your solution with actual indications at different places. Check at the next picture. In the Sketchflow Player, there is a separate Feedback Panel where you team members or clients can choose the pen and color of their choice, to mark the area of the page where they want changes, or the areas that they really admire about your page. They can write their feedbacks and export it so that you can import it in your file and view all those feedbacks to know your strengths and weaknesses. Look at the picture below. You can see the arrow and the circle mark which are the areas that are commented. And the feedback can be seen in the Feedback Panel. The blue arrow says “Why is this empty?” and the orange circle says “you’d better add an advertisement out here”. This is just like our photo tagging that we do in facebook and if you want to temporarily hide the feedbacks and the indications that has been made, you can simply turn it off. Your original SketchFlow is there. So easy...

Also, in the picture below, you can see lots of images right there and contents alongside. Yes, images and sample data (texts, numbers) can also be generated, with the declaration of proper data types in sketchflow. You can actually play with sample data, before you start with Visual Studio, Expression Web or Dreamweaver. Afterall, this is the phase where you plan everything...
At first, the Details section in the picutre below was empty. You could select any of the Terrian from the scrollable frame and its detail would then appear dynamically in the details section.
And as you would click to the checkout, it would lead you to the billing page. Check it out in the next picure. So much of user experience with such a little effort!

Well, sketchflow is what is needed to kick off making a project, because a good plan is needed to make a good project and to guarantee a better user experience. Of course, it's the designer's part to use it, but the whole team benefits; as it gives a pretty good overview of the whole project to the team so that everyone can work out effectively and efficiently. So why not move on to the next level? Want references? Here is a link to start with. I recommend you the video in this link.
http://blogs.msdn.com/canux/archive/2009/06/28/mini-tutorial-blend-3-sketchflow-part-i.aspx
Do follow up the other videos as well...