PDA

View Full Version : Mechaius (working title)


Onag
Oct 7, 2003, 03:50 PM
I've started to code the Mechaius game I talked about a while back for that open source project. While I'm not going to build the website just yet, I would be very interested if anyone with some C++ experience would be willing to work with me on it.

Right now, there's nothing more than a Windows/DirectX shell, as I'm trying to flesh out the architecture a bit more before I get too deep into the code.

Here are some random details that may or may not change as time goes on:

<ul>
<li>Side-scroller/platformer genre
<li>2D (tile-based) graphics, but will utilize 3D hardware for special effects such as real-time scaling, rotation, and morphing of levels
<li>Multiple tilesets for a single level
<li>Ability to change background music in a level via scripting
<li>Unlimited tile and sprite/event layers
<li>Scriptable events/AI
<li>Advanced action/control customization (you can define custom actions/moves and assign them to any key sequence)
<li>Upgradable units/weapons
</ul>

I'll post more if anyone is interested. Please reply if you're experienced with design, architecture, or coding.

<b>Note: This is an open source, not-for-profit project.</b>

-Nag

n0
Oct 7, 2003, 04:01 PM
YaYaYaYaY!!!!!!!!!!

I'm more of a VB guy, but will be learning C++ soonly, and would love to help in any way possible.

Oh, and don't ask me to do the website. I stink at HTML.

`N0

Radium
Oct 7, 2003, 04:06 PM
Uh... I could make 3d models and render them as 2d sprites... or I could be your cheerleader!

Strato
Oct 7, 2003, 04:51 PM
I could help with design I guess.

Onag
Oct 7, 2003, 05:05 PM
Radium, rendered 3D models is probably the way we're going to go with it anyway, so that's good.

The characters will be mechs (similar to those in MechWarrior). Just do an images.google.com search for 'mech' if you need inspiration.

Anyway, I wouldn't bother too much with sprites right now, as there's still much work to be done before they can even be used.

Infinite Spaz, design help would be wonderful. I'll post later with the design details I've been working on.

NOBODY, this will be a good project for you to learn C++ on. All source will be publicly available once it is a bit more complete (i.e. clean =).

-Nag

Radium
Oct 7, 2003, 05:09 PM
Meh. How about no "rip off mechs". We could take the same idea, but a different approach. Something that won't make people go "he looks familiar".

And you need someone to do concept sketches. No, not me.

Strato
Oct 7, 2003, 05:14 PM
Are we going to need a stat system?

Onag
Oct 7, 2003, 07:57 PM
By stat system I assume you mean a huge database to track online game stats? Yes, we'll need that. Ideally, it will use SOAP or something to allow other sites to access the info via scripting. This should make things like JDC and clan stuff much easier to set up.

Graphics really aren't my concern right now, but yes, we'll be taking the concept in a slightly new direction.

Okay, here's an old game treatment I wrote. For those who don't know, a treatment is basically an optimistic view of the general game concept. Many features will change as the project goes along, but the general idea should be persistant. Anyway, here it is.

<hr>
<b>Abstract</b>
Mechaius is a side-scrolling platformer set on planet Mechaius in the same galaxy of the Jazz Jackrabbit series. It will focus greatly on storyline and character development, while still providing great gameplay and fast-paced action. The game is meant to cater to Jazz Jackrabbit fans, incorporating many of the non-copyrighted ideas. Mechaius should appeal to all ages.

<b>Background</b>
Organic brains housed in mechanical suits. Probably more details needed.

<b>Gameplay</b>
Players will control a constantly changing team of machines throughout the game. Each machine will have unique abilities and weapons, and each can be upgraded in various ways. Levels will be very large maps, full of power-ups and opponents. Players will choose the path the game takes, as their actions in one level will affect the storyline and even the details of future levels.

<b>Characters</b>
Every character, whether good or bad, can be controlled either by a player or by AI scripts. This will make for much more interesting multiplayer games, and greater flexibility in custom levels than is available when only a few characters are playable. Each character will have a detailed background history as well as predefined personality traits. In addition to the dozens of included characters, players will be able to define their own using one of several included machine models. Players will be able to define attacks, weapons, and other information about each new character.

<b>Enemies</b>
Both baddies and bosses will be controlled by scripted AI. Enemies will be highly intelligent, making decisions based on their current position, condition, and situation. They will also be able to navigate levels more affectively, allowing them to chase after players or take cover when in trouble.

<b>Environment</b>
Mechaius is a large planet, allowing a broad range of rich environments. While most tilesets will depict buildings and the industrial side of Mechaius, it will also include several outdoor settings.

<b>Internet Play</b>
There will be three types of internet servers: public, private, and closed. Public servers will allow any player to join at any time. A private server prevents uninvited players from joining. A closed server is one where all players join prior to the start of the game. Once all players have joined and settings have been selected, the host begins the game and no new players may join.

<b>Bots</b>
Multiplayer games will support scripted bots. The AI will follow general predefined behaviors coupled with scripted strategies to simulate formidable opponents. Bots will learn as they play, making them even more affective against human players. For example, the first time a bot plays a specific level, it will not know where any power-ups are located. As it plays the level, it will remember what areas to avoid and where goodies are located. Players will also be able to define common routes through levels that bots can use.

<b>Level Editor</b>
Players will be able to create their own levels with the included editor. Virtually every aspect of the game will be customizable via scripting. The editor will include features for creating any type of level as well as palettes, tilesets, music libraries, ambient sounds, custom events, etc.

<hr>
And for more fun, this should give you an idea of how the engine is organized and what classes do what. Feedback is welcome.

<code>DXEngine</code> - Handles all dirty DirectX code. Initialization, cleanup, etc.

<code>TileEngine</code> - Derrives from <code>DXEngine</code>. Handles sprites, tiles, and the drawing of every frame and some other engine-related stuff.

<code>Tileset</code> - Represents a tileset. Probably represented as a Direct3D surface?

<code>Tile</code> - Represents a single tile from a tileset. Probably represented as a Direct3D texture?

<code>Layer</code> - Represents a plane on which tiles and sprites can reside. Maybe seperate tile layers and sprite layers?

<code>Sprite</code> - Represents a non-tile graphic. Typically owned by an object.

<code>Object</code> - Base class that nearly everything else derrives from. Characters, weapons, items, powerups, etc.

<hr>

And here are some interfaces.

<code>IDrawable</code> - Inherrited by any object that owns one or more sprites (anything that you can see).

<code>IHasMass</code> - Inherrited by any object that is affected by gravity, wind, etc.

<code>IScriptable</code> - Inherrited by any object that can have a script attached to it.

<hr>

-Nag

Strato
Oct 7, 2003, 08:05 PM
It needs a plot. Badly. Most Mech games have a destroied plant theme or an arena theme. How about something much better? You say it's for all ages, so that may be a tad restircting on the plot. I have a few unused ideas for a plot, but I'll prolly just make one up. But I need information as to who this game will appeal to and what level of complexity, violence, romance etc. should be included.

Onag
Oct 7, 2003, 08:40 PM
No romance, the brains are all genetically engineered, so there are no family structures.

Everything is mechanical, so violence isn't really an issue.

I'm thinking 10-12 and up for a target market.

The tentative idea was that the planet is very old and the inhabitants were very advanced, but constantly warring with each other. As they advanced in technology, they began creating mechanical implants and body suits to make better soldiers. Eventually, their entire bodies were mechanical and only their brains/concious/whatever was organic. With a non-organic body, they reached immortality, and boom. Distinct leaders rose up and started the different clans/factions that will be depicted in the game.

Most mechs are pawns, engineered to fight the leaders' battles. Those that show promise are promoted in rank and are 'used' for more delicate missions. These will be the playable mechs.

As you play the game, you will gain allies and build a small team of mechs, all of which play on each level. You will only be able to control one mech (the leader), but the others will be controlled by intelligent scripts (bots) and will follow orders. The other team members may betray you, abandon you, or whatever else they feel like, depending on the situation.

I've focused more on the gameplay than the story, because that's what I do. Feel free to play around with it or trash it and start over.

-Nag

Strato
Oct 7, 2003, 09:17 PM
I see. I wasn't planning on any romance what so ever. After all it is a 2-d action game. I just listed it as an example. I'll sleep on the idea and come up with something during the week.

n0
Oct 7, 2003, 09:58 PM
I think there should also be a group of "Old school" mechs, who are not completely organic, but more like cyborgs. That would add a little more variety to the game. Oh, and I think there could be a few different tileset types, as in a city, (Almost everything metal) a cyborg city, (Plants that are part metal, fruit with metal brains, etc) and an organic city (Almost everything organic).

Oh, and this should most certainly help my C++ skills.

`N0

