Merging the BEST 3D engine with the BEST 2D engine EVER!!

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
guest1

Post by guest1 »

that advice on sony is partially correct: If you are using a very old monitor, it could damage the monitor... if you are using a new one, it will not. The signal will simply be ignored and the worst that will happen is having to reboot in vga (like you experienced)

it seems obvious to me that the code would be only slightly slower. I looked at it, and aparently all values are passed as doubles. Well, this creates a huge problem for most compilers, because most do not pass floats in the FPU stack but in the normal stack. To do this requires an extra save of the double directly into the stack (fst)... That already is much slower, but worse, I believe (I could be wrong) ansi C does not allow this, which makes it even slower when it has to save to a portion of local data reserved on the stack using EBP, and push that data twice into the pointer of ESP. Of course, this adds about 20-30 cycles (depending on the processor) of overhead every time a function is called (which isn't a whole lot actually). Most of these functions also have to convert the double to an integer. In ANSI C (again, I could be wrong) I believe this requires to save the FPU state, load a new one (with the proper truncation) and then do a fistp, then load the previous saved state. This is another 40-120 clocks depending on the processor.

let's say that you have 100 functions of per-frame overhead, and then 100 objects with setPosition and setRotation functions... this turns into roughly 36,000 clocks of extra stuff per frame. at 60 FPS, that's a wimpy 2,160,000 clocks... I *think* on your 2GHz machine that's only 1/900th of total processing power per second.

So... If your FPS is right, (79) instead of 160, I cannot figure out such a drop, because clearly the API would only be slowing it down a very small amount. This has to be the fault of GM. I bet, if someone ported this GM dll to something like blitz+, I would guess that there would be almost no visible decrease in performance, making an extremly simple language like blitzplus a FAST and effective prototyping tool. (sorry for that shameless plug, I know blitz+ is not free and isn't C++, but I use it all the time for quick little projects (cause it takes me half as long as C++) hehe)

It sounds to me like some terrible code inside of GM that's causing the slowdown.
Guest

Post by Guest »

Hmmm lets see "I don't know much C++, however it is nearly EXACTLY the same as C++". Not really sure your qualified to make such a statement acording to yourself.
I know how C++ works enough to make that comment, dipshit, though I don't know the entire language. (And I doubt you do either, so STFU.)
Pentium 2 Intel Graphics card? what are you getting 1 frame a second now and you were getting 2? Seriously, even on Irrlicht by itself can you get more than 10 frames a second?
WTF are you talking about?
quote:
--------------------------------------------------------------------------------
there's not really a learning curve whatsoever
--------------------------------------------------------------------------------




--------------------------------------------------------------------------------

quote:
--------------------------------------------------------------------------------
It took a little while to learn the GML
--------------------------------------------------------------------------------



The above two speak for themselfs.
Let me clarify your misconception:

The PROGRAM has no learning curve whatsoever, though the LANGUAGE I found wasn't easy to learn since I had no former experience with programming.

Now stop twisting my words around and STFU.
buhatkj
Posts: 444
Joined: Fri Dec 12, 2003 4:53 am
Contact:

dang...controversy!!

Post by buhatkj »

hey whether its really useful or works well or not its still cool that people are giving it a go. actually, there are a lot of really cool 2d games out there,if its executed well, a 2d game can be just as much fun. take escape velocity from ambrosia software, or diablo, or any of blizzard's 2d games for that matter, or c&c, or the old fighters, like SF and mortal combat(BEFORE the 3d ones...yuck to MK in 3d, ruins it...)

2d isnt the enemy....what makes games suck is when they arent fun.

sometimes 2d games arent as pretty, but they can be just as fun if the gameplay and replay value are there. i downloaded an arkanoid clone written in GM and lemme tell yah thats just and old-fashoined good time that is...so what the heck, maybe this will open it up to some less techie types who nonetheless have some neat idea for a game and can maybe spread the love to irrlicht even indirectly!!
no need for a jihad guys ;-)

personally, if for no other reason than framerate im stickin to c++, but with todays HW and GFX cards, that's less important every day....
-Ted
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Robomaniac
Posts: 602
Joined: Sat Aug 23, 2003 2:03 am
Location: Pottstown, PA
Contact:

Post by Robomaniac »

MMM... EV Nova, one of the best shareware games i've played. If only i had the money to register :-(

:cry:

oh, and i firmly agree w/ buhatkj
The Robomaniac
Project Head / Lead Programmer
Centaur Force
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

You what?

Post by Tyn »

Let me understand this program: It is a 2D game creator which apparently can do 3D but very poorly. So, you can create the look of the game easily, so it's good for beginners? But then it says there is a language shipped with it that is like C++ ( Yeah, BASIC is like C++ in a way so I am skeptical ) and this helps how?

AI and pathfinding etc. cannot be done without code so the user has to learn something simular to C++? How is that going to help? Get the user to learn C++ wrong so that if they ever do convert over then whatever changes the Prof. has made will confuse the heck outta the user. Am I missing something or is this useless?

BTW, I cannot believe there is a professor called Marc Overmars, lol. And I'm not a programming snob, I remember trying a simular game program about 10 years ago and was severely disappointed ( I was only 8 I spose :D ) I just think it's a bit harsh to get peoples hopes up when it can't deliver.
Wolf Dreamer
Posts: 121
Joined: Tue Feb 10, 2004 6:39 am
Location: the land of chaotic dreams
Contact:

Post by Wolf Dreamer »

It handles pathfinding very well, among other things. There are several pathfinding scripts in the game already, which you can access by code or with the simple icon system.

Game Maker is a rather generic term, so perhaps you are confusing it with something else. The earlier versions were differant. Back when he came out with 4.0 he redid the entire thing, no longer compadiable with earlier versions, and then just kept adding to it.

I wonder why you find Mark Overmars to be a funny name.

It now allows you to use some C code in the scripting to allow more features.

total += 1; would work the same as total = total + 1; for instance just like in the C language.

If, while, etc. is there as well the same way it is in the C language.

You can do things with code or with icons that make it easier for most people to visualize and keep track of things.

If you could do collisions and everything else in Game Maker, and just have it access via a dll the graphics that load up on the screen, it would be far easier to make a game.

What FreeGadgets did with his early attempt at 3d games, was made it so that on the 2d map editor you place whatever sprite was choosen to represent a 3d image, and when you ran the program it would load up that 3d image instead. If you wish to make a game like Doom, then you can do so. In fact, he already made a Doom like game with images ripped from Doom, and added a flamethrower. Someone else added in grenades than can bounce off walls even.

A similiar system can be used for real 3d games, by the modern diffination most people have of it.

Lay out the map in the 2d Game Maker room editor, and let Game Maker handle collisions, let it create, destroy, set timers, set pathfinding, and everything else. Irrlicht will just load up the 3d graphics in the proper place Game Maker tells it. That is possible.

Unfortunately, it seems limited in speed when done that way.

If anyone can get a better speed with it than me, please run the example and say so.

I have listed the many problems with using Game Maker and why I don't think it'll work too well, however I'm posting this to explain that it can work. It'll just run slower than it would otherwise.
The last sane human being in a world gone mad

http://s8.invisionfree.com/Game_Maker_f ... hp?act=idx
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

Oh cool, so it has a scripting engine, I get it. I am only so skeptical because I remember using one before and it being in limbo between the complete novice and a proper coder which made it completely useless. If it can do AI then it can indeed be of use, especially as it is the hardest thing to code. I'm still a little skeptical about using a simular language to C++ because I have had to learn so many different variations of BASIC at work because different companies decide to use their own language, I don't like languages specific to one program or small group of programs. It completely throws anyone off when they go to learn the very simular language with a few subtle differences.

BTW, Marc Overmars is a footballer who plays for Barca, made me chuckle tho if you don't watch footie I guess it is lost on you :)
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

As indicated above, Game Maker can be used free of charge. The unregistered version though is a bit limited and shows a little logo when running a game. To unlock the advanced features, remove the logo, and support the further development of the software you are strongly recommended to register your copy of Game Maker. Registration will add the following features:


  • No Game Maker logo when running a game.
    No reminder of registration in the maker.
    Two additional collections of actions
    The possibility to extend Game Maker using DLLs.
    A particle system to create fireworks, flames, rain, and other effects.
    The possibility to make multiplayer games that can be played over a network.
    Functions to create and modify resources (sprites, backgrounds, etc.) while the game is running.
    A number of advanced drawing functions.
    A collection of functions to create and use data structures.
    Function for motion planning.
That's from the documentation, I think that settles the free/not free debate ( at least in relation to using Irr with it ).

From looking at it, however, I think a simular thing could work in Irrlicht as a level editor, as long as more control was given to the coder ( e.g. only set positions, model, skin etc. )
buhatkj
Posts: 444
Joined: Fri Dec 12, 2003 4:53 am
Contact:

3d map editor

Post by buhatkj »

as far as map editing, i think there is definitely some room for improvement in this area. radiant is cool, but honestly all i really wanna do is be able to drag/drop primitive onto the 3d worls and move em about. sorta like in the sims when you are setting up a house. that would be wicked cool. that what i had roughly in mind for my map editor. GM may allow a sort of stripped down 2d only version of this, but the real trick is to take it one more step. make is so the map has a base mesh(thats the bsp or maybe just a big ms3d/3ds/x mesh) then you drag/drop the primitive and places them in 3d using a method similar to how i do im fmorg wher the mouse places a marker on the 3d wall from its projected position. then you add a descent-like 3d camera system to get around inside the mesh with(with clipping so that stuff isnt place inside walls...)
that would kisk a$$ :-)
-ted
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Acethegamemaster

