Archive

Archive for the ‘Microsoft’ Category

Unity 3D Thoughts

April 24, 2011 Leave a comment

I’ve spent the last few months working on a project using the Unity 3D engine and have to say that it’s a pretty solid engine. While on any given day, I’d much rather be using the UDK tool kit, I don’t mind using Unity when I need to.

The unity community is very supportive, and the company seems geared towards helping indie game developers out with making their own video games which is a plus. The engine does not have all of the features that UDK does, like a cut-scene editor and point-and-click scripting, but for developers that are used to C# and XNA, I find the Unity is a perfect tool to help keep development costs down. The transition is not that difficult to make.

One of the things I really like with Unity, is the ability to write code, and then run it immediately. I’m not aware of any way to do that with UDK, which I believe requires you to restart the editor each time you want to compile the scripts and have them take affect.

I’m really wanting to get my current project completed, but I’m suffering from lack of 3D math knowledge, which hinders my development speed. That and building some sort of state manager, which is taking some time.

I am going to spend tonight really focusing on fixing some of the issues I have with my project, and getting a working copy uploaded to the teams SVN tonight.

Catching up

April 23, 2011 2 comments

It’s been a few months since I’ve made a blog post, so I thought I’d take some time to update everyone.

Work has been pretty hectic since November of last year. I’ve completed one project (we constructed a brand new highway) and moved onto a new project in February for some highway improvements. The current project is a two year project, accelerated to just 9 months, so there’s a lot of work to do. When I’m not crunching away on spreadsheets and paperwork at the office, I’m helping my wife out with her new 10 week old teacup chihuahua puppy.

I’ve finally been able to catch a break and get a weekend off, so tonight looks like a good night to work on a project. I’ve been working with FatCow Games on a game using the Unity game engine and have not been free to work on it over the last month or so.

I’ll be posting more n that later on, but for now I’ll just keep this post short. One last thing though, I bought an iPad 2! So I’m addicted to it, and use it for everything lol.

Mud Designer plans

November 14, 2010 3 comments

Now that I’ve got a large chunk of my current Windows Phone 7 application wrote, I’m feeling pretty good with how things work regarding it. I’m slowly understanding Silverlight a little more with each day I work on this app and feel pretty confident with it.

I started thinking what would be a good next app and I think I want to go ahead and start work on the mobile telnet client app for the phone. While I work on that, I’ll resume work on the Mud Designer and try getting a world up and running by february.
I think a mobile MMORPG (even if it’s in the form of a MUD) would be a pretty cool achievement for myself. If I can beat other people to it, be nice to be the person to release the first Windows Phone 7 MMORPG.

The Mud Designer engine is pretty far along IMO. The core engine is finished and I just need to start working on the NPC, Combat and Quest systems. NPC and Combat shouldn’t take to long, and I’m pretty sure I can put together a simple to use Quest system to get the engine into a useable state. As time progresses and income comes in (hopefully) I can improve and build on the systems, adding more content and eventually get the GUI created and working.

Windows Phone 7 MMORPG anyone? It sounds good to me.

Proper .NET Script Engine…Finally

October 17, 2010 Leave a comment

Over the last two years, I’ve wrote several itterations of a Managed scripting solution for the .NET Framework, beginning with DotScript, then I built Managed Scripting, a more robust and simplified version of DotScript. It didn’t take off very well and I assume more or less because I didn’t really go around advertising it much.

After the lack of interest in the previous two script engines, I decided that I might receive more interest in the product if I wrote it for the XNA Framework, and so I migrated Managed Scripting into another product called BlitScript which died off due to my lack of knowledge with the XNA Framework and how it uses Components. After spending time messing with various game engine’s and frameworks over the last week, I decided I wanted to get back to the things I enjoy the most, and that’s utilities development. Since I had simi-finished three scripting engine’s in the past and a fully functional one within the Mud Designer project I decided I’d go ahead and focus on a complete script engine solution. More or less to see if I’d do anything differently this time around from my past learning experiences.

I created rScript (temporary name), and had it put together in just a couple hours tonight. The Scripting Engine is more of a Compiler Engine at the moment, with a complete C# Raw Compiler implemented as well as a Interface for allowing custom compilers from 3rd party being wrote and used with it. It works pretty good at the moment and can be used in .NET applications that want to add some extensibility to their software. Assuming you have a .cs file in your applications root directory, you can use the following code to compile the file.