Monolith
Oct 7, 2003, 10:42 PM
Although I've got pleanty of my own code I need to be working on, I could probably help with the archetecture. By naming those interface classes it looks like you're planning on using some kind of COM archetecture. In the games that I've worked on, we've always just used a well structured object hierarchy, so I might need to read up a bit on COM, or see how you're coding things together.

I don't suppose you have any more detail documents than what you have posted here. I can imagine how things could work starting from how JJ2 works, but I'd rather not assume anything. You really need to specify where exactly the 3D functionality will be used. Just putting a bunch images on quads and using them like sprites isn't necessarily the best way to use the system. Also, be aware if you want to start animating these sprites using the traditional multiple images as frames, that can take up a lot of memory. You don't want to be half way into the project and realize that all your animations take up over a gig of video memory. (This actually happened in one of our projects. Thankfully it was already in 2D.)

So if you could fill me in on details and ask what you want from me, I'll be glad to help whenever I have the time. :)

defalcon
Oct 7, 2003, 11:11 PM
I can design arty stuffs...perhaps. And I'm extremely good at coming up with ideas for these violent, sci-fi things.

Fawriel
Oct 8, 2003, 10:30 AM
I'm your man if you need concept sketches of characters, enemies or anything like that.
My fantasy is bursting from ideas.

Just tell me what to sketch, and it's done.
It's just that I'm rather busy lately.. well, very busy even. But there's always time for sketching.

Onag
Oct 8, 2003, 11:48 AM
For the record, I have no experience with Direct3D, so if these ideas don't sound like they would work well, let me know. =)

Here is how I'm planning on representing different things in D3D terms.

