Wrecked Games

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're just that awesome.

Pages: [1] 2 3 ... 14

Author Topic: Wrecked Games Engine (WGE)  (Read 48161 times)

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« on: March 03, 2006, 11:16:16 AM »

WGE is not trying to be an all in one game engine ideal for every situation. However, that does not mean that I do not intend for it to be reused on other projects and types of projects. The main use, however, is for the small minigame platformer. But, most of the game logic will be written in scripts, so the main Engine should be able to be used in other types like FPS, RPGs, etc with little change.

Feel free to disscuss anything about WGE in this forum. I am not abstracting out any of the interfaces. Once the API is chosen, that will be it (except, mayby in the case of Audio Engines - i.e. Fmod [which has better support for consoles] and OpenAL - and possibly physics).

Cuurent List (subject to change):
    Graphics - Ogre
    Input - OIS
    GUI - CEGUI
    Video - Theora (via VideoPlugin)
    AudioStreams  - Vorbis (Via VideoPlugin)
    AudioFX - Wav's
    AudioSystem - Plugin System: OpenAL
[and Fmod]
Script - SQPlus
[/list]

PC Target platform -
CPU ~1.8-2GHz
Video - GF 4
Memory - ??
Harddrive - ~100MBs
Network Speed - ??
Logged

raicuandi

  • Newbie
  • *
  • Karma: +0/-0
  • Posts: 13
    • View Profile
Wrecked Games Engine (WGE)
« Reply #1 on: March 15, 2006, 08:51:00 AM »

