• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
perim

[web] 3d game in a web browser

15 posts in this topic

Hello GameDev!
I could really use some pointers on a big-picture plan of which languages to learn in order to accomplish what I'm trying to do. Thanks in advance for any help. I really do appreciate it.
By the way - I'm not a beginner, but I'm not that advanced yet either.

[b]My resources:[/b] (subjects I have read thick books about, but have yet to do much practice with):
HTML / CSS (HTML & CSS: The Complete Reference, 5th edition)
Javascript (Javascript, the Definitive Guide)
C++ (Ivan Horton's Beginning Visual C++ 2008)
Python (Python Programming for the Absolute Beginner)
I haven't learned PHP / MySQL yet, but I will. As well as anything else I need to learn to accomplish this dream of mine.

[b]My goal:[/b]
I want to make a game with a look & feel similar to the "dungeon master clone demo" called "escape from dragon mountain" as shown here - [url="http://www.youtube.com/watch?v=Put6IOUUYLI"]http://www.youtube.c...h?v=Put6IOUUYLI[/url]
But I want it to run fully in a web browser. Ideally. However, if that limits me to crappy options, then maybe I'd be willing to settle for it running outside of a web browser in some type of client that people would download from my site, while still keeping their saved character data on my server. This demo (which was never completed) was created by 4 people; so I figure I could make something simpler on my own (even if it were to require a goat sacrifice to the gods of higher education).

[b]My problem:[/b]
Figuring out the pieces of the puzzle needed to accomplish this.
For example, if I were telling someone what to learn to make a website, I'd tell them HTML for content, then CSS for presentation. Probably JavaScript next to create behavior. Then PHP / MySQL for server side scripting and saving to a database.

But what would I need in order to create a 3d game within (or possibly outside of) a browser? I've heard of Maya and 3ds Max. (and I'm not scared to save up the money to buy expensive programs, if they significantly cut the production time) Would I need one of those to create the 3d images? And what about PhotoShop - would I need that to create textures to put onto the 3d images? (If so, I'm also considering GIMP) But maybe those have nothing to do with this project - I don't know. Would there be any other pieces of the pie besides those? Maybe I'd need a non-scripting OO language such as C++ or Python...? Or maybe I need one of those game engines I hear people talk about. Or maybe this type of game doesn't need a graphics engine. And perhaps there's something that plays a key role between my programming language and 3d images that I'm unaware of.

Help! He he.

I've seen a 3d game run in a browser; it's called Sherwood Dungeon ([url="http://www.maidmarian.com/sherwood.htm"]http://www.maidmarian.com/sherwood.htm[/url]), which I had to download Adobe Shockwave to play. Maybe I need a developer version of that. (I didn't care much for the style of graphics)

[b]In short, I really don't know which ingredients I need, and what choices there are for each of those ingredients.[/b] I'm willing to spend ridiculous amounts of time learning this, as well as some money - I just need a point in the right direction; and Google just isn't cutting it, no matter what I try putting in the search field. (how I wish it were the Starship Enterprise's computer)

I realize this will take a lot of time, but my spouse supports me (in both meanings of the word) and I absolutely love learning geeky things on computers as well as designing games that I hope to be able to create someday.

Thanks again!
0

Share this post


Link to post
Share on other sites
Hello,
I will try to help you with some pieces of the puzzle.

Software like 3dsMax or Maya are for creating the 3D content like the model then applying texturing then possibly animating them.
The textures come from images (done on photoshop for example).

Now you would need to put this content somewhere and display/manage it via code.

Offline you can do it in C++ for example.

Online (inside a browser), there are a set of solutions which are engines made as plugins to run inside a browser.
The most famous is unity (www.unity3d.com).
Shockwave is dead (no more support for the tool).
There are 3D Engines (papervision, away3d, ...) for flash but they are fairly slow as they are written on top of flash (and not as direct as unity).

I would advise to check unity3d intensively as it does what you are seeking.

I do not want to discourage you, but developing content and programming is not a one-man job. It takes years of practice to do a very simple task correctly.
0

Share this post


Link to post
Share on other sites
Thank you SO much! And you even read my whole post, he he. I was afraid everyone would be put off by the length of it.

I'm glad to know Shockwave is dead because I was going to waste time looking into it. Now I know not to.

I looked into Unity3d as you suggested and it's exactly what I'm looking for. Thanks! Also, I appreciated your explanation of the relationship between Photoshop and Maya (and Unity3d). So now I know exactly what to study.

After spending hours reading and weighing options, I think I'm going to learn GIMP instead of Photoshop (because of the free price tag, yet robust abilities); Blender instead of Maya (again free but powerful, and Unity supports it); and... I'm still not sure which programming language I'll need to study (besides JavaScript and PHP, of course).

Will an OO programming language (besides JavaScript & PHP) come into play? If so, I'm leaning toward Python - but I couldn't figure out on Unity's website (and Wikipedia) whether it was supported.

Thanks again so much for the info; it was exactly what I needed! *runs to the bookstore*
0

Share this post


Link to post
Share on other sites
Hi Perim,

Your building in Unity judging from your last post. Unity supports a few different languages if I remember correctly - If you already know javascript, Unity supports developing in that I believe.
0

Share this post


Link to post
Share on other sites
[b]http://unity3d.com/unity/features/scripting

[quote][/b]
[b]Unity supports three scripting languages: JavaScript, C#, and a dialect of Python called Boo. All three are equally fast and interoperate. All three can use the underlying .NET libraries which support databases, regular expressions, XML, file access and networking.[/b]
[b][/quote]
[/b]
0

Share this post


Link to post
Share on other sites
Hello there,



For 3D rendering within a browser, you may want to have a look at WebGL.

What it basically does is offer you the possibility to display _real_ 3D in a canvas element, via a specific JS API. By _real_, I mean your state-of-the-art GPU (nvidia or ATI) can natively display 3D in your browser, without the need for plugins. Adobe has started to worry about this and (correct me if I'm wrong) will soon release something to counter WebGL.

So far, only some browsers support this, as it is still in a somewhat experimental status when it comes to browser implementation: Minefield, Chrome(mium) - and Opera is on the way. Forget about Internet Explorer (as for so many things).

WebGL has been very recently announced as 1.0. You can read the spec here: [url="https://www.khronos.org/registry/webgl/specs/latest/."]https://www.khronos..../specs/latest/.[/url]

Good luck with shaders and heavy math. ;)

You may also want to have a look at Javascript fram4works built on top of WebGL. The kind that will wrap (complicated/boring/arduous - pick one) WebGL stuff to "simpler" things. Examples include:
[list][*]three.js[*]spiderGL[*]GLGE[*]and probably many others.[/list]Combine this with JIT... and you get _very_ good performance for things that no one thought would happen even a few years back.



Cheers,

Plopo
0

Share this post


Link to post
Share on other sites
[quote]
[b]Implementation[/b]
WebGL is implemented in [url="http://en.wikipedia.org/wiki/Google_Chrome"]Google Chrome[/url][sup][url="http://en.wikipedia.org/wiki/WebGL#cite_note-3"][4][/url][/sup] and in [url="http://en.wikipedia.org/wiki/Software_release_life_cycle#Development"]development releases[/url] of [url="http://en.wikipedia.org/wiki/Mozilla_Firefox_4"]Mozilla Firefox 4[/url], [url="http://en.wikipedia.org/wiki/Safari_%28web_browser%29"]Safari[/url] and [url="http://en.wikipedia.org/wiki/Opera_%28web_browser%29"]Opera[/url].[sup][url="http://en.wikipedia.org/wiki/WebGL#cite_note-WebGLWebsite-1"][2][/url][/sup]

[/quote]

It is not really that commercial. So I would not recommend investing time in it for a project that you want to sell or promote as not the majority of the people would be able to
view your content.
0

Share this post


Link to post
Share on other sites
There's also a good opportunity to get involved early with the 3D movement in Flash. Adobe has released the Molehill preview that we can develop against, and several established frameworks already support it. Check out [url="http://www.away3d.com/"]http://www.away3d.com/[/url] and [url="http://alternativaplatform.com/en/"]http://alternativaplatform.com/en/[/url]. Essentially now that Flash is GPU accelerated, performance isn't really an issue any longer.
0

Share this post


Link to post
Share on other sites
[quote name='ZeRaW' timestamp='1299750463' post='4783931']
It is not really that commercial. So I would not recommend investing time in it for a project that you want to sell or promote as not the majority of the people would be able to
view your content.
[/quote]

this shouldn't be a problem
[list][*]Every new Browser is/will support it in just a few months[*]It would be so easy to build a fallback JavaApplet which could be used as a WebGL implementation instead of the one from the Browser[/list]



0

Share this post


Link to post
Share on other sites
[size="2"][color="#1C2837"][quote]It is not really that commercial. So I would not recommend investing time in it for a project that you want to sell or promote as not the majority of the people would be able to
view your content. [/quote]
[/color][/size]
[size="2"][color="#1C2837"]
[/color][/size]
[color="#1C2837"][size="2"]The only browser that won't be supporting it will soon be IE and that is already below 50% of the market(Europe), and ask you self when it comes to a game you may as well ask someone to download another browser to play as opposed to a native executable for just one game. Comparing to the mobile space iPhone is also <50% of the market and falling, would you recommend people not develop for it? Sorry, if I seem a little bias but I'm the guy behind GLGE ;-)[/size][/color]
[color="#1C2837"][size="2"]
[/size][/color]
[color="#1C2837"][size="2"]If you're interested I've also been working very heavily on the Javascript port of jiglib. it's looking very good so far, not native speed yet, but JS is getting faster fast. Plus, since webcl is on it's way expect massive improvements in the very near future :-) Small demo up at: [/size][/color][color=#1C2837][size=2]glge.org/demos/trimeshdemo/[/size][/color]
[color="#1C2837"][size="2"]
[/size][/color]
[color="#1C2837"][size="2"]
[/size][/color]
0

Share this post


Link to post
Share on other sites
[size="2"][color="#1C2837"][quote][/color][/size][color="#1C2837"][size="2"]I'm the guy behind GLGE ;-)[/size][/color][/quote]

Then I am mightily pleased you lurk around here. :)