Front Buffer - <code>ID3DSurface9</code>
Back Buffer(s) - <code>ID3DSurface9</code>(s)
Tiles - MipMapped <code>ID3DTexture9</code>s (64x64, 32x32, and 16x16)
Sprites - <code>ID3DTexture9</code>s
Layers - Arrays of pointers to tiles (textures)

I'm thinking maybe load an entire tileset into an <code>ID3DSurface9</code> and generate a series of release the surface once the <code>ID3DTexture9</code>s have been created. I'm not sure how efficient this is. Monolith, I'd appreciate your thoughts on how Direct3D should be used, as it seems like you've had some experience.

A kind of 'quad-map' would be used to write tiles (textures) to the back buffer. While the quad-map would generally contain all square quads, it would occasionally morph (under water, around large explosions, etc.) to make for easy warping of scenery. I hope that made sense.

I'm not planning on using COM architecture, just interfaces. For those that aren't sure, here's how interfaces work using seudo-C++.

<pre>
/*
* Base item class
* i.e. defines basic properties and methods of all items
*/
class ItemBase
{
float weight;
string name;
virtual void Use() = 0;
};


/*
* Inherrited by all container objects
* i.e. objects that can hold other objects
*/
class IContainer
{
virtual Item GetNextItem() = 0;
virtual void AddItem(Item) = 0;
};


/*
* Sample item that implements the container interface
* i.e. inherrits from IContainer
*/
class BackPack : public ItemBase, public IContainer
{
// From ItemBase class
void Use() { ... };

// From IContainer interface
Item GetNextItem() { ... };
void AddItem(Item i) { ... };
};
</pre>

The idea is, an interface doesn't actually contain any code on 'how' an object should perform a specific task. It mearly defines what tasks an object must perform. If you're unfamiliar with the 'virtual' or '= 0' bit I've added to the functions, that's just the way to define a function that 'must' be overridden in all derrived classes.

The benefit of using interfaces instead of full-blown base classes is that your derrived objects can be much more specialized in how they perform tasks. More examples:

An <code>IDrawable</code> interface might declare (but not define) functions for coloring, transforming, and rendering.

An <code>ICharacter</code> interface might declare (but not define) functions for walking, jumping, and dying.

An <code>IHasMass</code> interface might declare (but not define) functions for applying forces such as gravity, wind, friction, or magnetism.

Fawriel
Oct 8, 2003, 11:53 AM
Shall I suggest a plot?

Tik
Oct 8, 2003, 12:58 PM
The only way I would be able to contribute currently would be web site design (just formats and graphics, none of the special php or anything). If that is needed and I suffice, just tell and I'm there.

acid
Oct 8, 2003, 02:35 PM
Wow. This sounds really cool.

As for helping out, I have nil experiance with C++, but I can help out with tilesets. (I'm currently working on a factory-ish tileset, and I can send it to you if you're interested in seeing the quality of my tilesets.) I might also be able to make a few low-quality 2D sprites for the game, if you want.

Onag
Oct 8, 2003, 02:44 PM
Shall I suggest a plot?

No keep your suggestions to yourself, please.

Ahhahaha...

Yes. Please share.

Strato
Oct 8, 2003, 03:33 PM
Pmed the plot I had in mind, and now I'll go do concept sketches...maybe...

Monolith
Oct 8, 2003, 10:39 PM
I'll have to look into the D3D stuff since I haven't actually been the one to do that part of the code. One thing I do remember right now is that the optimal texture size is 256x256, so probably what you want to do is put multiple tiles on a texture of this size, and then just set uv coordinates on the quads to show a single tile. Same idea should go for sprites as well.

Hmm.. let me think a little bit on how big all of this might be. A 256x256x32bbp texture takes 256 KB of vram. Let's assume we want to make everything be able to fit on a 32 MB video card. Since we don't really have all that many vertices to worry about, we can say that there's about 25 MB available for textures. (The front and back buffers at 800 x 600 would take 3-4 MB.) This leaves us with room for 100 of those texture blocks. I'm not sure how big you're thinking of making the tiles or tilesets, but for this I'll say we want 4096 32x32 tiles. We can fit 64 tiles onto a texture block, so this would take up 64 texture blocks. This leaves us with 36 texture blocks for sprites, hud graphics, particles, and whatever else needs to be on the screen. I sort of doubt that that's enough room left for sprites and their animations.

I donno, that's just some initial thinking.

I don't really see any need to make code empty interface classes since you can always overload inherited virtual functions. Sometimes it's nice to have a default behavior anyway. I see no problems in doing it this way either, so whatever you prefer. The thing I am a little concerned about is the multiple inheritance. This has been I've been told not to do many times, however I'm not exactly sure why..

Onag
Oct 8, 2003, 11:40 PM
Multiple inheritance is generally a bad thing, yes. Interfaces are the exception (according to Andre LaMothe). In fact, one of the main benefits of using interfaces is that you can have multiple inheritance without much trouble, which allows for cleaner class heirarchies. For example:

Below is a generic class heirarchy.

Object
&nbsp;&nbsp;&nbsp;Character
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enemy
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Player
&nbsp;&nbsp;&nbsp;Item
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shield
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Weapon
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ammo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Health

Problem: Some items can be held in an inventory, others are simply collected.