static void Main(string[] args)
{
    rScripting.CompileEngine com = new rScripting.CompileEngine();
            
    com.Compiler = "C#";
    com.Compile();
}

Pretty simple and straight forward, the engine will automatically check for .cs files and compile them. If you want to use a custom file extension or change the path to your script files, you can do so as well.

The engine also supports the creation of custom compilers provided they implement the ICompiler interface. Below shows a application using it.

using System;
using System.CodeDom;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RuntimeExample
{
    public class SampleCompiler : rScripting.ICompiler
    {/// <summary>
        /// The location where the Script files are stored. rScript will compile them within that directory.
        /// </summary>
        public String ScriptRepository { get; set; }

        /// <summary>
        /// The file extension used for the script files.
        /// </summary>
        public String ScriptExtension { get; set; }

        /// <summary>
        /// Provides a collection of Assemblies that the compiler will add to its reference list.
        /// </summary>
        public List<String> AssemblyReferences { get; set; }

        public System.CodeDom.Compiler.CompilerResults Results { get; set; }
        
        public String[] Source { get; set; }

        public Boolean Compile(System.CodeDom.Compiler.CompilerParameters param)
        {
            Source = new string[] {
                "namespace RuntimeExample { public class MyClass {} }"
            };

            Microsoft.CSharp.CSharpCodeProvider code = new Microsoft.CSharp.CSharpCodeProvider();
            Results = code.CompileAssemblyFromSource(param, Source);

            if (Results.Errors.HasErrors)
                return false;
            else
                return true ;
        }
    }
}

While the example implements the CSharpCodeProvider to do the actual compiling, you can write your own compilers and perform the compiling from within your ICompiler class, providing support to your 3rd party users for scripting with your custom compiler.

The example demonstrates hard-coded source code, but your ICompiler implemented class can pull source from either the user during your applications run-time or via source code files.

Next on the agenda, run-time script instancing, method invoking and property access.

Mud Engine + GUI = Mud Designer

September 27, 2010 Leave a comment

Yesterday i put together a quick UI for creating Rooms using the Mud Engine and liked how easy it was to access & use the engine. It’s come a long ways since my last GUI was developed on. I’ll spend today working on implementing a full UI for the designer & see about getting networking up and running within it as well. Shouldn’t take to much to get it done right.

Consoles vs PC’s

September 18, 2010 3 comments

I don’t know about you, but I love my game consoles. I don’t care if it’s my Playstation 3 or my GameCube, I can take refuge in the fact that even though the games I have sitting on my shelves are 6-10 years old, they’ll still work perfectly when I plug them in. Not so true with my PC.

Today I attempted to play Civilizations IV on my laptop that I had purchased several years back. I bought them on Direct2Drive & so when I tried to activate it I was given a nice little error message saying activation failed due to lack of Internet. Yeah. No duh. I just moved & haven’t managed to get Internet up & running. So I tried my CD of Galactic Civilization and found that stupid Windows Explorer would freeze each time auto-run tried to execute. Then I tried Playing my Half-Life 2 but ran into the lack of Internet issue for the Steam client. I gave up & returned to my PS3. It’s sad that even my PS3 can play my 15 year old PS1 games with out any issues but games on Windows suffer with compatibility issues after less than 5 or 6 years along with forcing Internet connectivity to even get certain games (singleplayer mind you) activated for play. This is why console sales are up and PC game sales are down. Go figure.

Delaying the release another week

September 5, 2010 Leave a comment

Yeah, another delay with the release of Alpha 1.4 will prevent my release of it today like I had originally planned. The delay is caused by a set of new scripts I’m currently working on and they’re pretty large and complex so it’s taking me quiet a bit of time to write them and get them fleshed out. When they’re finished, I think it will be time for me to graduate to Alpha 2.0 as I will have a complete real-time editing package implemented.

So what are these scripts I’m working on? They belong to the aforementioned real-time editing package I mentioned. A series of commands have been re-wrote and new ones added to allow for creation of new world objects, editing of world objects, deleting and moving of world objects along with linking of Rooms.

All of these commands will be released as part of the script package, allowing developers to edit the scripts to suit their needs for what ever requirements that their project might have. Additional information on the way these commands will be used will come soon.