PDA

View Full Version : Slot Game Development



kmikc
01-11-2006, 09:53 AM
I have only three month developing slot game, 1st i fight with c++ to prepared all control, and now. I would like to know how does Opengl can helpme :confused:

dorbie
01-11-2006, 11:34 AM
OpenGL can help you render the cool 2D & 3D graphics for the screen, tumbling wheels animations, cards, themes & whatever else you want to do in there.

You will probably need content, like lots of high quality images ready for use as texture maps, and perhaps some 3D models and loading/rendering system.

You may be better off using a higher level graphics library if you really need to produce a professional grade product in a short time starting from no knowledge of OpenGL and you'll probably need an artist.

A skilled capable graphics guy could do something worthwhile in that time comfortably but a team of graphics programmer + artist would probably be required unless the graphics programmer was a little bit special.

It all depends on the quality & polish you need and your current programming abilities.

Do a search online and post an image of the kinds of quality/theme and features you want and I will try to advise you further on what you need.

If this is an embeded system then mentioning the hardware you are targeting would help, if you are still flexible there then fine, but at least with something like this you have a single target platfrom to develop for and can use it's features exclusively. Which operating system?

kmikc
01-12-2006, 06:51 AM
Thank, Yes I have a artist working with me.

The artist are preparing a lot of 2d and 3d graphics (Photoshop) and he wants to use Flash to create the animations and more (Is that correct, prepare content using photoshop and then work with opengl to integrated all?). And I want to use openGL. That is the problem, I am trying to explain him the platform problem with flash, but he still with that.

Maybe i thing because he knows flash, and maybe i must fired him!!!

dorbie
01-12-2006, 11:31 AM
You cannot use flash in OpenGL directly. Something like the Swiff player shows it can be done but that does not mean it's viable for a 3D app that want's to manage animations and assets itself:
http://www.globfx.com/products/swfplayer/

Flash is a proprietary format including advanced animation concepts that are drawn with a proprietary flash player. It would be complex to interpret the format and draw with OpenGL.

At the same time if you want animation & models by an artist you need some way to import that into your rendering engine.

You have some choices here, you can take his animations as image sequences and use them as animated textures (not too tricky to program).

You can get your artist to produce basic textures and images and you create the 3D animation through coding.

You could implement your own basic scripting/pathing system and give it to your artist to build animations in, but there's a bit of a chicken & egg problem here and the problem of providing the artist with suitable tools.

You could get your artist to use something like 3D studio Max or Maya to create 3D models which you then import & render, of course you still have the complex task of reading & rendering the content. Adding animations could be included in your exporter toolchain or format reader but it adds complexity to the exporter/loader.

You could use a high level rendering library like OpenSceneGraph for your rendering and get the artist to use tools that can export a format supported by the software you use:
http://www.openscenegraph.org/
Animation may or may not be supported depending on middleware and format.

You could implement your slot machine using a system that supports flash directly or some more fully functional 3D equivalent and runs on your platform, so that would probably be a Macromedia/Adobe solution, and would probably be a Shockwave 3D solution, with additional toos like 3D Studio Max for asset creation.
http://www.macromedia.com/devnet/director/articles/shockwave_3d.html
Or something more low level using existing flash capabilities as described here:
http://www.macromedia.com/devnet/flash/articles/flash_3d.html

Without knowing what you're after it's difficult to know what's suitable but a lot depends on what you're comfortable with and the quality/concept you're after. You could make a slot machine display that has all sorts of 3D stuff in it, there really are no limits, but I've never seen that, basically I've seen tumbling wheels, flashing lights and maybe a deck of cards flipping over. You could do that in code a texture loader and an artist who just creates images.

On the other hand you could raise the bar using any of a number of options including Shockwave 3D (you'd be developing in Macromedia Director). If you really want to raise the bar and incorporate advanced 3D features on your screen and your artist won't work in say Shockwave 3D or the associated 3D modelling tools and doesn't have 3D experience, and you can't handcode enough stuff, then you may need to get a more suitable artist, however there's a number of pieces you need to get in place to get 3D art assets including animations into your rendering system of choice and cue animations and rendering from your software even if you get the perfect artist.

An integrated system like Shockwave with associated modeling tools might get you there with the least pain but it's by no means the only game in town.

Something like Shockwave 3D uses Direct3D or OpenGL under the covers to accelerate performance while leaving you to focus on asset creation, management etc.

The only reason I'm mentioning shockwave repeatedly is the artist's fondness of flash. There are a number of systems out there that can give you hardware acceleration while supporting asset creation through standard content creation tools, most of them less web (& defacto standards) oriented that the Macromedia stuff. Something like an embeded system may call for one of those alternatives.

P.S. you cannot expect your artist to solve any of these problems or make any of these engineering decisions. He should be able to create the assets and use the tools you decide to (you will take his skills into consideration, e.g. what 3D modelling and animation packages can your artist use or learn quickly). You need to use or create a system that can manipulate and render art assets, if your runtime system includes hooks that the artist can further exploit all the better, use of custom tweaks in the final runtime is common too.