Solution: Make a seperate class for inventory items

Object
&nbsp;&nbsp;&nbsp;Character
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enemy
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Player
&nbsp;&nbsp;&nbsp;NormalItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shield
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Food
&nbsp;&nbsp;&nbsp;InventoryItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Weapon
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ammo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gem

Problem: Some inventory items can be used at will, others are just there to collect or are automatically used when needed

Solution: Make a seperate class for usable inventory items

Object
&nbsp;&nbsp;&nbsp;Character
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enemy
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Player
&nbsp;&nbsp;&nbsp;NormalItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shield
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Food
&nbsp;&nbsp;&nbsp;InventoryItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Weapon
&nbsp;&nbsp;&nbsp;UsableInventoryItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ammo
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gem

This leaves us with an increasingly complex structure. Eventually, you're going to have an item that belongs in more than one group (needs methods or data from more than one base class).

Here's the same heirarchy using interfaces.

IInventoryItem
IUsableItem

Object
&nbsp;&nbsp;&nbsp;Character
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enemy
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Player
&nbsp;&nbsp;&nbsp;Item
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Shield : IUsableItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Food
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Weapon : IUsableItem, IInventoryItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ammo : IInventoryItem
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gem

Maybe not the best example. I'll try to use something from my actual code (when I get that far).

Fawriel
Oct 9, 2003, 10:21 AM
No keep your suggestions to yourself, please.

Ahhahaha...

Yes. Please share.
Eh...heheh... *cough*

Well...

The planet of Mechaius used to be a totally normal, though alive planet (this "alive planet" thing should sound familiar to FF fans. )
That was the situation until a virus destroyed its inner core, practically its heart.
There were already humans (or whatever. Just intelligent creatures. ) already inhabited the planet, and they used technology in order to keep the planet "working".
As their technology kept getting more and more advanced, they began to turn themselves into cyborgs, to gain immortality, as Onag already said.
This continued to a point at that a part of the population only consisted of the most important part of their brains inside heavy metal suits.
These began acting like the Borgs, warring those who still had parts of their own bodies to gain power over the planet.

This could also be caused by the virus.. that could give an extra quest, or several even.

Strato
Oct 9, 2003, 02:31 PM
My plots better. Nyahnyah.

Radium
Oct 9, 2003, 02:35 PM
Silly Faw, this is a <i>Gundam</i> rip off, not a Final Fantasy rip off! Theoretically the best plot would be written by someone who never watches movies or TV and never plays video games. We get the most originality that way. Heck, maybe I'll try to write a plot too...

Strato
Oct 9, 2003, 02:44 PM
Gl Hf Dd Ka

acid
Oct 9, 2003, 03:51 PM
And once again, everybody ignores me. ¬_¬

Radium
Oct 9, 2003, 03:53 PM
My plot idea:

<i>It is not the past, present or future. Nor does it matter, after the discovery of time travel. Unfortunately, time travel is available to all of mechkind. Dislike your enemies? Destroy whoever created them. Abuse of the grandfather paradox is common. The only authority in existance is the Protectors, a collective mind with the soul purpouse of keeping the planet Mechaius, home and source of all mechs, in existence.
As space and time crumble, a new robot appears. Nobody knows where, when, or who he came from, even himself. His alliances are badly chosen at the start, though he secretly seeks the answers to his past. As the truth is learned, his purpouse becomes apparent: There is only one way order can be returned to this crumbling universe. One way this shattered continuum can be repaired. Mechaius must be destroyed.</i>

Essentially, you'd play as a mech who starts with a rather blank personality. You'd start out sided with the Protectors (creative name, no?) for lack of knowing anything else to do, but slowly notice the importance in restoring order to the space-time continuum. Your goal would be to destroy Mechaius in it's early stages, which would solve the problem but "delete" yourself from history in the process. Can you say "multiple endings"?

Onag
Oct 9, 2003, 06:52 PM
My plot idea: ...

I think we have a winner.

-Nag

Strato
Oct 9, 2003, 08:23 PM
Wow, Rad came up with an adventure game's plot, Faw came up with an Rpg, and I came up with a RTS plot. Strange. Well, seeing as how everyone is posting their plots for all to see...

You are working under a protectorate. You are developing fast and growing strong and expanding well. One day you come under attack by some efil force, and you turn towards your protectorate for help. You see them eradicate their forces, and you rebuild your empire. Eventually, you strike back at the force that originally attacked you. You spend a while decking them, and you get attacked from once allied forces of your protectorate.

I guess it could be mostly linear up to this point but branchy off when you get to chose your allies, or it could use the predetermined plot I sent to Onag. *mumbles*I liked that plot*mubles*

KRSplat
Oct 9, 2003, 08:44 PM
After reading this thread, the general idea of this game that I have gotten is an action Pokemon game with a sci-fi plot and robot pokemon with online play and a level editor. Disagree with me, please.

Tik
Oct 9, 2003, 09:05 PM
After reading this thread, the general idea of this game that I have gotten is an action Pokemon game with a sci-fi plot and robot pokemon with online play and a level editor. Disagree with me, please.I disagree with you, please.