Post by Acethegamemaster »

I'm thankful for your comment buhatkj. I agree 100%. I love making/playing original and unique games, so I don't want limitations when I come to having to make one... I'm no programmer as far as a standard language goes, but I'm very proficient at GML and can program all sorts of games as you can see from our website:

http://aeonicgames.darkesword.com

I've got a bunch of 2D games like Zelda, Chrono Trigger, and Mega Man X all with original gameplay. Zelda's got an RPG esque engine. If you want to see my skill, then why not try them out.

Most move with WSDA and do other stuff with JKL UIO or FGH RTY.

In the CT Battle Demo, you can play as Crono or Magus... I think that's the one... (I'm not certain if that's the version that's uploaded.) You can draw your sword, put it away, attack, run, get hit, talk, etc.

In the Zelda one, you can even ride Epona in 2D and go into the temple of time. You can gain hearts and lose them, etc. Walk through water, move room to room and all sorts of fancy stuff like even bringing up an item menu that pauses the game with "Enter" and select your boomerang.

In the MMX one, you can Charge your blaster, shoot 3 levels of blasts, and jump varying heights, and dash as protoman and talk with people with "L" I think, and even go in a door and blow up a robot. (It's been a LONG time since I've played them, so I've forgotten a lot about them.)

They are just examples of my programming skill. Check em out if you want. The Zelda one took me about 4 hours, and I even have some custom graphics in there. (I'm one of the few remaining spriters in the world! lol! ^_^)

Anyways, I'm trying to learn C++, though I don't have much time to do so, but if anyone wants to help, I still am looking for it. Possibly even some insight as to how C++ actually works. I know the very basics since I've programmed in GML, but beleive it or not, GML has the same syntax as most standard languages like C++ or visual basic.

You can even go:

if smth=1
begin
...statement...
end


...instead of...


if smth=1
{
...statement...
}

You can even go:


if smth and smthelse
then statement;

You don't even need curly brackets if it's a simple statement.

It's very relaxed so you can forget things like parenthesis and semicolons if you left them out. I just find it's a very comfortable language to program in. It's not nitpicky about small syntax. (thankfully.)

Your functions are made as separate internal scripts and can be used to accept arguments as any function and return values in code.

Like I said, it's very comfortable and user-friendly.

The runtime may not be truly as fast as C++ (I figured that when I started learning GML) since it is an interpreted language, BUT it can easily achieve a VERY high FPS since GM is not handling ANY graphics whatsoever, and is only handling events, game data, and the main and input for you.

I found that GM actually has one extra feature that's rather nice... "Persistance of Room and/or Objects." When you leave a room, you can erase all objects/nodes) (besides the main controller object which is ALWAYS) at room end, and when you go back to the room, you can have them restore themselves and their position/data when you go back at room start. The controller is omnipresent. It's always there to draw your game status. Yes, GM can do that.

If anyone wants to help finish porting Irrlicht to GM, I'd be happy to help in whatever way I can to help them do this. I plan to do the documentation for the functions once they are all there. Anyway, thanks for the little support I have received, guys.
craylox

Post by craylox »

The main difference between irrlicht and GM is graphics(hence 3d engine). GMirrlicht bridges that gap. What makes games is game design, and since most on here are programmers the majority don't know jack about game design, it's more of an art gallery in their games(I mean that's the main purpose of new cosoles isn't it? improve graphics). So to understand GM's capabilities you have to look at it from a game designers point of view.
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

I disagree. Firstly, most programmers know more about game design than most because they know the structure. Go to any open source game, find the lead and I guarantee that 90% of them are programmers.

From a designers point of view the bonus is that it is much easier to create a game, but the problem is that you are drastically restricted by whoever designed the game maker wanted you to make. It's like the choice a company programmer makes between Visual Basic and C++. If you want to make something quick without really getting your hands that dirty then there is no point using C++, whereas you can do more advanced things with C++.

I have realised through this topic that the GM does have more use than I gave it credit for but I'm still going to use Irrlicht in C++ form :)
Guest

Post by Guest »

Tyn wrote:I disagree. Firstly, most programmers know more about game design than most because they know the structure.
I think you miss my point, but anyways. You say most, yes thats true, but that doesn't include the game designers. Obviosly game designers know more about the gameplay etc than the programmer, the programmer knows how to create the world which the game will be in but not the game. You may have a different meaning to game design than me. Game design to me is the gameplay, immersiveness, gui, story and a few others, but not programming, thats what programmers are for.
Visual basic against c++ isnt a fair comparison when making games imo.(who makes good games in visual basic)
Try C++ against C++ and irrlicht. Why don't you make a game completely from scratch?
Why are proffesional games made in C++, because they hire programmers who know how to use it, even if they arn't making a big game. I guess it comes down to time and money. Which is why companies are now using game authoring tools like A6 to save time, or buy game engines and physics engines.
Tyn wrote:Go to any open source game, find the lead and I guarantee that 90% of them are programmers.
I guess programmers knowing nothing about game design was a bit over the top, to rephrase, most programmers, especially hobyists don't know good game design. If a designer learnt a programming language thats all good, it's not a neccessity. Take Shigeru Miyamoto, he is recognised as a great game designer, though knowss barly any programming.
Well sorry for going off topic . :P [/u]
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

Hey, I sent this topic way off course ages ago, at least we having a good discussion :)

I understand what you are saying, but professional game companies like ID use the best tool for the job, not because that's all they know. If they thought they could churn out games like Doom 3 with a Game Maker believe me they would.

Companies who don't make games from scratch still use C++, they just don't want to write the same code over and over. If someone already has all that code then you might as well save yourself a year of development and use their engine.

I don't know of any commercially successful or fully detailed game that has been made with Game Studio/A6. AFAIK, they use it to churn out cheap Fishing games and the ilk. That's the comparison with C++ and VB right there. For something simple, why not make it as easy for yourself as possible?

I also see your point about game developers but I still feel that a programmer who has coded a few games is in the best position to be a game designer because they know how things like art and sound production revolves around the programmers as well as what order he should get everyone to do things in.
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

lol, was looking through the GM forums ( slow Sunday ) and found this quote:
I don't see anything special about using a 3D engine programmed by proffesionals. Kingspace get's my vote as it was programmed entirely by one of our own members.
Hehe, Niko, you should be proud. The guys there think you are a professional game studio :) Says something about the quality of the engine I think.
Post Reply