If I would make my own Game Engine, I would think of it as extensible as possible.
I would like to develop a good one, because I DO need one, one that is easy to use (not for me, I'm pro  :mrgreen: ) for others to build great gameplay without killing thy're brain cells with C++. And also to be used with other OSes than the enternal-game-console named Windows  :?  Primarely Windows and Linux.

So, here's my idea of A game engine (because there are many ways of doing it!) :
First of all: extensibility. You may specify where/when that events happens, or if it runs in paralel (tehnically, in another thread), that is, for the first one: you may create a script for ex. loadmap1.ss (ss=source script; where you just specify the path to the map and models and etc. to load), and you may call this script in the start-up script, when you've define the action for a button. That was an example.

Another example where/when to run a script is: after/before each frame was rendered.

BUT speed is valuable. So parsing text is a pain in the back. Therefore we could have a small compiler for those scripts. You could (in our own IDE) press the button "Build modified scripts" (as an example), or just invoke "sc loadmap1.ss" (sc being the Script Compiler, and it outputs loadmap1.bs, Binary Script). This kind of compiler is very simple (doesn't have to do linking, optimising etc.) so it will be very fast!

Personally, I'm just fed up of Game Maker, which gives its users (enough people to get you pissed off) the wrong idea that you don't really need programming to make an awsome game. GM is quite a poor: it says it has very basic 3D, but I haven't seen any project with that kind of things in it! Just extremely ugly looking 2D, and very limited functionality. (a friend of mine is killing my nerves with this! now he thinks that to make a good commercial game, all you need is a "web-site" from where to download nice pictures/sprites, and with the magic of GameMaker, you'll create a spectacular game and get 10 thousand dollars in a sec.  :shock: ).

I just realised that with OGRE+OIS+OGRENEWT+CEGUI+<your prefered sound engine>+(if needed) RAKNET, which even if it is a long list, its quite easy to use - you actually don't need such a game engine! All work is done for you, you just have to specify the game's logic!! But its still nice to have a cool game engine. Also, C# is much easyer than C++, and compiles lightning-fast, so having a complete, modular and extensible g.e. for C# would be absolutely great!

@pjcast:
I know, long post for a guy without internet. I'm at school now, preparing for the national informatics contest, and having a break now. Still net-less.  :? , yes.
Also, since the OIS wrapper is quite almost done if I remember correctly, then that means, if you are interested ofcourse, that we could make an awsome game-kit for the .NET platform (for C# more exactly). My only "condition" is that it must be usable under Linux too (since Mono is nearly finished for C#). I'm just looking for a lot of experience, since I will soon need a job, and I must a good CV  :wink:
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #2 on: March 15, 2006, 09:20:08 AM »

I don't know if I would want to build the engine in c#. Though, I agree with pretty much all you said. I think that the engine could definately be extendable through code - not through plugins: something like that already exists with YAKE - which is kinda large and a steep learning curve IMHO.

And, setting up abstractions between just a couple things (Audio etc) is easy. But, abstracting from the main libs (ie Ogre, OIS) is just a waste of time.

As far as the script is concerned, I have contemplating driving the main loop inside of a script, then there is no need forcalling this everyframe. Howeve, I have little expereince with the various scripting languages, so how fast everything is going to be is up in there air (but, it shouldn't make too much of a difference). Anyway, I like c#, but I do not want to really use several binding layers right now (ie OgreDotnet, OisDotNet, etc etc). Plus, even though Mono is out and does look real good.. There will be more issues there right now than using regular c++ - which is widely supported on multiple platforms and consoles (consoles being the big selling point - I hear Nintendo may be allowing Indies on there next console).

Bah, look at the time.. I got to start getting ready for class. Talk more later  8)
Logged

raicuandi

  • Newbie
  • *
  • Karma: +0/-0
  • Posts: 13
    • View Profile
Wrecked Games Engine (WGE)
« Reply #3 on: March 16, 2006, 05:56:13 AM »

Yet, sometimes, simplest is best. If one would make such a G.E., that one shouldn't exagerate with scripts. Even if you make it script-oriented, you'd still have to make a C++/others source file, similar to this, and compile it to get the executable:

Code: [Select]

#include <WGEMain.h>
using namespace WGE;
int main(int argc, char *argv[]) {
  WGERoot *root = new WGERoot();
  root->addResource(WGE::ResType::folder,".");
  root->setStartupScript("main.bs");
  root->start();
  return 0;
}


And you would never have to recompile the program, just work with the scripts!
Making such an engine sounds good to me! Once I'm done with the OIS wrapper, maybe I could help you make this game engine?

I was also curious about its possible licence. If we're using Ogre, which is LGPL, musn't WGE use LGPL too? We will dynamically link to Ogre... so couldn't WGE use its own licence?

Anyway, since using this imaginary (because its not done yet) WGE, one could remake Counter-Strike with only 10 lines of code, so there is NO need for other languages (ie C#) because you'd almost never have to change these 10 lines, right? And if we'd make that compiler for those scripts, the byte-code produced by the compiler is not for a specific procesor architecture, but for WGE, which makes the binary scripts cross-platform! You know, WGE is quite an execlent ideea! I WANT to join! (just let me finish the wrapper)
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #4 on: March 16, 2006, 08:39:11 AM »

My goal is to have WGE to be flexible. However, that does not mean it will be completely script driven. Though, most game specific things (rules, loading levels, etc) should definately be created from scripts.

As far as the license, as long as Ogre is linked dynamically, WGE can be any license at all. Later down the road, if WGE needs to be ported to some console for instance.. Then a Ogre license that is compatiable would have to be attained (ie whenever Ogre offers the commercial license for consoles). I have contemplated a couple licenses for WGE.. Namely GPL and a dual license for commercial use. Reason being, I am not specifically creating this engine to power other peopl's games. However, if it turns out nicely, I could possibly get reimbursed for my time on this (and help pay for server hosting costs, etc). Plus, I have thought about using this as a engine for writing a book (just a thought).

I'll definately consider bringing you on. What are your areas of expertise (you can PM me if you want, and we can discuss there)? Of course, any team members (and major contributers) would have the commercial use of this engine (ie the non-GPL license).
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #5 on: March 31, 2006, 05:01:27 PM »

btw, I think 'OGRE/OgreCEGUIRenderer.h' is missing from your dependencies for VC8. Is this RC1 Dagon, or CVS Dagon?
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #6 on: March 31, 2006, 06:00:01 PM »

CVS Dagon is API identical to RC1 Dagon IIRC.

As far as the dependency, yup.. it is missing. Mainly, because I was contemplating on not using CEGUI last weekend (where I decided not to after much thought).. However, WGE has not been worked on since, as I was installing BSD last week on my VC8 computer, and I managed to wipe my Mastr Boot Record / Partition table :/ I have yet to attempt to recover that information, or reinstall Windows on that machine. At first, I thought reinstall (still an option), as I had just installed everything the weekend before, and I have everything needed on disc.. But, a whole day wasted on installing OS updates seems like a waste.. So, I am first going to try to restore the MBR... if that works, I will save a day for five minutes of labor :wink: So, I've taken the time off to do some OIS updates/fixes. But, plan on trying to get back up and running with VC8 tonight.
Logged

Anonymous

  • Guest
Wrecked Games Engine (WGE)
« Reply #7 on: April 01, 2006, 12:38:37 PM »

Well, I've looked through the engine now, It looks nice and simple. Exactly what I like  :D !

I've tested this on Visual Studio 2005 Express and it works fine.

btw, once you get your VC8 runing again, you may want to add VC8Debug and VC8Release to the
 Project Properties->Configuration Properties->Debugging->Working Directory, so this runs out of the box.

If I want to help improve the engine, what can I do? I have about 3 years experience with C# and a couple of months with C++, but I am learning very quickly(finally understand singletons, pointers and refrences).
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #8 on: April 01, 2006, 12:39:47 PM »

btw, that was me, I forgot to login  :mrgreen:
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #9 on: April 01, 2006, 03:07:21 PM »

The thing with debuggin directories, is that those are not contained in the project files. Those configurations are stored in the User file that MS creates in the same directory as the project files (information such as current open files, etc are also stored there). So, unless I uploaded my user config file, then that is not really possible.

Also, I am debugging (or intend too) the seperate repository ringo along with the WGE framework. Ringo contains nothing but script files and media, and WGE (although a few script files) was just a basic setup while I am getting ringo (a freeware game) up and going - of course, I have lacked time in the recent week. Bascially, the WGE exe will be copied to the ringo directory (I think debug already has a bpost build script for this now).. And, I will be uploading the dependencies in the future to work with the ringo directory instead of WGE.

By all means, I could use some help with WGE. Of course, we cannot both work on the same area of it. So, I would need to know what part of the engine you would be interested in working on.. Though, this is kindof difficult as there is no fully written out design doc ATM...

Perhaps, if you stated what you are interested in working on, and post here before for some pointers, then submit a patch. Seeing how everything goes, I could set up dev cvs access to WGE for you. But, of course, we would have to discuss more what are visions of WGE are, to be sure we have similiar directions so that it will be a solid coherent design :wink:
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #10 on: April 01, 2006, 05:25:13 PM »

As for something that I would like to work on... Anything is fine with me. Maybe I can help on something simpler, like a basic sound system using OpenAl.
I probably should'nt ask about writing the input manager since you're the author of the input library :wink:

Perhaps if you'd like the sound system to adhere to a certain naming convention, or style you could write the header, and i'll fill in the source files.

If I do patch anything, I plan on using the Ogre style.

Also, you may want to look at FreeSL, it is built using Ogg Vorbis and OpenAl, it has virtually no liscencing restrictions.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #11 on: April 01, 2006, 05:38:13 PM »

The sound system would be a good place to work :D Just note, that I wanted to make the sound system use a plugin system to load either Fmod or OpenAL (similiar to the TheoraVIdeoSystem Demo I wrote).. That way, WGE could be used in console games with little sound effort using Fmod (if a game were to be ported there).

Another thing is that the Sound Manager will be more likely called AVManager, as it will handle Audio and Video - it can reuse the ogg decoding of the TheoraVideoPlugin for loading streaming music/audio/video and just load regular wav formats for sound effects.

The interface would not consist of too many things, something like - roughly:

(int's are a handle)
(type is something like Video, AudioStream, AudioFX, etc)
int open(enum type, const SQChar* fileName, const SQChar* materialName);
void play(int);
void close(int);
void seek(int, someMillisecondTime);

I am installing VC8 here, and will be getting back into things again. If you want, you could design the header/interface, as, things are always open to change, if it is not perfect, it can be refactored/redesigned at this early stage.

Also, sound manager class needs to be pretty abstract in terms of Fmod/OpenAL, and define some common things, that a plugin class would actually implement (ie, volume setting, etc). You could look at the CEGUI_TheoraPluginDemo in ogre's cvs (ogreaddons/videoplugin) for how a simple plugin system using Ogre can look like.
Logged

Anonymous

  • Guest
Wrecked Games Engine (WGE)
« Reply #12 on: April 02, 2006, 12:04:19 PM »

Ok sounds great  :D. I'll get started on looking at those, btw do you have msn messenger so I can talk to you realtime? Right now this is how I'm looking at designing it:

AVManager creates a soundsystem and videosystem of the specified type through plugins, and pointers and refrences to the soundsystem and videosystem can be accessed through get methods.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #13 on: April 02, 2006, 12:36:24 PM »

I could be on IRC (I don't use messenger). But, right now, I am reinstalling/updatng my primary computer's OS. So, I will not be doing much coding/chatting today.

Yeah, the scheme sounds pretty good.

edit Oh, and I disabled guest posting from this topic, as that is the way the rest of the forum is configured to prevent spamming.. And, i noticed that I forgot to disable it here :D
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #14 on: April 02, 2006, 07:51:53 PM »

thx for disabling guest posting  :wink:
I've started coding the AVManager, and it doesn't seem like there'll be any problems with it adhering to the design. I probably can't work on it most of the weekdays, because of homework. But, I'll get some done Wednesday, and hopefully send you a basic version by Friday. It'll probably be OpenAl and sound only for now.
Logged
Pages: [1] 2 3 ... 14