Personally, I think Radium's idea is the best. Plus, going in past would allow for some really interesting environments, and you'd get to see the whole planet change. The problem is that you'd have future technologies in the past, so you'd think they would be able to achieve destruction quite easily just after going in back a while. I think.

Stijn
Oct 9, 2003, 11:49 PM
You could do that by giving "powers" via pickups, and they would simply not exist in the past, or not work there, or whatever. You should watch out though, it might become like in JJ2: once you got 99 seekers you are practically invincible. I'm not sure how to implent pickups ins omething else than a platform game, though :D

Radium
Oct 10, 2003, 03:43 AM
The problem is that you'd have future technologies in the past, so you'd think they would be able to achieve destruction quite easily just after going in back a while. I think.
Keep in mind that Protectors from every point in the future are coming back in time to stop you.

Yay, I had a good idea!

Fawriel
Oct 10, 2003, 09:29 AM
*mutters curses*

Onag
Oct 10, 2003, 09:44 AM
Yay, I had a good idea!

I'm really liking this. Instead of a linear set of levels, we could have a predefined set of "areas". These areas would be locations on Mechaius (and maybe a few on other planets?) of specific importance. Each area would have pre-defined important times that you could visit at any time.

It would be kind of like MegaMan's level selection, in that you could choose which area you want to go to at any time. But, you would have the additional time aspect, plus you'd be able to (in fact, have to) return to some areas/times several times throughout the game.

Everything you do would affect things in different areas/times.

On a side note, I also like the idea of the planet being mechanical to an extent. It would make sense that people who have mechanized themselves would also mechanize their environment to a degree.

I ALSO like the idea of having to go against your old allies in the end. I think you should innitialy side with the protectors (or whoever), who secretly know the source of all of the problems is Mechaius. Anyway, when they realized you're finding out too much, they turn on you.

Okay, too much to think about when I'm supposed to be working. More later.

-Nag

Fawriel
Oct 10, 2003, 10:07 AM
Yeah, why don't we just combine the three stories?

Radium
Oct 10, 2003, 12:15 PM
Yeah, why don't we just combine the three stories?What aspects do you suggest we combine?

Fawriel
Oct 10, 2003, 12:23 PM
The best. Which don't contradict each other.

Radium
Oct 10, 2003, 12:35 PM
I ALSO like the idea of having to go against your old allies in the end. I think you should innitialy side with the protectors (or whoever), who secretly know the source of all of the problems is Mechaius. Anyway, when they realized you're finding out too much, they turn on you.
Hmm... I was considering the Protectors more "borg", like Faw said. A collective mind with one specific goal: to protect Mechaius and it's history at all costs. For the most part they'd be considered unstoppable, since if they're losing a battle they can just call "perfect" mechs from the future to help (I'm picturing future mechs a lot like the cybernetic aliens at the end of the movie "AI"). However, their main weapon would be destroying someone before they were made, and the main character is immune to that since nobody knows where he came from.

Then there's also the fact that if he destroys Mechaius, he'll be erased from history. Maybe there could even be an alternate (and extremely difficult) ending where you take on a stronger, fortified Mechaius in the distant future, just to keep yourself alive...

Strato
Oct 10, 2003, 02:06 PM
Page claim

I'll try and expand on the said ideas and come up with an actual intro and stuff. From this point on, I suggest we keep plot discussion in PM as to not spoil it for others.

Fawriel
Oct 10, 2003, 02:11 PM
Pm to WHOM?

Strato
Oct 10, 2003, 02:16 PM
Onag, other people who are working on the project, anyone that decides to pester you. What, it was only a suggestion.

n0
Oct 10, 2003, 03:02 PM
I searched on google for free message boards, and clicked on the first link that showed up.

So, we now have a temporary mechaius message board.

<a href = http://b4.boards2go.com/boards/board.cgi?user=N0B0DY>Linkageness</a>

Radium
Oct 10, 2003, 03:06 PM
<a href = http://b4.boards2go.com/boards/board.cgi?user=N0B0DY>Linkageness</a>
Eh. I never really liked that kind. Why don't we nicely ask the JCF admins for a private Mechaius forum only the members of the project can access? It <i>is</i> a community project, so it makes sense it should be located at the community.

acid
Oct 10, 2003, 04:12 PM
Is this game going to be top-down, or side view?

Strato
Oct 10, 2003, 04:15 PM
Side scoller

Onag
Oct 10, 2003, 06:35 PM
Yes, a forum here (like Possum) would probably be best for now. If they're super generous, they'd give us a public and private forum.

Eventually, we'll need to have a seperate site complete with forum.

Who is the nicest admin around here?

-Nag

Strato
Oct 10, 2003, 06:40 PM
If we have a private forum, who do you consider would be on the "team" and be able to browse it?

Radium
Oct 10, 2003, 06:40 PM
Who is the nicest admin around here?
I'd have to say Captain Spam or the Tea of Wisdom.

Onag
Oct 11, 2003, 04:18 PM
Probably everyone who is actively giving useful input in this thread would be given access to the private forum at first.

-Nag

Radium
Oct 11, 2003, 04:28 PM
We're getting ahead of ourselves. We have admins to beg.

KRSplat
Oct 11, 2003, 05:20 PM
Nagging is the best way not to get what you want.

