The Super Caption Application - a Silverlight / Facebook Application


Add the super caption application if you have a facebook account.
I would really like your feedback on it.

The designer is built using Silverlight 2.0 Beta 1.
The Super Caption application was built by Intervate Solutions.

Thanks alot!

Posted by pieterg | 1 comment(s)

XNA/DirectX at NMMU (29th April) and Rhodes University (30th April)

I will be giving 2 talks on XNA /DirectX at NMMU and Rhodes in Port Elizabeth. I am extremely excited and speaking to these students and faculty is really something I like to do.

The talks will introduce the students to XNA and how easy it is to build games using XNA Game Studio. I will post the slides and the code samples once I have done the talks.
 

Posted by pieterg | 2 comment(s)

DirectX MVP 2008

This would not have been possible if it wasn't for the people in the community.

Thank you to everyone, SADeveloper.NET, Gamedev.net and the XNA community over at http://creators.xna.com/. These are the communities that have made this possible! Thank you!

If you would like me to come and present a session on XNA or Game Development concepts, please don't hesitate to contact me!


Thank you once again to everyone! 

Posted by pieterg | 4 comment(s)

What an awesome company

I recently moved to Intervate and I cannot be happier. The people here are extremely intelligent and all have good people skills. I am currently doing research on Silverlight and it's really going well. It's a lot of fun too!

The company is extremely supportive of my extra curricular activities such as my involvement with the XNA community and my MVP efforts.
Thank you Intervate!
 

Posted by pieterg | with no comments
Filed under:

Intervate's Robit - What is it?

 

"Hey! Do I look like a tool to you?? I’m not a tool, I’m an ASSISTANT! Get it?

I represent the future of human-computer interaction. Let’s face it, you’re only human, and you have no idea how computers actually work. Me on the other hand, I live in one! I interface with other systems on a daily basis! In fact, I eat APIs for breakfast!

Go ahead, ask me something! I’m here to assist. I don’t have any buttons so you can’t click me. If you need something, just talk to me! You can reach me via Instant Messenger, SMS or email. I also keep a small WebPart on Sharepoint where you can find me.

Right now, I’m pretty new, so don’t expect miracles! I can help you apply for leave, search for contacts in Active Directory, submit timesheets, get news headlines and you can also teach me things so that if anyone asks me something I don’t know, I’ll be able to answer.

I’m also upgradeable, so you can feed me some .NET assemblies and I will absorb their functions and let you tap into them!"

This is a framework that our Research Lab has developed that allows a new level of interaction with our computers.
For example, everybody knows how boring it is to complete timesheets, with this framework you are able to develop a function for the bot to consume that will allow you to say something like:
You : "Hey Robit, I would like to book some time in my timesheet"
Robit : "Sure, give me details about the timesheet entry such as hours worked, project worked on and if it's billable or not"
You : "8 hours, Project Northwind, not billable"
Robit : "Booked, thank you"

How cool is that? This can be done through a series of communication channels, and communication channels can be added. Some of the communication channels include SMS, Messenger and email.

It really wouldn't feel like work anymore, it would feel like you are communicating to a person, but with instant results.

 

Stay tuned for more!
 

 

Posted by pieterg | 8 comment(s)
Filed under: ,

XNA Game Development - Prototype Class Diagram

So, what I did in the last 2 days was took a step back to prototype the game we as a community is going to build.
I want to get your feedback as the community so that we can fine tune the following class design.

Let's get going, post your comments and suggestions! Times like this I wish I could launch a discussion board right underneath my blog post.
Here is a thumbnail of the Class Design for Xilath2.0 which we are going to build from XNA 2.0.


Posted by pieterg | 20 comment(s)

Game Development 101 - Some Progress

So, the game development diary continues.

So last night I sat and thought, wouldn't it be cool to start from the ground up, basically that means, building a console system so that we can actually at runtime create objects and log errors to the console etc...

A console is a little platform for interacting with your game. So this is what I have so far as structure of the game

Xilath.Debug (This is the game but used for debugging right now)
Xilath.Utilities (This will include little utilities that will help us along the way)
Xilath.Objects (Includes terrain and the other renderable objects I mentioned in my previous post)
Xilath.GUI (Heh, this will contain components such as the HUD (Heads Up Display) and controls that are found in windows such as text boxes and combo boxes)

So with the Xilath.GUI.Console, we have a Texture that will be used to represent the container that is the Console. This texture can be any texture you want, give it a nice alpha or manipulate it at runtime. Then we need a font.

Ziggy has an awesome FontRenderer so get it here

