I have spent a lot of time debating if I want to go ahead and attempt to create a complete 3D action/adventure game on my own and have finally decided to stop debating and get on with it. The project is just starting the design phase, and has along way to go before anyone will be able to even see some screen shots of the game. I am using the opensource Project Manager OpenProj to create a schedule and start managing the project. I do have a very primitive schedule in place, and it is looking like a three year project, with development of the project ending sometime in March of 2011.
I am not sure what technology I will use for the game, as I own a license to the Torque Engine as stated in my previous post, but I also would like to experiment a little with creating my own engine, or possibly use Visual 3D to design the game. Either way, I do know that I want to have the game in a easily portable state for moving off the PC and onto the xBox 360 if I choose to. I really want to move it to the PS3 as well, but as of right now Sony does not offer any affordable way for indie developers to create games for their console.
For those of you waiting anxiously for the Mud Creator Tool Kit, it will still be developed on. I am not going to stop working on it, and I am still hoping on getting a Beta out soon. Now that I have a good understanding of using OpenProj for creating schedules and managing a project, I am going to create a schedule for the Mud Creator, so I will have some sort of a schedule to keep and follow, and I will have a better idea of release dates for the community when they start getting near.
It's been a little while since I have last posted and so I decided to get a quick update out to everyone.
The Mud Engine Tool Kit is still under development, it was delayed for a little while due to some research that was being performed but rest assured that the Tool Kit is almost ready for its first beta release soon!
Airhead Studios had acquired a license to use the Torque Game Engine about 6 months ago, and have since spent some time playing around with it and getting to know how it works. I know that I want to start developing a game using the Torque Engine, but I have yet to decided how I will tackle that monster. Open source the game? Singleplayer/Multiplayer? FPS or RTS? These are the things that I am playing around with in my mind at the moment. As this will be the first game created using this engine, I am planning on keeping things simple, and I am almost positive I will release the game for free. The only question is, provide the game source (not engine source) to the public, or keep it closed source. That is the question!
Until next blog,
Johnathon
Airhead Gaming
I took a little time today and updated the forums on the site. I removed a few sections that really didn't need to be part of the forums, and I also re-arranged the ordering of the categories, and added a new one for the Mud Creator. The forums main page now looks a little cleaner, and less cluttered. Over the next couple of weeks, the site will be getting a couple other tweaks here and there as I continue to work on it.
I also checked on some stats related to the website, and received a pleasant surprise. The AirheadGaming.com website has had 134,543 hits since I was created back in December. Not to bad considering I have not done any advertising yet.
Regards,
Johnathon
Airhead Gaming
I spent today studying the different approaches available for the networking aspect of the Mud Creator engine, and thought that I should share with those of you that would be programming with the engine (and not using the GUI based Tool Kit) how simple it is to create objects using the engine, and getting access to them once they have been created. So below are a few examples that I have put together for you.
Create a new project
First we will create a couple new private fields in a new Windows Application
ProjectInformation projectInformation;
ObjectManager objectManager;
CommandEngine commandEngine;
and next we will initialize the project, object and player objects inside of the forms constructor
public Form1()
{
InitializeComponent();
projectInformation = new ProjectInformation();
objectManager = new ObjectManager();
}
Now the last thing we need to do, is setup some basic project info within our forms Load event
private void Form1_Load(object sender, EventArgs e)
{
projectInformation.AutoClearConsole = true;
projectInformation.CompanyName = "My Company"
projectInformation.Description = "This is a sample project"
projectInformation.Name = "My Sample Project"
projectInformation.StartupMessage = "Welcome to the sample project."
projectInformation.Version = "Version 1.0"
projectInformation.Website = www.airheadgaming.com
CreateRoom();
}
Now we have some basic info setup for our project, the only thing left to do is create a zone, add a room to it and set that as our starting room for the project. We will do that in the CreateRoom() method, where we create a new instance of a zone and a room, set their properties, add the room to the zone, and finally add the zone to the object manager.
private void createRoom()
{
Zone zone = new Zone();
Room room = new Room();
zone.Name = "Home"
room.Description = "This is your bedroom"
room.EnvironmentType = Zone.ZoneEnvironment.Indoor;
room.Name = "Bedroom"
room.OwningZone = zone.Name;
room.RoomLighting = Zone.ZoneLighting.AlwaysLight;
room.SafeRoom = true;
zone.RoomsInZone.Add(room);
projectInformation.StartRoom = room.Name;
projectInformation.StartZone = zone.Name;
objectManager.AddObject(zone);
}
For the next example, we assume we have two rooms created, a bedroom and a closet. We will create a door to link the door together.
Room bedroom = new Room();
Room closet = new Room();
bedroom.Name = "Bedroom"
closet.Name = "Closet"
bedroom.AddDoor(closet, closet.OwningZone, Room.Direction.West, "To the west is the closet", true);
By setting the last argument to true the room will automatically add a East door to the closet, so that both rooms are connected together. The last thing you would need to do in order to have the MUD playable is add the starting zone and room to the ProjectManager
Zone zone = objectManager.GetObject(ObjectManager.ObjectTypes.Zone, "Home");
Room room = zone.GetRoom("Bedroom");
projectInformation.StartRoom = room.Name;
projectInformation.StartZone = zone.Name;
and lastly lets load all of the commands, the Mud Creator Engine comes with a library of commands called CmdLib.dll that is used by default with the Mud Creator Tool Kit, and the following command will load the .dll into the engine and all you to use the commands.
commandEngine.LoadAllCommands(Application.StartupPath + @"\CmdLib.dll");
There are of course a ton of other features with the rooms, zones, and object manager that can be done, but I just wanted to show you the basics of how easy it will be to get a MUD up and running. At this point you will need to write your own event code within the text box to execute the command enter by calling commandEngine.ExecuteCommand(textbox1.Text);
And that's it! I hope to have a working copy of the engine released soon, and a copy of the Tool Kit should be released at about the same time.
Hopefully this seems easier to use than what other developers have used in the past. Any comments about what you've seen? Post em up!
Johnathon
Airhead Gaming
Work on the Mud Creator has stalled over the last couple of days while I do some serious thinking on how I want to implement a character designer. I am wanting something similar to the room designer, where developers can create a Race, drag and drop classes, abilities, equipment & weapons that the Race can use onto the Race, and view a hierarchy of the Race with all the supported objects. Implementing something along these lines has been a difficult task for me, as I don't want the UI to look to cheesy, and so I need to look into how I want to develop the custom UI components needed in order to make the user interface look nice, and work well with the rest of the tool kit.
I have also done some work on the real-time testing aspect of the tool kit and it is coming along pretty good. At the moment the player must create a new character by selecting their gender, race and class before they can play the game within the testing environment. Once the character has been created they can go ahead and flip between the testing environment and the visual designer and the testing environment stores the testing session in memory so they developer does not need to re-create the character everytime they enter the testing environment.
So until next blog,
Johnathon
Airhead Gaming
I have finally finished the majority of the Visual Designer and and now I have started work on the Real-Time Testing feature of the Tool Kit. It's coming along pretty quick, and I'm expecting to have it ready sometime Mid-June. The designer is still undergoing some testing, but for the most part it's been very stable, and is in a useable state. Objects can be created, doors can be linked and the objects can be added to the rooms, all via a simple drag and drop system. The engine (not the tool kit) supports custom commands and the tool kits real-time testing will allow developers to rapidly prototype games and perform some heavy testing.
As of right now I am writing the player creation code needed for the tool kits testing feature, and then I will be implementing a inventory manager, NPC interaction and a battle system. I don't know if I will have time to implement all of those aspects before Beta 1 is released, but they will be implemented prior to Beta 2. I want to make sure and allow myself enough time to write some good documentation on how to use both the engine and the tool kit.
So with all of that being said, I have also spent the last couple of weeks debating on if I will charge for the engine and tool kit or release them as freeware. At this time the decision is to release the Mud Creator Game Engine for free, and sell both Indie and commercial license for the Mud Creator Tool Kit. The final price has not been decided on yet, but I do know it will not be any more than what a new game would cost if you where to buy it. The source code for both the Mud Creator Engine and the Mud Creator Tool Kit will be available for licensing, it will be an additional cost over that of the Tool Kit, and is not meant for Indie developers as the cost might be fairly expensive. For the most part the Mud Creator Engine is being designed to allow you to extend onto it with without needing the source code.
Currently I have three beta releases planned. Beta 1 will include the Mud Creator Engine and the Mud Creator Tool Kit, without networking support. During this release only single player games will be supported. Beta 2 will include both a Server and a Client for your Mud, along with an internal server/client built into the Tool Kit. The final Beta 3 release will focus on the team management aspects of the Mud Creator Tool Kit, such as allowing all of the team members to connect to the Tool Kits server and create/modify objects within the project in real-time. On top of that there will be a internal Team Chat System built into the Tool Kit so that team members can communicate with each other during the development of the project.
The Mud Creator will require all of your clients to have your projects compiled client installed in order to connect to your server, but they will not have any of the project files, as those will be stored on the server. At this point I am focusing only on the Microsoft Windows side of things, as the Mud Creator was developed using Microsoft's Visual C# 2008 and .NET 3.5, and so at this time it is only able to run on a Windows platform. However, I plan to port the engine over to Linux using Mono, but that will take some time due to Mono not having all of the classes that the .NET framework has. With that being said, all of your clients will also be required to have the .NET Framework 3.5 installed in order to play your game, but that is not that big of a problem and I might write something that will download the framework for the clients if they do not have it installed.
So until the next blog,
Johnathon
Airhead Gaming
So I purchased Civilizations IV along with two of the expansion packs available for it over this past weekend and finally found a game for myself that I can sit and enjoy! It has been a very long time since I have found a game that I can sit and play for hours and hours, and that got me thinking. I would love to add some RTS elements into the Mud Creator engine, such as allowing players to join a military, at which point they could promote through the ranks and command units of soldiers, have additional objects created ect. I have thought about a possible political system so users and AI can run for mayor or something, and then they can have some limited control of the economy of the world. While the price of things will still be hard set via the projects source code or the Mud Creator Tool Kit, the mayor would be able to adjust it by increasing or decreasing the costs of things by a maximum of 25%. It's a thought, while the engine still has a lot of developing to be done on it, and this is something that would probably be added after the engine is released, I thought it would be neat to post about.
In regards to the engine some pretty large progress has been made, the internal testing is going very well and I have received quiet a bit of positive feed back, despite the test copies of the tool kit that was distributed was lacking major features (like clearing linked doors and deleted rooms once created). I spent today focusing on getting the Tool Kit into a useable state, and made some good headway on it. Rooms can now be deleted, linked doors can now be cleared and I have started working on adding objects to rooms. Things are coming along pretty good, and the Tool Kit is almost ready to release in a Beta, hopefully sometime in late June.
One last thing I thought I'd blog about is a possible plug-in feature for the Tool Kit, allowing users to download 3rd party plug-ins (like a magic shop) that can be accessed and used via the Tool Kit. Currently you can use any 3rd Party plug-in that you want if you develop your project using the Mud Creator Engine and a .NET Programming language, but 3rd Party plug-ins are not supported using the Mud Creator Tool Kit, and this is something that I would really like to address sometime soon. my knowledge of loading and acquiring objects from a .dll file is very limited, and while I have learned a lot in regards to it since I have started working on the Mud Creator (The commands engine supports 3rd party .dll files containing custom commands), I still have a lot to learn about doing it.
Until next blog,
Johnathon
Airhead Gaming
It’s been a few days since I’ve posted the news regarding the Mud Creator Engine replacing the TBG Engine, so I thought I would write a blog on the Mud Creator’s progress.
The engine itself has probably 80% of the objects it will need created, however only about 30% of the engine has been coded. The majority of my time has been spent in just getting a tool kit constructed so I can start testing the engine out. The engine is pretty straight forward offering various objects that can be created and linked together to create your game. You can create a new class, race and ability, and all three of those can be applied to the player character to adjust it’s various stats and skills used throughout the game. The actual implementation of the objects has yet to be wrote.
I have spent the last couple of days re-designing the Mud Tool Kit, as the previous design was really straightforward, but limited me to being constrained to a single window size (similar to that of the TBG Engine) and I wanted to give the Tool Kit a unique look and feel, and I have now accomplished that by creating a complete new User Interface design that really stands out and offers developers a Graphical Link to the Engine, so they can create any object they want and add it into their project graphically. Even with this new re-design I still managed to contain everything within a single window, and keep it fairly clean and un-cluttered. The Tool Kit allows users to drag and drop objects from an object library into their rooms. If they want to link a door to another room, they can drag and drop a room ontop of the door, and the link will be done for them!
I think this version of the User Interface might have a little bit of a higher learning curve, but in the end it will provide the developer with the best experience during the creation of their project. So to demonstrate I have included a screen shot of the Tool Kit (Still Under Development), the first image is how the tool kit was originally going to be designed, and the second shot is the new re-design I did this week, and will keep until the project is finished.
Mud Creator Tool Kit Original Design
Mud Creator Tool Kit Re-Design
After spending two years of developing on the TBG Engine I have decided to cancel it and construct a complete new engine for making Text Based Games. There was a lot of thought put into this as I messed with working on the TBG engine over the last three weeks, before I finally decided it would be easier to write a whole new engine rather than make the changes I wanted to the existing engine.
For those of you that might have looked at the source code, the TBG Engine was not programmed very elegantly. The code was a jumbled mess and it made editing it a very difficult thing to do. As I added a new feature or changed something a separate piece of the engine broke. This was mainly due to how I designed the engine. The editing environment was tied into part of the engine and that presented a lot of problems for me.
So thus I introduce to you Mud Creator! Mud Creator was wrote in Microsoft’s C# 2008 and uses .NET 3.5 and is nothing more than a library of code. Users can add the library to a new .NET 3.5 applications and write their own game using the libraries, or they can use the still under-construction Mud Tool Kit which is a GUI based editing environment that uses the Mud Creator Engine. I will go into detail on both the Mud Creator Engine and the Mud Tool Kit in just a minute, but first I want to say thanks to those of you that have used the TBG Engine, and I apologize for dropping support on it. It was a rough choice to make, but it didn’t matter what I did, in order to fix the problems the TBG Engine had, it was going to make existing projects in-compatible with the new version anyway, so I decided to just start from the ground up. While both the Mud Creator and Mud Tool Kit projects development time was expected to be around 6 months, I have managed to get roughly 40% of it done in less than a week. So this is really good news, and I hope to get a version of both the engine and the Tool Kit released soon. I guarantee you that when it’s released it will have more features and be a better solution for you than the TBG Engine was.
Mud Creator:
So let’s get down to the important stuff, what does the Mud Creator Engine do? What features will it have? Let’s start out by saying the Mud Creator is a Text based Game Engine, and that’s it. No editors are included with it. In order to build a game using the engine you will need to construct your own editors by writing them in the programming language of your choice that supports .NET and build your games that way, or hard-code your game with your preferred language. Airhead Gaming will provide a Mud Tool Kit that includes an entire GUI based editing environment you need to build your games but it will be a separate product and it is described below.
The Mud Creator provides better documentation on how to use the engine, what each class does, what each method and property does and how you can extend onto the engine with custom classes.
The biggest feature implemented right now is the ability to add your own custom commands to the engine. You can now simply create a new command class, pass a string to it specifying the name of your method (example: MyProject.MyClass.MyMethod) and assign a command to it (Example: Walk or Look) and the engine will automatically execute your custom method when the user enters the custom command. This adds a whole new level of customizability to the engine and allows you to really make your game your own. You can even replace the included default commands (walk, look, talk ect.) with your own commands.
I had to make a decision this time around as to if the source code would be released with the engine or not, and I have decided to not ship it. The engine will be provided for free, but the source code will no longer be available to modify. With the Airhead Gaming Forums, Engine Documentation and ability to add new commands, there really was no reason to include the source. If someone wants a new feature added they can simply extend on the class they want to modify and create something custom. If they have any questions the Airhead Gaming forums should be able to provide the answers.
Mud Tool Kit:
Next we have the Mud Tool Kit, which is a GUI based editing environment that uses the Mud Creator Engine to build complete Text Based Games. The Tool Kit started out with a similar design that the TBG Engine had, but that quickly got changed into something completely different. The Mud Tool Kit allows you to edit every object in the game, and every aspect of your project from a single window. The tool kit now has a Visual Studio look and feel to it, and it even includes a real-time testing feature in the editing environment so you can make a change to the project and see it reflected in the test window immediately. The Mud Tool Kit loads every object in your project when you load your project file, so you no longer haft to load each object in your game individually when you want to make a change to it. The Tool Kit includes a search feature so you can search for a specific object by name and it will find it for you. This is a nice new feature for the projects that can contain thousands of objects.
While it might take a little getting used to how the Tool Kit works, it is definitely a better solution and will allow you to make your games much faster and efficiently.
- Johnathon
Airhead Gaming