Fawriel
Oct 11, 2003, 05:31 PM
<s>I won't eat anything until we get an own forum!</s>

Strato
Oct 11, 2003, 05:45 PM
Yay for passive agression.

defalcon
Oct 11, 2003, 05:54 PM
Who is the nicest admin around here?
Why, ALL the admins here are super nice. /suckup :p


Hm. Maybe ask Disguise, Spam or Shadow?

Radium
Oct 11, 2003, 05:56 PM
... anyone asked yet? We <i>know</i> nobody reads the future of Jazz forum.

KRSplat
Oct 11, 2003, 06:51 PM
Why is this in The Future of Jazz, anyway?

Strato
Oct 11, 2003, 07:00 PM
Future of jazz is a slow forum in which nobody goes to. Better than Misc for game discussion.

Newspaz
Oct 12, 2003, 01:27 AM
I saw monolith talking about 4096 32x32 tiles. I strongly disagree. If we start drawing like that we'll get the same effect JJ2 has. People disliked the game more because the character was too small, the area of view too big. And so, the game got less difficult.

If you start looking at another game of Jazz's age. "Captain Claw", the area of view was smaller, which made the game harder, and more fun to play! This is why I say 64x64 tiles or maybe even better 96x96 tiles (if you'd go for a 1024x768 resolution) all the way!

Radium
Oct 12, 2003, 07:24 AM
This is a lot to ask, but I think the graphics should be made for very large resolutions and anti-aliased down to sizes like 1024x768. It could potentially slow the game quite a bit, but if not the game wouldn't look blocky and cheap for years.

Fawriel
Oct 12, 2003, 09:36 AM
Blocky doesn't have to be something bad.
There's something JJ1 had I always missed while playing JJ2...
Maybe we should find something inbetween.

KRSplat
Oct 12, 2003, 12:37 PM
Newspaz: If the tile sizes are too big, it makes it harder to work with tilesets and to design them. I think it would be better to make the resolution smaller. I agree, though, that JJ2 shows too much on the screen.

acid
Oct 12, 2003, 01:23 PM
Does anyone know Onag's email address? I need to know that before I can give him the sample tileset.

Monolith
Oct 12, 2003, 07:45 PM
Newspaz, I was working with those numbers as an example to figure out how much memory will be taken up by the tileset. If you want bigger tiles and sprites, then that can become even more of a problem.

Onag
Oct 14, 2003, 10:30 AM
Onag Email: <a href="mailto:bgano@inocompany.com">bgano@inocompany.com</a>

I don't have a problem with revealing more on the screen. The problem lies in the level design. JJ2 levels were designed more for a 320x240 game. If the levels are designed with the resolution in mind, there shouldn't be a problem.

I'd still like to play around with 64x64 tiles, though. It would be nice to use larger tiles for forground and be able to scale them down for background. We'll play around with different things when the time comes and decide the best resolution. For now, let's assume we're going to use the standard 32x32 tiles.

Memory shouldn't be too much of an issue. There will be no need to make huge tilesets (4096 tiles), because you will be allowed to use more than one tileset for a single level. That way, you won't have to cram every possible tile type into a single tileset (whether used or not). Tilesets can be much more specialized, and included only when needed.

Also, tile flipping/rotation/alpha will be allowed, which will further decrease tileset sizes.

I'm also considering vector maskes instead of bitmap. This would allow for more realistic physics and smoother motion. It would also significantly decrease the memory required to store mask information. I can explain more about the vector mask idea if anyone is interested.

Again, we're just going to have to wait and see what works in practice. The standard hardware will likely change quite a bit between now and the release date anyway.

-Nag

Onag
Oct 14, 2003, 10:36 AM
How about this:

The game would support something called a sprite pack. This is a custom set of sprites that could be distributed as a seperate file (we would provide an editor). Each world can include whatever sprite packs it wants, and use those sprites for objects in its levels.

For example, with JJ2, there are several polls, platforms, and signs included as sprites (via events) in the game, but they don't work for all tilesets. With Mechaius, level designers would be able to create their own sprites and include them into their levels. The benefit of using sprites over tiles would be the ability to treat them as objects, applying physics, collecting, using, etc.

-Nag

Fawriel
Oct 14, 2003, 10:47 AM
Oh yes, I'm absolutely for that suggestion!
Making own events could make this level program better than the JCS.

Strato
Oct 14, 2003, 03:24 PM
I'm for it.

acid
Oct 14, 2003, 07:59 PM
The "sprite packs" sound like a great idea - I'm all for it!

Sent the tileset, by the way.

Monolith
Oct 14, 2003, 08:26 PM
Ok, I can see how we can get away with needing fewer tiles. And yea, better video cards will become more standard within the timeframe of this project. Just trying to make sure the graphics don't go too crazy. ;)

By vector masks, are you referring to those as being the collision data? Using polygons for collision sounds like a good idea for this game, although (like just about any other collision methods) it won't be easy. Do you want objects to rotate if they collide unevenly, such as a box on a slope? Do you also want stuff to slide or even roll down slopes? I think these things should be reasonable things to happen, but I'm just checking to see if they fit with your plan.

Onag
Oct 14, 2003, 11:49 PM
Yes, with vector masks as the collision data, a round object would roll down a hill, but an odd-shaped object would kind of bounce its way down.