I will post the code later tonight, stay tuned. But for now, have fun and see what you can come up with.

If you would like to post any comments, please do so here, if you have any screenshots, i'd love to see them too!

Posted by pieterg | with no comments
Filed under:

Game Development 101 - The Start

So, the start of the diary begins.
I decided to start off by just prototyping and just getting the general feel of the game going. So... what are we going to do?
The best way for is to always get something on the screen first.

Here is what I did last night.

First I created a solution and properly decided what I was going to do, the game will be a simple strategy game, but with some nice twists which will become clearer as we move on.

Next, I kinda got some of the classes going, we don't really need to abstract anything yet, maybe we can raise the abstraction level later. For now I just have the following objects.

Terrain
We need a terrain for our tanks and soldiers to walk on, so a terrain object was necessary.
Soldier, Tank
We need soldiers and tanks that will walk on our terrain, this goes for us and the enemy player.
Skybox
We need to create a world and this is what the Skybox will be, some people prefer a skysphere, but we will just use a box and this will contain our atmosphere (we need to breath) :)
Input
We need some way to control our players don't we?
GUI
We cannot live without this, we need to be able to give commands to the players by clicking on a command and ordering our troops to get going with whatever command we gave it.

Right now the objects contains no code other than the definition of the class. Tonight we will take things from the top down and get going with implementing terrain.
Stay tuned!

Posted by pieterg | 2 comment(s)
Filed under:

Game Development 101 - The Series on XNA-GSE

So, after a series of discussions with community members, it seems that I will be doing a series on XNA-GSE. I am starting tonight and will blog my progress as I continue. Think of it as a game developer blog. I am thinking of creating a cute and fun game to play.

The game won't be intense with physics but I think it will be an awesome adventure and the game will evolve as you guys (the community) add your comments. I want you to interact with me and tell me what you want to see.

The plan is to start tonight and blog my progress as well as the tools I am going to use and so on.

Currently, I am going to use C# Express and XNA-GSE, there will be a physics library used but we will see later what that entails.

Stay tuned... :)
 

Posted by pieterg | 5 comment(s)
Filed under:

TechEd Africa 2007 - Meeting and Spending some time in the community lounge

I just have to start off by saying, what an awesome crowd. I have the pleasure of meeting Willie (SADeveloper.NET Lead - Durban) and Craig (SADeveloper.NET Lead - Gauteng). What an awesome bunch of people. I decided to spend my time at TechEd in the community lounge and interacting with the people.

It was great to see the enthusiasm around the communities and how well the lounge was used. Great job guys!

For all of those who came to my What is XNA - GSE session, thank you very much. You were a great crowd and I hope you enjoyed it as much as I did.

Posted by pieterg | 2 comment(s)
Filed under:

Silverlight Controls

As Silverlight currently doesn't ship with controls apart from the controls contained inside the Silverlight 1.1 Alpha SDK,  it makes it somewhat tedious to develop UIs. I came across this awesome set of controls from Netika.

I would definitely urge any Silverlighters to take a look.

Posted by pieterg | 1 comment(s)
Filed under:

XAML browser applications (XBAPs) vs Silverlight

XBAP defintion from MSDN:
"XAML browser applications (XBAPs) are intended to combine the best features of Web applications and rich-client applications. As with a Web application, XAML browser applications (XBAPs) can be deployed from a server to a system with a single click. The application then runs in the browser without any interruptions beyond the time needed to download the application. However, unlike the relatively limited graphics and media capabilities of HTML-based applications, XAML browser applications (XBAPs) have access to the rich features of the Windows Presentation Foundation (WPF) runtime."

Silverlight definition from MSDN:
"Silverlight combines multiple technologies into a single development platform that enables you to select the right tools and the right programming language for your needs. Silverlight offers you the following features:

  • WPF and XAML. Silverlight includes Windows Presentation Foundation (WPF) technology, which greatly extends the elements in the browser for creating UI. WPF lets you create immersive graphics, animation, media, and other rich client features, extending browser-based UI beyond what is available with HTML alone. Extensible Application Markup Language (XAML) provides a declarative markup syntax for creating WPF elements.

  • Extensions to JavaScript. Silverlight provides extensions to the universal browser scripting language that provide powerful control over the browser UI, including the ability to work with WPF elements.

  • Cross-browser, cross-platform support. Silverlight runs the same on all popular browsers (on any platform). You can design and develop your application without having to worry about which browser or platform your users have.

  • Integration with existing applications. Silverlight integrates seamlessly with your existing JavaScript and ASP.NET AJAX code to complement functionality you have already created.

  • Access to the .NET Framework programming model and to associated tools. You can create Silverlight-based applications using dynamic languages such as Managed JScript and IronPython as well as languages such as C# and Visual Basic. You can use development tools such as Visual Studio to create Silverlight-based applications.

  • LINQ. Silverlight includes language-integrated query (LINQ), which enables you to program data access using intuitive native syntax and strongly typed objects in .NET Framework languages.

  • If you already use ASP.NET, you can integrate Silverlight with the server and client capabilities of ASP.NET that you are familiar with. You can create server-based resources in ASP.NET and use the AJAX capabilities of ASP.NET to interact with server-based resources without interrupting the user."