Any chance to get more COLLADA demos/tutorials? I'm sure little Frankie would love to see similar friends pop up on the web. :)

OP: as I read elsewhere, if MS had its way, we would be reading Word documents when surfing the Internet A frightening proposition at best.. We can only hope to have a Direct3D equivalent of WebGL one day for IE support.
However, what I *think* will happen is a slow dwindling of IE. Always late, always slower and offering bugged/incomplete support for nearly or fully mature technologies ... end users have no pity and the evolution of browsers market share in the past few years show it.

Now, MS and IE does not necessarily mean "bad". After all, concepts such asynchronous HTTP requests, DHTML, were born thanks to IE. It's just a shame MS always tries to impose its proprietary standards, when (most of) the rest of the industry strives to create open ones.

My 2 € cents.
0

Share this post


Link to post
Share on other sites
This is the most impressive pure HTML 3d game I know:

[url="http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/3D/world/loader.html"]http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/3D/world/loader.html[/url]

written in JavaScript, utilizing WebGl (some elements are rendered in 2D canvas).
0

Share this post


Link to post
Share on other sites
[quote name='Danny02' timestamp='1300626200' post='4788213']
[quote name='ZeRaW' timestamp='1299750463' post='4783931']
It is not really that commercial. So I would not recommend investing time in it for a project that you want to sell or promote as not the majority of the people would be able to
view your content.
[/quote]