Anyway, Monolith, your earlier post was welcome. That's what got me thinking of ways to reduce the required memory, which led to multiple tilesets/sprite packs.

-Nag

Alister
Oct 15, 2003, 08:19 AM
Wow. Great minds think alike. My own platform game engine supports large tilesets, multiple tilesets, sprite packs (not yet loadable, but the framework is there). I was also considering vector masks (assuming you mean what I think you mean), but only for the events, not the tiles.

If you're doing your drawing with a 3D accelerator, it doesn't matter what the dimensions of the tiles are. The graphics card will scale everything as needed. It can be left up to the level designer to decide how big the tiles should appear on screen.

As I said before, I'd love to get involved. Back then I was in my final year of school, but now I'm in my first year of Uni and have all the time in the world ;)

Tik
Oct 15, 2003, 10:18 AM
This is sounding great. I will attempt to do my own part in getting a forum, if possible. I'm sure admins would be apprehensive - look at Possum.

Perhaps Toxic Bunny's engine could be used and/or improved upon? It would probably reduce a ton of the overall work. For myself, I am interested in level design and web site design...but clearly this has not gotten that far. As for combining parts of the story, I don't see a real need to...Radium's sounds the best, and it can change gradually over time. That's my two cents. Yay.

Radium
Oct 15, 2003, 03:22 PM
Making a public Mechaius forum would be as simple as renaming Possum Forest.

EvilMike
Oct 15, 2003, 10:35 PM
When you start to need level designers in the future, remember me. Game level design is something I consider to be my strong point. Other than that I can also give a lot of advice in terms of gameplay balancing and all that.

Strato
Oct 15, 2003, 10:39 PM
I'm going off to randomly make background music. Yay.

Stijn
Oct 16, 2003, 12:56 AM
About leveldesign, I might be able to help too, since I made a lot of progression in hte past months. That's very far away tho I think.

Will you use events? They are easy to use, but it would be interesting to have two events in the same spots. I often needed to do this with JJ2 and it isn't possible, bah.

Xeno
Oct 16, 2003, 09:38 AM
If you still wish to lower the amount of memory used, you could also do hakpacks similar to what Neverwinter Nights did for custom data. That way, things such as custom music, sprites, scripts, etc. could be read from the single file. That would also make it easier to distribute said packs.

n0
Oct 16, 2003, 12:34 PM
My page.

Could somone please start an official website so we can start working on this?

