Hey. So I don't yet have enough messages posted to private message.
Personally speaking, I'm using the HTML DOM to create a game engine. However, I have somewhat dedicated time to it, and it's not something I'd tell someone new to try.
Mostly people, interested in HTML5 gaming are doing it in the canvas. Flash is dying. Mobile isn't supporting it. Apple is trying to kill it. Everything is moving to Canvas or other means. I have no experience with Unity, but Unity IMO is a constantly evolving project. If it wasn't constantly being worked on, and being innovated I'd say that it'd just be the stepping stone between Flash and HTML5.
With Unity's build one for all platform, and the interesting things they're cooking up. It's difficult to determine if Unity is going to make it. Their team is kickass, but they have two main problems to deal with. One, is that Unity requires an installation. They've done a lot to make that installation seamless, but one more layer between the user and game .. The second is HTML5.
===
The IDEA is that HTML5 is not going away at all. If you can create games with HTML5 (it's possible, they're just trying to figure it out), then HTML5 can do anything.
We're not going to use Unity to make websites. We tried that with flash and it was a disaster.
So developers have to choose. Learn HTML5 and do -anything- including mobile, console and any OS with a browser
Or learn Unity, to do one thing easier and arguably better.
Being however, that Unity's team is SWEEEET, I think if there's any chance they'll find a way to be relevant, then their team will succeed.
Also, as for right now in 2014. I think they're king, in terms of advantages.
Canvas isn't as optimized yet. Flash is being realized for being a resource hungry monster. People are still trying to work out this multiplayer aspect. All of these things Unity already has tools for.
This article says everything I just said with more detail and is just overall better. I don't even know why I bothered to write anything.
===
That said, either of which is a safe choice. The best choice, is what you feel most comfortable in.
Also. Flash still has a good 5 years of life in it. And even then, it's not like the flash plugin is going away. Arguably flash applications will still be made for dozens of years, but there won't be many jobs left for it. Flash might even become a stain on one's resume at the bleeding edge front.
===
As soon as I get private messaging, I can help tutor anyone .. I actually teach an HTML/JS/CSS course here on the east coast for free .. Because it's nice to do and I get bored with coding but want to do things that force me to use my skills from memorization.
That being said ..
Congratulations on trying to make your own game. Concentrate on finishing. Like LOK projects, the rest of the world has trouble just finishing their games. I've watched countless indie games attempt and fail. The only failure in delivering a game is not delivering. I talked to a few game companies back when I was still looking for employment and they all said the same thing "Have you finished a game"
The most fun in any project is starting. Finishing takes lots of not sleeping and facing algorithms/drawings/managing things you don't want to do.
As for starting capital .. Are you fed? Are you sheltered? Do you have access to a machine? Then no.
The only capital you need is that. Otherwise, the rest is to purchase your assets(music, art, code, anything you can't bring to the table yourself)
All you need to code is free. Except flash.
The first hurtle for a project I have seen im[H]o is that the coder can't art. The artist can't code.
Unless you're the magical "both", and you're good at "both"
Then.. Fuck you.
Even if you are the magical bi-talented unicorn. You still have limited time + motivation. Also, switching design + code gears costs stamina.
Unless you're the magical "both" with amazing handling.
Then.. Fuck you.
Windows 8 shouldn't be your problem. Completely disregard that.
Database of coding knowledge is stackoverflow, like bluelight said. Everyone uses it. It will save you in 99% of all your problems.
However, as a guide or tutorial. There are other things like
Codecademy and
W3Schools.But I should be able to help you out if you go the HTML5 || canvas route.
Maybe Bluelight will teach or already teaches Unity. And we've got a full browser based gamedev school .. : D
===
How would I do it?
Me, I haven't gotten into game development until recently. That being said I've created a few dinky little games. So the experience I'll be drawing upon will purely be about how I approach projects. This is where a project manager comes in handy. Even if it may sound stupid that you'd be giving credit to a person that essentially tells you "You have to do this". They're important in keeping the project together.
This person essentially is the advocate for anyone whose not in the room.
They hold meetings, they talk to artists, they talk to coders, they keep everyone on deadlines and they make some pretty tough decisions.
If you are your own project manager, you'll need a will of steel to sometimes tell yourself "This has to get done, or it may not get done at all"
It sounds trivial, but it's really important when one wants to slack.
But creating deadlines is very important.
As for art .. I do concept designs, but nothing compared to the pros .. Best not learn that from me.
But code .. I normally start with a high level architecture. The big picture of where things will go. Do it on a coffee napkin.
Game starts here ..
Main loop does
-- bippity
-- boppity
-- boo
Collision handler comes under these conditions
saving gets handled locally
-- then hits a server
-- then is saved in a db
Like this ..I would do this, but I would not tell a junior developer to do this. However it's very good to keep in mind the type of thinking you will want to do in the future.
When you code, you often find yourself in a place where you've "Coded yourself into a corner". You've built a structure that just can't be scaled, and making any changes to the code requires a dozen changes in other places. Slowing down the progress of the project down to motivation wrecking crawl.
The problem is that high level architecture is rarely understood by junior developers because they haven't run into problems that would be caused by it.
Not because they can't appreciate it, but because it's difficult for a junior developer to create a large enough program in which they code themselves into a corner.
Which is great. If you don't need it, don't use it.
Then after architecting, I will get into a prototyping phase which is just straight coding. No real thinking. Just make features as fast as possible.
Every now and then I'll update the project manager, or talk to the designer about a new feature. This is good because this will get them both excited, and as a team, you want to motivate each other. Losing motivation is the only way you can drop the project. So during your meetings, you show each other what you each accomplished. Prototyping is very cool for your PM and Designer to see, it'll give ammo for the PM if he's talking to clients or he's advertising.
Since a PM's job is sort of being a personality front, the more content you give him/her, the less they have to go to meetings on their smile and charm alone.
The designer, needs to see their work come to life. The more life you give their art, the more art they want to see alive.
So, as a coder on a team. Prototyping is great
.. It's also a trap.
Prototyping is taking shortcuts to get the feature out as fast as possible. In this, I'd say it was like. A walking animation. Maybe the character bumps into walls and bounces off of them. Maybe you've accidentally come upon a neat little glitch that ends up being a cool gravity mechanic for the game.
But prototyping is taking shortcuts, and will lead to inefficient and un-maintainable code.
As you get better, you will prototype things in more efficient and maintainable ways.
But ultimately, you're going to have to stop and take your code apart and put it in such a way that it is efficient and readable.
But that's ok. Designers and PMs too have their downtimes.
Designers also prototype with their sketches and eventually have to clean up their work.
The point is when this downtime comes for me. I try to do it fast enough to get to my next set of features.
That's a lot of writing, I'll try to make more posts so that I can PM, but maybe you have AIM MSN Y!M SKYPE and we can talk more