jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
Hey, so i was thinking about making a 2D game... then i though to myself "SELF! What library are we going to use?". So i thought of GTGE... then i figured it would be nice to have native 2D in 3D support. So i thought of irrlicht. it's simple (i'm using Jirr so its in Java) and it's kinda fun. but then i started thinking about some of the details about it like collisions. Anyways, all this boils down to yet another project for my list of projects ![]() i keep a list of my projects (its not complete yet but its a ton right now) on my site: http://Jestermax.googlepages.com/ So i plan on making a very simple facade for 2D games using Irrlicht, which would offer nice things that 2D programmers don't normally get for free. Such as particle systems, rotation, pre-made event handlers, etc. |
Realm Master![]() Member Posts: 1971 From: USA Registered: 05-15-2005 |
Irrlichit is 2d? Oh yeah, it is... but its very limited 2d. As far as I could tell, no 2d collision detection whatssoevers ... There was nother GFX library that was expressedly 2d, but I can't recall the name... hmmm... ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
my point wasn't that irrlicht was 2d. my point was that i plan on making a 2d library using irrlicht. so i'd have to implement the collisions and sprite management. there ARE billboards which aren't too bad, but i think it'd be better to implement using itextures and iimages since they provide access to the pixel data (pixel collisions). I think the advantages of using a 3d engine for it are too great to pass up: -shaders -compositors -particle systems -rotation -skewing/flipping -3d stuff |
SSquared![]() Member Posts: 654 From: Pacific Northwest Registered: 03-22-2005 |
Have you looked into what XNA offers? XNA, itself, does not offer all you mention, but there are plenty of 3rd party offerings (collision, physics, particle) which are freely available. In addition, there is TorqueX which offers quite a bit, also for free. |
dartsman![]() Member Posts: 484 From: Queensland, Australia Registered: 03-16-2006 |
I think jestermax was only just posting his thoughts on starting a project involving making a decent 2D Irrlicht. Not what other options are out there... I think it'd be a good idea... Good learning curve, but I think you'll find it not too difficult at all ![]() I don't know of any 2D version of Irrlicht, other then some possible basic sprite support... Please keep us posted on how it goes... ------------------ |
SSquared![]() Member Posts: 654 From: Pacific Northwest Registered: 03-22-2005 |
Oh, I thought he was asking if anything like this had already been done when he asked, "Has anyone heard of similar projects?" |
steveth45![]() Member Posts: 536 From: Eugene, OR, USA Registered: 08-10-2005 |
quote: Irrlicht is preloaded with 2D functionality. It has its own extensible rendered GUI system. There is the draw2DImage() function that works nicely. You can also use billboards. In the game RevX that I did for the game in two weeks competition, I used draw2DImage for the map mode and a combination of that and billboards for the battle mode. The billboards get rendered with the rest of the 3D objects, taking the z-buffer into account. draw2DImage() renders whenever you call it without considering the z-buffer, so you can overlay 2D graphics over the 3D render, which can be used to create a HUD. Or you can render the other way around, like I did in RevX. ------------------ |
dartsman![]() Member Posts: 484 From: Queensland, Australia Registered: 03-16-2006 |
'draw2DImage' doesn't constitute as a 2D version of Irrlicht, and GUI systems are typically running through 2D (and orthographic mode), what 'preloaded' 2D functionality is in Irrlicht, does it have more then just draw2DImage?... and from the rest of my sentence is exactly what I said:
quote: Can you actually switch to a 'Ortho mode' (guess you should be able to, as it's pretty simple), to then use it as a 2D engine rather then 3D? Create some 2D sprites with 2D collision detection and the like? Does it have 2D Mathematics support? Sure you can do 2D in a 3D environment via mucking around with the z-buffer (let alone just locking 1 axis and setting up the camera right), but then that is requiring the 'mucking around', which would just be there in a 2D version... Sure it'd have basic 2D support, but from what I gather Jestermax would do, is a proper 2D engine. Not trying to hammer you or the like, just wanting to see more then just "it has 2D functionality, which is a GUI system and a 'draw2DImage()' function", to which the GUI system most likely only uses the draw2DImage function anyway... Could you point me to the Library reference or the like for it? Thanks ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
Actually one of my implementation ideas for it was to make a sprite class using a combination of iTexture and iImage using the GUI style 2D stuff(right now i'm implementing it in Jirr so some things like pointers don't directly translate). but i think i'll end up rendering the iTexture on a billboard but the iImage could be used to calculate pixel collisions, etc. Its still in the concepts stages tho ![]() |
steveth45![]() Member Posts: 536 From: Eugene, OR, USA Registered: 08-10-2005 |
quote: Yes, setting up an orthographic mode is quite simple, not that it's necessary for 2D. No, there is no built in sprite collision. It has 2D math support with the following types: dimension2d, line2d, position2d, and vector2d. They are analogous to the 3D versions of those math types. Yes, you _can_ muck about with z-buffers, but not if you use draw2DImage. No offense, but pixel-based collision doesn't really make sense in a high-resolution world. For example, draw2DImage can be used to render pixel exact copies of images, or it can draw them shrunk or stretched or with variable amounts of alpha blending, etc. There is no longer a context for pixel collisions when you have 2D games that can run at any resolution. For example, Torque Game Builder is supposed to be a fully functional 2D engine, and it doesn't do pixel-based collisions. It uses convex polygon collision (why convex only? I don't know). Irrlicht is lean and mean, but it is also powerful and highly productive. It would be trivial to implement your own 2D collision algorithms, either rectangular or elliptical, which would be fine for most purposes. ------------------ |
dartsman![]() Member Posts: 484 From: Queensland, Australia Registered: 03-16-2006 |
quote: Ah cool, sounds like a more featured 2D version then from your original post. Thanks for clearing that up.
quote: Why? Per-Pixel Collision can come in very handy. Such as grayscale maps for odd shaped buttons or other things. Sure, when you do such things as scaling and the like the image can become distorted or blury, however pixel-based collision can still be used, as long as you take into account the scaling. Per-Pixel checks are normally done on images which aren't to be scaled in the first place, such as icons, buttons, etc. You can do checks against an alpha channel built into the image file, or even to a colour key. I wouldn't cut it down soo quickly, even though it might seem 'expensive', it does have it's applications. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
no offense taken (i rarely take it). I do tend to agree with dartsman that everything has it's place, and that pixel collisions could be nice. However i didn't think about using polygons (i did but not that much). it COULD be alright but i think it could get a little irritating defining a polygon for each frame (however a tool that lets you select collision regions using polygons and saves it as a ".sprite" file could be amazing). When i started out with this project idea, i wanted to combine both Irrlicht and GTGE. Since GTGE offers extremely easy collisions with the opinion of pixel collisions i figured it was worth a shot. On a separate and unrelated sidenote: What would be the best way to implement a screen compositor? Bloom is an example but i'd like to play with an old tv effect (ogre has easy ways to do it with scripts). This effect is featured in the game Kingdom Hearts 2 (amazing game so far). |
steveth45![]() Member Posts: 536 From: Eugene, OR, USA Registered: 08-10-2005 |
quote: In Irrlicht, the simplest way would be to render your scene to a texture, then render that to a quad or a billboard that fills the screen. In the second render pass you could apply any number of shaders, like one that produces the bloom effect. Render-to-texture and shader usage has examples in the Irrlicht tutorials. I could show you how to render a full screen quad or billboard. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
ok, i know how to do that stuff. Actually if you want, i posted my portals code on the irrlicht site (my username is jestermax). You just have to know how to translate from jirr to normal Irr ![]() That actually seems fairly simple. i'll give it a shot sometime soon (hopefully tonight) and see what comes up. btw, did you get my email? Oh yeah, and on another sidenote: i've been toying with the idea of creating a scene view that looks similar to the camera in Metroid Prime (looks like you're looking through a visor). Actually come to think of it, i was going to use a render-to-texture technique for THAT.... wow,and i didn't even think of using it for the compositors |
steveth45![]() Member Posts: 536 From: Eugene, OR, USA Registered: 08-10-2005 |
quote: It couldn't take more than a day to come up with a stand alone app to do that. ------------------ |
dartsman![]() Member Posts: 484 From: Queensland, Australia Registered: 03-16-2006 |
I look forward to seeing that tool :P ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
quote:
quote: Why convex: Mainly because checking collision against a convex polygon can be done very efficiently. TGB also has the option for ellipse collisions and even a combination of a convex polygon plus ellipse collision (the ellipse collision is used like a second bounding box to make the collision even more efficient on specific types of collision polys).
In the end it's fairly easy to mount multiple collision polys together to get some fairly complex collision hulls while still being effient. We also have a nice click and modify collision polygon editor that makes combining such collision polys trivial. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
I've been meaning to get a torque license, but if it's just for 2d i don't see it as being that useful. Although the 2D torque stuff DOES look nifty, what does the 3D engine offer over Irrlicht and Ogre? EDIT: Actually i'm going to have to take a look at polygon collisions, I admit i don't know much about that offhand. but i guess that can wait. i can settle with bounding box for now and just have it as a strategy-pattern implementation [This message has been edited by jestermax (edited March 23, 2007).] |
Calin![]() Member Posts: 358 From: Moldova Registered: 12-04-2006 |
quote: You're actually talking about two different things: Torque Game Engine which is mostly for 3D and Torque Game Builder which is 2D. Each comes with it's own license as it is a distinct product. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
D'oh! That's really sad ![]() Cost of happiness from programming games? priceless ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
The downside is you have to buy two licenses to get both engines... the upside is they are actually two seperate engines (based off of the same core) with tools highly customized for each type of game. The 2D tools in particular are very user friendly and invaluable. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
I just read features of it, and it looks very nice ![]() -If i get the basic license, is it possible to upgrade to the PRO one after a while? - Do licenses expire? -what's the deal with quote:? it seems a little silly to me, and how is this rule even enforced?? Other than than i think the tools they provide make up for anything else lacking in the engine. I actually have a lot of respect for Torque; There are 2d/3d game engines out there but Torque wraps everything up REALLY nicely. Nice engine, tools, support, etc. It's hard to provide that type of support with an open source/free engine. Maybe one of my projects should be to build tools and guides for using free stuff ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
Good questions, here are some answers ![]()
quote:
In the end you get a discount if you get Pro straight out (kind of like bundled software, but there still is an upgrade option).
quote: No
quote: Back in the day when I was just in the GG community and got Torque originally I remember asking the same question. It seems like a silly clause, though in the end it makes sense. Basically this means the Indie license can only be used to make games. So if you develop some other type of commercial software based on TGB (obviously you cannot make another game engine, but lets say mobile CD software solution, etc) you have to purchase the Commercial license. The Indie license is meant for Indie Game Developers ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
Thanks for your answers. It's kinda cool to have a CCN-GG Liason ![]() It's still up in the air whether or not i'll end up buying a license but maybe the 30 day trial download will help me decide. I think i'd probably end up getting the adventure pack for it as well. I like the idea of premade packages like that. Actually i kind of wanted to make a similar sort of thing ![]() ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
Yeah I definitely recommend using the trial. The trial is feature complete and includes all of the current documentation so you get a full taste of the engine. The only thing you don't get to test is access to the private forums (which is invaluable for asking questions and searching up answers) though still is a good way to try the engine without having to buy it. We have always supported people making content packs and code/script packs for our engines. Right now we only have Adventure Kit for TGB though are looking forward to people doing additional packs. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
On a side note, just out of curiosity; what is your background? and how did you end up with GG? Something like that sounds like an amazing place to work ![]() ![]() ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
GG is a blast to work for. Especially being a Christian, I definitely do not want to work for most of the commercial studios out there. It's also great providing tech (and documentation, the position I've worked into) to users who are exited and motivated to make games. Plus GG has always been indie supportive, even if we now cater to other game markets as well. As far as my background, I have a degree in Networking/Personal Computers and a degree in Game Design. I was part of the GarageGames community for about 1 1/2 - 2 years working with TGE heavily. I bought TGB when it was in early adopter (called T2D back then) and contributed heavily to the community (about 2k+ posts during that time and 10 full tutorials). I became an Associate (basically an esteemed member of the GG community who gets in on early knowledge and contract work). I also did some contract work for TGB before interning at GG. Like many other GG employees (well over half of the company, including the current CEO) I interned and then was hired The downside compared to most other parts of the industry is we make lots of financial sacrifices to do what we enjoy and believe. Thats why you'll usually see a GG employee laugh at the comments in which people claim GG is "laughing to the bank". The company started 6-7 years ago by a few remnants of Dynamix, the people who made Tribes & Tribes 2 (which is where Torque started, they got the rights from Sierra - who they sold to - for most of the engine). So the attitude at GG is always about doing what we enjoy and want to do on our own terms and allowing others to do the same ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
That sounds amazing ![]() That attitude that you described is amazing for a company to have. ![]() ------------------ |
Xian_Lee![]() Member Posts: 345 From: Registered: 03-15-2006 |
A little off topic: have you been to any of the CGDCs, Matt? I saw that GarageGames was hiring a web specialist, but I didn't meet all of the criteria, so an application wasn't in order. On topic: How does everyone like Irrlicht? I'm always interested in experimenting with other tools (mostly so I can say that I have), and I was just wondering what some general feelings toward it were. ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
Thats awesome that you liked the Tribes ![]() Three of the founders of GarageGames were the Executive Producer, Director, and Lead Programmer of Starseige and Tribes 1. Most of the being involved in Tribes 2 as well (The same Lead Programmer, Mark Frohnmayer). Jeff Tunnell who was the first President of GG (now Cheif Creative Officer, he stepped down as President to let Mark F. be president a couple years ago) was one of the two founders of Dynamix and CEO of Dynamix. ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
Irrlicht is fairly good in my opinion. It doesn't have the rendering quality that Ogre has in my opinion but it's quick to set up and has many nice features. I use a version of it called Jirr (Irrlicht for Java) because i LOVE Java ![]() ![]() ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
That's really neat about the Torque/Tribes crew. It'd be really neat to meet them sometime (not that it'll happen ![]() Plus i can't get enough of programming ![]()
[This message has been edited by jestermax (edited March 23, 2007).] |
Xian_Lee![]() Member Posts: 345 From: Registered: 03-15-2006 |
I loved Earthsiege 2 (which, unless if I'm mistaken, was a prequel to Tribes even though it has nothing to do with the Torque engine). One of the better mech games in my book. For what it's worth, I thought Tribes and Tribes 2 were awesome as well. So much functionality was there that other games just didn't have. Now that you've got me thinking about it, I think that the ability to make my own games with that engine is awesome. Of course, the better looking Torque Engine Advanced is cool, as well. Unfortunately, I believe it's Windows only (DirectX 9 is what it's built upon, right?) and I'm predominantly a Mac user with major preferences for cross-platform development (for that reason, I began C++ graphical development with SDL instead of DirectX or anything else). ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
quote: No... though last year after it happened Ben G. let me know about it (he goes). So this year I should be there.
quote: Yes, are web team is smaller than the ammount of work that needs to be done requires it to be lol. For the longest time the network Admin (and one of the founders of GG) did all of the web work. We now have a team slightly larger though we're looking to expand. I'd recommend you still applying, never hurts to try
quote: I've heard good things about it, though I've never used it. Jestermax's remarks about it are fairly in line with what I've heard.
quote: Well we're going to hold an IGC again this year (IndieGamesCon, we had to skip it last year) so a great time to come up here and meet GG, networking with other Indies, and each year we do it, it gets larger and we are able to bring in more opportunities for Indies (such as publishers and such... the year before last we were able to display the Xbox 360s and let people play the dev kits at the first Microsoft sanctioned public location, we had Greg Canessa here, head of Microsoft Casual games and XBLA, a great guy). Glad to hear your so passionate about game dev. It's a huge industry with lots of aspects. ------------------ |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
@Xian_Lee: You are correct the released version of TGEA doesn't currently support OpenGL, though it is being worked on ![]() ------------------ |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
Torque Engine Advanced looks amazing ![]() ![]() ![]() ![]() ![]() Anyways, I probably won't ever go to any cool places like conferences ![]() ![]() ------------------ |
Xian_Lee![]() Member Posts: 345 From: Registered: 03-15-2006 |
quote: I'm not keeping up on my development logs! I didn't realize that TGEA was working on OpenGL support. That's quite awesome. Of course, my Powerbook probably can't handle it anyway. All the same, I am now quite excited! Thanks for the heads up! ------------------ |