`N0

acid
Oct 16, 2003, 05:44 PM
Onag, I haven't recieved any feedback from you regarding the tileset. You did recieve it, right?

Monolith
Oct 16, 2003, 09:44 PM
I talked with CaptainSpam today about getting a forum here for Mechaius, and he said he'd put it up for the other admins to consider.

Alister
Oct 17, 2003, 12:56 PM
Back then I was in my final year of school, but now I'm in my first year of Uni and have all the time in the world ;)

There seems to be a bit of a gloomy view of Uni in the Overlord leaving thread. So to be clear, I wasn't being sarcastic. I DO have a load of time.
Well, more than I did before. The work's really easy, like "an int is a 32-bit integer", "V=IR", and "|x| = |-x|". In fact, it was just plain <i>insulting</i> when one lecturer said "10/4 = 2 remainder 2".

Anyway. About the engine. I don't really want to open source it because the net play code would get out (once I actually wrote it, of course). I also wanted to make money out of it, though there's a bit of wishful thinking at work here.
It's also in C, and so a bit more messy than a C++ equivalent would be. Another thing is that it uses OpenGL, and I understood you wanted to use DirectX. This actually isn't a problem because it will eventually support several graphics libraries.

Still, if you're willing to abandon "open source" and go for "Alister-only source", then I'm willing.

Edit: The engine is heavily reliant on plug-ins for events, playable characters, and the game menu. So that at least would be open-source.

I'm also willing to open-source the editors, but they're pretty crude (in terms of both code and functionality). Probably best if they were rewritten.

FQuist
Oct 18, 2003, 07:37 PM
Btw, maybe as a temporary website structure a weblog could be used? Very easy to set up, hosting is <a href="http://www.blogspot.com">free</a>. Quite handy, I'd think.

EDIT

When you start to need level designers in the future, remember me. Game level design is something I consider to be my strong point. Other than that I can also give a lot of advice in terms of gameplay balancing and all that.
Imo Evilmike is indeed a very good level designer and should be considered. ;p

Onag, there's a private message in your PM box about the forum.

Monolith
Oct 19, 2003, 11:53 AM
Ok, so here seems to be the list of things that currently can/need to be worked on:

<b>Game Design</b>

Story/World
Gameplay
Units/Powerups/Enemies
Level Design
Concept Art


<b>Technical Design</b>

Overall Program Layout and Flow
Main Class Hierarchies
Core Components
Coding Standards


The technical stuff should probably be designed out before anybody gets into coding.

It would be useful if we could get these main design documents publicly avaliable somewhere, and come up with a system for contributing stuff to them. It would probably be best to have certain people in charge of actually writing these documents. We don't want too many people writing to them at the same time, otherwise conflicts will occour, and distributing it to a few people makes it less of a burden than if one person had to write it all.

Fawriel
Oct 19, 2003, 12:03 PM
How many people will be needed for each subject?

And how will they be chosen?

Strato
Oct 19, 2003, 12:08 PM
Don't we need sound people?

Radium
Oct 19, 2003, 03:38 PM
Don't we need sound people?
Have you ever crushed a whole can of pringles, from the top down? Yeah, well don't do it, they taste better whole.

Monolith
Oct 19, 2003, 06:11 PM
That was just a list of stuff that could be worked on at this stage. We don't know what we need sounds for yet, although somebody could probably work on music if they want.. You'd have to sort of know the theme though.

Radium
Oct 19, 2003, 06:52 PM
Let's make Faw and Strato do concept art because nobody else wants to.

Strato
Oct 19, 2003, 07:40 PM
:(...fine, I'll go slave away now...

Onag
Oct 19, 2003, 10:44 PM
Okay, here's how the project will be organized:

1) To protect the plot, the production levels will not be released to the public.

2) To prevent hacking, the net code will not be publicly available. Instead, a compiled DLL library will be included with the source to allow net play.

3) All development areas (sound, music, levels, etc.) will be overseen by one or more team leads. While these individuals will provide game content, their main role is to take content and ideas from the community and compile it into a workable game. In other words, levels, music, sounds, tiles, sprites, etc. will be accepted from anyone, and the best ideas will be used or modified to fit into the game.

-----

That's about it. And please don't everyone ask to be team lead. Just help out here and I'll come to you if needed. Oh, and on a side note, the engine is coming along nicely (considering I've never designed one before). Here are some spiffy statistics I've pulled out of my...I made up.

<b>
Engine: 1.2% complete
Game: 0.0000000000000007% complete
</b>

-Nag

Fawriel
Oct 20, 2003, 02:37 AM
<b>
Engine: 1.2% complete
Game: 0.0000000000000007% complete
</b>
Progress! \o/


So, when do we start?
Before I can make concept art, I've got to know about the characters.


By the way, how do you like the name <b>484-DON</b> for the baddy?
It's half 1337 for "Abadon", which is the angel of doom in the new testament.

Radium
Oct 20, 2003, 03:34 AM
Before I can make concept art, I've got to know about the characters.
Robots. If we knew any more, I'd make it.

Fawriel
Oct 20, 2003, 12:17 PM
Robots. If we knew any more, I'd make it.
Oh, okay then, oh wise Radium:






http://www.ramb.ethz.ch/sabbatical2002/2002-07-20/legoland_mindstorm-roboter.jpg <- Good guy


http://www-agki.tzi.de/grp/germanteam/images/roboter.jpg <- Bad guy


Yay. =P

Rad, start thinking, okay?

Radium
Oct 20, 2003, 12:37 PM
http://www.ramb.ethz.ch/sabbatical2002/2002-07-20/legoland_mindstorm-roboter.jpg <- Good guy
I'd definately keep the wings, but I'm not sure about the eye stalks.
[http://www-agki.tzi.de/grp/germanteam/images/roboter.jpg <- Bad guy
Can't complain here.

Onag
Oct 20, 2003, 07:44 PM
Here are some things to get you started. The machines will be divided into classes and further divided into models. Here are a couple classes of mechs I'd like to see:

<b>Standard Mechs:</b> legs attached to body (i.e. MechWarrior), very maneuverable, light armor, lighter weapons

<b>Tread Mechs:</b> roll on tank-like treads, less maneuverable, heavier armor, heavy weapons

<b>Tanks:</b> slow, very heavy armor and weapons

<b>Hovercraft:</b> fast, heavier armor and weapons, poor handling

We need mechs specifically designed for different tasks: probing, defense, siege, close combat, etc. Also remember that all mechs will be playable, so try to think of several different moves/abilities they might have.

-Nag

Onag
Oct 20, 2003, 07:57 PM
Note that until we have our own forum, I'll be using Possum Forrest for all future posts. I'm assuming it will eventually be converted into a general fangame forum.

Link: <a href="http://www.jazz2online.com/jcf/showthread.php?p=187911#post187911">Mechaius Engine Design</a>

-Nag

Onag
Oct 29, 2003, 01:37 PM
In case some people were left behind, here's a link to the official Mechaius forums:

Link: <a href="http://www.inocompany.com/forum/">Mechaius Forums</a>

-Nag

Stijn
Nov 13, 2003, 07:54 AM
THIS IS REPLY #100 TO THIS THREAD, YAY.

Onag
Nov 13, 2003, 06:23 PM
THIS IS REPLY 101! AND IT'S NO MORE SIGNIFICANT! WOOT!

-Nag

Radium
Nov 14, 2003, 03:37 AM
102! IT'S DIVISIBLE BY 51! HA!

Bucky
Nov 14, 2003, 07:55 AM
As long as my mech is in there somewhere, I'm happy.

Black Ninja
Nov 23, 2003, 08:05 PM
LET ME JUST SAY ONE THING:
No one get excited, this will just be another Possum that we all rave about for ages and then it dies a slow, painful death.

LET ME SAY ONE OTHER THING: If I'm wrong, that would be very, very cool ;p

Onag
Nov 24, 2003, 12:36 PM
Thanks for the vote of confidence, Ninja! ;p

-Nag