this shouldn't be a problem
[list][*]Every new Browser is/will support it in just a few months[*]It would be so easy to build a fallback JavaApplet which could be used as a WebGL implementation instead of the one from the Browse[/list][/quote]

yeah, all modern browsers support it by now. Already browsers (especially IE): forget it. Not only do they not support webgl and never will, they also have very slow JS implementations (most of them).

but JavaApplet? that won't work. There is no JS <-> Java bridge or I am totally not getting what you mean :)
0

Share this post


Link to post
Share on other sites
[quote name='sim27' timestamp='1300791029' post='4789046']
This is the most impressive pure HTML 3d game I know:

[url="http://www-valoria.univ-ubs.fr/Nicolas.Bonnel/3D/world/loader.html"]http://www-valoria.u...rld/loader.html[/url]

written in JavaScript, utilizing WebGl (some elements are rendered in 2D canvas).
[/quote]
Although the effort is amazing, it is very far from being commercially adapted.

What I meant, was use an editor like Unity. For example, at any given Time Unity might support WebGL then it will just "export" to WebGL.
Same as it does now with iphone,android, ...
and if it does not support it, your game will still be playable via their browser plugin.
0

Share this post


Link to post
Share on other sites
[quote name='super_eggbert' timestamp='1300641884' post='4788285']
[color="#1C2837"][size="2"]The only browser that won't be supporting it will soon be IE and that is already below 50% of the market(Europe)[/size][/color][/quote]Sorry but writing any web product which doesn't support IE is a seriously bad idea. When it's a game which is probably going to focus on the casual gaming market, even more so.

You can though use [url="http://code.google.com/chrome/chromeframe/"]Google's Chrome Frame[/url] which is effectively a plugin for IE which runs Chrome inside the browser. You are more likely to get users to install a plugin than a whole new browser.

I would suggest Unity is the best fit here though; flash-based 3D is not mature yet and WebGL, well then you have to write everything in client-side JS which isn't my cup of tea.


0

Share this post


Link to post
Share on other sites
While a True 3D game on the web-browser may be some time away from commercially viable, Isometric games are not and can be done now. By using some clever HTML/CSS tricks, you can render an Isometric view and develop and Isometric game all in the browser context. Do a quick web-search on the Aves Engine from Dextrose. There are some nice videos of a prototype Isometric engine. Dextrose was eventually purchased by Zynga, the makers of all those Facebook games like FarmVille.

I also agree with JDX_John. Your target audience must include IE 7+ users. Without them, you will have a failed game.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0