PDA

View Full Version : Mechaius Revisited


Onag
May 7, 2005, 06:01 PM
I've been spending a bit of time learning Managed DirectX, and I'm going to start the Mechaius project back up again using C#. Hopefully this will make it a bit more reasonable as a team project.

Is anyone out there interested in me making the source available? I won't spend the effort if no one will want to see it.

Will anyone help this time? C# (or even Visual Basic .NET) are much easier to use than C++.

Come to think of it, does anyone even remember the Mechaius project?

-Nag

Odin
May 7, 2005, 06:14 PM
I do. I really, REALLY wanted Sketch to come out, but I can live for Mechaius.

Onag
May 7, 2005, 06:26 PM
Well, I suppose Sketch would be an easier game to develop. Maybe...

-Nag

n00b
May 7, 2005, 06:30 PM
Skitch? Wasn't it called Skitch?
If you tell me what Mechaius was about, I could get a freind to help with the programing.
Or I could flip through this sub-forum and find out myself.
EDIT-Meh, I think my programming freind would be a bit more interested if it was 3d and not a platformer(Basing info off of the 'Mechaius(working title)' topic's first post). However I'll still ask him and check around for other programmers who could be interested.

n0
May 7, 2005, 06:57 PM
Yes. I'll be learning C++ in school next semester, and would love to work in C# to confuse my brainnards. Make it open source, and we can use Foxmage as a server. <Yes, I just volenteered Rad's server> I'd love to help.
`N0

Onag
May 7, 2005, 07:00 PM
Skitch was (I think) the first fan game that spawned from this forum. Sketch was among the initially proposed games for my (failed) open source game project. The idea of the game can be summed up with the following quote from the original game treatment:
Sketch is a #2 pencil who longs to be #1. As a #2 pencil, Sketch sits in a room all day and does nothing but take tests. By becoming #1, he’ll be able to fulfill his life-long dream of being an artist. Sketch is a 2D side-scrolling platformer with content aimed at younger children, but the gameplay should appeal to all ages.Along with Sketch, I proposed Mechaius and the infamous "Marshmallow Game".

-Nag

n00b
May 7, 2005, 07:03 PM
Ah. Sketch sounds quite interesting. I think if one could get their hands on a DS dev. kit, then we could convert the idea for a DS game(Think about it, a game about a pencil seems perfect for the touch screen.)

Onag
May 7, 2005, 07:27 PM
Yup. Of course, the DS wasn't around when I came up with the idea, but it would be perfect. The game involves drawing weapons and shields to attack/defend. And of course, erasing baddies.

n00b
May 7, 2005, 07:34 PM
And of course, you can do everything with the DS's touch screen. I'm going to see if I can get a Dev. Kit(somehow or another, since I know a few people with one)
EDIT-Of course this is just going off from what they say, it may not be true at all that they own a DS Dev. Kit, since only certified developers get them I believe(Or maybe that is only for Hudson's dev kit)

Monolith
May 7, 2005, 07:43 PM
Ah, C#.. Recently I've been working with managed C++, and I've used C# before. I don't know how to make it as clean as C++, but I can see some of it's advantages. Sure, I'd still be interested in helping, but while I have Visual C++.net, I don't have a C# compiler or IDE.

Red orc
May 8, 2005, 08:02 AM
Onag, perhaps I could help. If you still want to use C++ I can help out. Also, might I make a suggestion.. perhaps you should use game maker.

-Red orc

Odin
May 8, 2005, 08:24 AM
Most of the games i've seen from Game Maker are so subpar it's not even funny. Just go with C++.

Also, if you want, I could come up with some concept sprite art.

Fawriel
May 8, 2005, 09:10 AM
*ahem*
I can't program, but I'm a decent sprite and pencil artist.

Stijn
May 8, 2005, 09:11 AM
perhaps you should use game maker.

That was hilarious, thank you.

Onag
May 9, 2005, 11:35 PM
I think .NET is the best option for a community project. GameMaker doesn't have the power we need, and C++ is too advanced for most.

Managed DirectX is much easier to use than the traditional APIs, so hopefully we'll be on our way to writing actual game code in no time.

I'll reply later this week with the basic engine architecture and post the current build. We should set up a custom build utility for people who don't have a C# GUI. I'll look into that.

Until then, let's start discussing the storyline, feature ideas, etc.

-Nag

Onag
May 11, 2005, 11:57 AM
I just purchased some shared hosting space, so I'll hopefully have the code up by this weekend.

Let's talk architecture. Games have objects, of course, and those objects have methods (responsibilities) and can also contain other objects.

I started by taking a DirectX tutorial project and refactoring it to work as a game. I created a few objects, moved some of the core rendering responsibilities around, etc. What I need to do now is take a step back and really think about the object heirarchy. What objects need access to/control over other objects? Where should responsibilities lie?

Following is a quick outline of the basic game engine objects we need to design.

Application
Contains the Main() program entry point.
Creates the game object

Game
Creates the form (window) object
Creates the task manager
Contains the main "game loop"

Form
Contains display settings?

Task Manager
Contains all tasks
Calls Run() on each task for every "game loop" iteration
Handles pause/unpause of game

Render Task
Contains a reference to the form object
Draws everything to the form

Input Task
Passes all keyboard/mouse/joystick and scripted input to the input manager object

Input Manager
Converts all input into events to be raised on various game objects

This is obviously a VERY basic list, and it needs to be added to. I want to stick to the core engine components for now, then move on to define the smaller pieces. What am I forgetting that should be considered a core object (high up in the heirarchy)?

-Nag

Onag
May 11, 2005, 12:09 PM
Take a look at the diagram in the following link.

http://www.gamedev.net/reference/programming/features/enginuity2/

Maybe we can borrow this design (or something similar) from the Enginuity game engine.

-Nag

Onag
May 12, 2005, 09:58 PM
If you're in need of a C# compiler/IDE, follow the link below. Microsoft is providing the Beta 2 version of their new Visual C# 2005 Express product as a free download.

http://lab.msdn.microsoft.com/express/vcsharp/default.aspx

Warning: It's somewhere around 30-40Mb, so I hope you have a broadband connection.

I'll make the source available for download this weekend. I'll include Visual Studio .NET 2002 projects, as they can easily be converted to 2005 Express. I'll also post instructions for command line compilation of the source.

-Nag

Onag
May 14, 2005, 04:18 PM
As promissed, the Mechaius website and source code are available. Please read the following disclaimer before viewing the site or downling the source.

<ul>
<li>The site looks terrible. I didn't have time to create the style sheet yet, so don't expect much.</li>
<li>I know the executable crashes when you exit. It's becuase I made a last minute change and now DirectX tries to draw to the window after it is closed. I was too lazy to fix it for this release.</li>
<li>THIS IS NOT A GAME YET. It's not even a game engine yet! Don't expect much...yet.
</ul>

I have included a Mechaius.sln for MS Visual Studio .NET 2002, and Mechaius_express.sln for MS Visual C# 2005 Express Beta 2 (what a long freeking name!). I also included the debug and release executables (in the bin folder).

Okay, enough. <a href="http://www.inocompany.com/games/mechaius">Click</a>.

-Nag

FQuist
May 14, 2005, 05:48 PM
The forum that used to be there used to contain some valuable discussions, mostly on story and game design, I think. Is it going to be brought back? I think until the project gets a momentum of its own and takes off it's the best option to use this forum instead of a seperate, Mechaius-dedicated one, as you already have the JJ2 community here (I think that was one of the reasons original discussion on the mechaius forum died out), but having an archive of it would be good.

Onag
May 14, 2005, 06:29 PM
until the project gets a momentum of its own and takes off it's the best option to use this forum

I couldn't agree more.

Unfortunately, I don't have a backup of the old forum, so that's not an option. Here's what I can remember of the story we were thinking of (or maybe I'm making it up, I'm not sure):

Time travel has been discovered. Everyone knows everything about everything...except the future. It's so easy for Mechaians(?) to live in times where they are certain of what's going to happen that they live in fear of the future. It gets to the point where no one explores past the documented time line.

At some point, some bad guys appear, and much to everyone's surprise, no one knows when they came from. Obviously, they've come from the future, where no one goes, blah blah blah.

The player/hero is also from the future and has to go between times doing things to fix what the bad guys do and ultimately, stop them alltogether. It seems like maybe in order to save the world, he had to do something that would cause him to never have been born, thus he would die.

I'm not sure though.

-Nag