So, you might ask what the big difference is?
Silverlight or WPF/E is meant to be cross OS and cross Browser compatible.
The ADOGuy has more on this debate.

 

Posted by pieterg | with no comments
Filed under:

Silverlight - More Beginnings

Silverlight.net offers the community a one stop resource for getting started with Silverlight. It offers a wide variety of resources on getting started such as Videos, Whitepapers, Quickstarts and a Gallery with downloadable source code. Apart from that, the forums are a great way to get to ask questions on problems/challenges you might encounter.
Posted by pieterg | with no comments
Filed under:

Silverlight 101

What is Silverlight?
Sweet and short, it brings richer UI to the browser.
Posted on MSDN

"Silverlight combines multiple technologies into a single development platform that enables you to select the right tools and the right programming language for your needs. Silverlight offers you the following features:

  • WPF and XAML. Silverlight includes Windows Presentation Foundation (WPF) technology, which greatly extends the elements in the browser for creating UI. WPF lets you create immersive graphics, animation, media, and other rich client features, extending browser-based UI beyond what is available with HTML alone. Extensible Application Markup Language (XAML) provides a declarative markup syntax for creating WPF elements.

  • Extensions to JavaScript. Silverlight provides extensions to the universal browser scripting language that provide powerful control over the browser UI, including the ability to work with WPF elements.

  • Cross-browser, cross-platform support. Silverlight runs the same on all popular browsers (on any platform). You can design and develop your application without having to worry about which browser or platform your users have.

  • Integration with existing applications. Silverlight integrates seamlessly with your existing JavaScript and ASP.NET AJAX code to complement functionality you have already created.

  • Access to the .NET Framework programming model and to associated tools. You can create Silverlight-based applications using dynamic languages such as Managed JScript and IronPython as well as languages such as C# and Visual Basic. You can use development tools such as Visual Studio to create Silverlight-based applications.

  • LINQ. Silverlight includes language-integrated query (LINQ), which enables you to program data access using intuitive native syntax and strongly typed objects in .NET Framework languages.

  • If you already use ASP.NET, you can integrate Silverlight with the server and client capabilities of ASP.NET that you are familiar with. You can create server-based resources in ASP.NET and use the AJAX capabilities of ASP.NET to interact with server-based resources without interrupting the user."

 [read more]

Now, how cool is that?

I stumbled across an awesome article that explains how a game was built using Silverlight.
Dr Dobbs Silverlight Tutorial. This is really a good step by step tutorial for anyone that wants to get into Silverlight.

Posted by pieterg | 1 comment(s)
Filed under:

Hosting WPF inside Winforms Applications

I recently had a situation where I wanted to host a WPF application within my application.
I had to host the nice looking frontend into the application and started doing my research as to how to do it.
For anyone interested in WPF, I suggest checking out the family show demo.

I prototyped what I needed apart from the solution and quickly got what I wanted. Working with WPF is a breeze. Armed with the WPF application, I had to strip it from it's App.xaml and make a user control out of it so that I could imbed it into the application.

I had a slight problem as the dynamic resources that were loaded from the App.xaml were not there, obviously, hehehe, it was in the App.xaml and App.xaml.cs. I decided to embed them into the UserControl's Resources and I was done.

When hosting a WPF control inside a Winforms application, you need to add references to the PresentationCore, PresentationFramework, WindowsBase and WindowsFormsIntegration.
You need to also host your control in an ElementHost.

Here is the code

ElementHost
host = new ElementHost();
host.Dock = DockStyle.Fill;
container.Controls.Add(host);
MyWPFControl myWPFControl = new MyWPFControl();
myWPFControl.InitializeComponent();
host.Child = myWPFControl;

I hope this helps a bit for anyone starting out.
Happy WPF'ing ;)

Posted by pieterg | with no comments
More Posts Next page »