Jump to content
MakeWebGames

Far too many, and far too soon!


SirChick

Recommended Posts

There seems to be far too many games that are no different other than theme.

Half the browser based game owners i see on this site, don't seem to know how to code PHP to save their life only how to edit scripts of an engine (this does not make you a programmer in any shape of form)...i just don't understand the mentality of many game owners wanting to own a game NOW NOW NOW instead of learning how to code. Every game i try to make (albeit only 2 i made public) was from a blank php script and i find it easier to make a game from scratch than learning a game engine. Given PHP evolves and improves, an engine is soon out dated and inefficient.

I can bet 99% of PHP browser based game owners don't have a clue how to make a PHP game from scratch, and if you do, then why didn't you do it ? Ask your self this, can you do the following things without a pre-made engine:

A sign up page, a register page, basic security & input validation checks? How to connect to your database in PHP, how to set up error reporting system ? How to use cookies and sessions? A mail box system? A basic stats incrementer (like a gym).

These are very fundamental PHP game functions that cover most things that would be using arrays, functions, classes, if statements and loops.

Then there is MYSQL, do you know without even looking how to join two tables on a commonly shared id, and what do you do if two fields from both tables have the same name and you need to get one of them in the SELECT, do you know the difference between a left join and an inner join ? Is it more efficient to do a count(field) as total for a boolean check or a mysql_num_rows() function call. If you do not know even one of these things i mention you no where near ready to make/run a game. Yet time and time again people fork out cash on servers upload an engine fiddle with the settings, change the name and CSS and W00 im a game owner and im a programmer. JUST STOP!

Patience is how you get there, too many jump straight into running a game before learning this stuff. If you ever wanted to evolve to learn OOP programming, well you just won't get there if you do it this way. (Assuming you ever want to make graphical games and not browser based).

I've been embarking on my first graphical game, its taken me 2 years, but I'm learning browser technology that is still being tested, there is very little documentation, its hard as hell, but thats how you learn to master these things. I could dissect an engine and learn one (if there was one) but that does not assume its the right way to go about making the engine, there could be better ways and it depends on what you need for you're game.

/rant

:P

Edited by SirChick
Link to comment
Share on other sites

If you ever wanted to evolve to learn OOP programming, well you just won't get there if you do it this way. (Assuming you ever want to make graphical games and not browser based).

[ATTACH=CONFIG]328[/ATTACH]

What does OOP (Object Orientated Programming) got to do with a "Graphical" (2d/3d) game?

funny-pictures-kitten-shoe-loled.jpg.4df843cf88298edb7811e0ca8f4fe5d7.jpg

Link to comment
Share on other sites

Half the browser based game owners i see on this site, don't seem to know how to code PHP to save their life only how to edit scripts of an engine (this does not make you a programmer in any shape of form)...i just don't understand the mentality of many game owners wanting to own a game NOW NOW NOW instead of learning how to code.

Not everyone that has started with an engine learns nothing. There are members, like illusions, that have learnt a great deal by doing this. As long as you don’t blindly copy and paste code, and try to learn what the stuff in front of you actually does it’s not a bad way to learn, and works for people.

Rushing a game out with the same old features is, in my view, just lazy.

 

Every game i try to make (albeit only 2 i made public) was from a blank php script and i find it easier to make a game from scratch than learning a game engine. Given PHP evolves and improves, an engine is soon out dated and inefficient.

Are you really saying you have never used anything open source? If so why not! Even when starting from scratch there are resources that make life easier. Many good frameworks for example. Or a better example using Jquery is easier for some rather then typing the JS out themselves. Still them doing something, but makes life easier.

Php changes, sure, but not enough that one release will make your entire program redundant. Early PHP5 code is still useable, and if not it is with a little update. Some languages change so much, and so quickly changing the version you are using is bad, PHP is not like that.

 

A sign up page, a register page, basic security & input validation checks? How to connect to your database in PHP, how to set up error reporting system ? How to use cookies and sessions? A mail box system? A basic stats incrementer (like a gym).

These are very fundamental PHP game functions that cover most things that would be using arrays, functions, classes, if statements and loops.

Just for the record yes, and if I couldn’t youtube videos and other online tutorials could get me acquainted with the basics within days.

 

Then there is MYSQL, do you know without even looking how to join two tables on a commonly shared id, and what do you do if two fields from both tables have the same name and you need to get one of them in the SELECT, do you know the difference between a left join and an inner join ? Is it more efficient to do a count(field) as total for a boolean check or a mysql_num_rows() function call.

All of which you could look up very easily. Take mysql_num_rows() vs count() speed, ok fine something to know, but will it make a massive difference to someone programming for a hobby? Nope. Join queries I will give you. It’s rather useful to know, and I know some people have found it confusing.

 

Patience is how you get there, too many jump straight into running a game before learning this stuff. If you ever wanted to evolve to learn OOP programming, well you just won't get there if you do it this way. (Assuming you ever want to make graphical games and not browser based).

If you want to “evolve” to OOP don’t use PHP. There are much better languages that implement it in a much better way. I’m not saying PHP is bad by any means, but it’s not a language I would pick for the OO based way of doing things.

For the record you could make a 2d games using procedural or OO PHP(with some other languages of course e.g. css, js etc) and if you’re trying to create something 3d? PHP is not the right language for you.

Edited by Dominion
Link to comment
Share on other sites

[ATTACH=CONFIG]328[/ATTACH]

What does OOP (Object Orientated Programming) got to do with a "Graphical" (2d/3d) game?

Because a lot of them are written in Object Oriented languages, and you have to understand OOP?

Idk, that's what i assume he was saying.

Link to comment
Share on other sites

Because a lot of them are written in Object Oriented languages, and you have to understand OOP?

Idk, that's what i assume he was saying.

What i was laughing at was

 

well you just won't get there if you do it this way.

you can learn OOP anyway you want, not to some specific Language.

Link to comment
Share on other sites

It's' all well and good using open source resources, but if you couldn't figure out how to do it yourself without the help of resources, you simply haven't learn how to program properly yet. But i don't use any resources because almost none of them are optimized or as efficient as can be unless were talking very basic scripts which you should be doing yourself in the first place not googling them.

Your not a programmer if you Google snippets of code and patch them all together, its all good doing so but if you couldn't work out the logic behind how to do it yourself you should not be considering releasing game - until you learn the fundamentals.

And @Dominion i know illusions very well probably more than you lol - even he will tell you he could not make a game from a blank page. So that kinda backs up my point entirely. If he was to make a game from scratch it would be all MCCodes style which is very old code :P

Link to comment
Share on other sites

To be honest I totally disagree with that. Using open source things is fine. Take nbbc should I waste time creating something of my own for the same job or simply use what is freely available? I could create something similar but it's time wasting.

Of course understanding what's behind it, and how it works is important, but a lot of sites are based on a CMS for example. Do you think using CMS means you don't understand it? From what you've said I am getting that you're attacking those who simply use what's there, and don't learn. People that use engines do, most of time, learn as they improve it.

I'm simply saying this is a bad generalization to see.

Link to comment
Share on other sites

From what you've said I am getting that you're attacking those who simply use what's there, and don't learn.

 

This is what im referring to yes. I see it every where, even in JavaScript alot of people use jquery but could they make the same function without jquery or other library doing it for them, probably not... but they should know the understandings of it not just take it for granted. Whilst i agree if u use an engine you do learn the engine, but if you went to make you're own you'd be constantly looking at the engine you used and practically copy it because its all they know.

You should only use an engine "after" they know how to make even a basic one themselves. Because if they can't make one , how do they know which engine is best, or which one suits their needs, they could ask people but again thats relying on everyone bar their own knowledge.

I see a fair few threads not just here of users saying "i have this game i'm making but i don't know how to make a registration page".... if you don't know something that simple, why are they making a PHP game everyone wants to run before they walk.

Here is an example of what i hate about this world right now :P

http://img180.imageshack.us/img180/3305/addanumbertoanothernumb.png

Its a joke image but its very true particularly on that website.

Edited by SirChick
Link to comment
Share on other sites

You should only use an engine "after" they know how to make even a basic one themselves. Because if they can't make one , how do they know which engine is best, or which one suits their needs, they could ask people but again thats relying on everyone bar their own knowledge.

This made me laugh.

Sorry to a point I disagree. If you do not know the basics then yeah you shouldnt really be trying to start a game. However if your beyond that then I dont see any reason to re-invent the wheel. I use others code all the time when I am implementing new features.

1. If I decide to use a bit of code I make sure I understand what it is that the code does therefore I feel justified in using it and can then take what Ive learnt from that and use it again in other situations.

2. I google for code if I am unsure if thats the best way or if I am approaching it from the right direction. Why? am I a bad coder or not proficient enough to write it myself? No it just saves time and it sums up the nature of the internet. You can share. People wouldnt post code if they didnt intend for it to be shared and used.

If I had the time or the inclination I could write an engine. However I dont wish too and would rather use what someone else has provided.

Link to comment
Share on other sites

This made me laugh.

1. If I decide to use a bit of code I make sure I understand what it is that the code does

You disagree only because you do not the fit the group of people im referring to. Because you spend the time to learn and understand it not just take it for granted as per the entire point my thread was on about. The thread is on about you ONLY if any thing i said rings true. So try not justify yourself by defending yourself, because then you just make it seem like the thread is aimed at you. But we both know the type of people im referring to - v.much exist.

The whole point of being a game developer is also being able to make an engine if were talking about having a career in it. All companies make their own engines they don't "google it". Of course some companies make really bad engines which ruins games.

Edited by SirChick
Link to comment
Share on other sites

I'm made a pretty sexy engine (if I do say so myself) for my own game, but after months of release it only hit 100 players. 20 of which were bots. So it was a failed process. I was gonna push the project to github to let people learn from it, but I completely forgot to it.

Point being, I saw these engines and said. What the hell will I learn buying someones stuff. I took a few months and made my own. You learn a lot more and fixing bugs in code you wrote is a helluva a lot easier than learning someone elses code, which usually sucks and isn't well documented.

Link to comment
Share on other sites

Once you make an engine in PHP you could try C++ game engine.... 100 times harder but if you can achieve it you can make some really cool games. Or try a JavaScript game engine - found JS harder than PHP because of all the objects you have to handle. And constantly trying to FPS up to at least 60.

Link to comment
Share on other sites

Although I agree with you to a certain extent ... there is a large portion of people who learn better by having an example of something that has already been done to refer to than trying to create something from nothing. I am one of those people. I like having an example to work from so that I can (in most cases) follow the logic. Admittedly there are times obviously that I get stuck on something that I just can't see. (Right Ruler?) That's what I come here for ... when I get really stuck and I am missing the obvious when it has been staring me in the face for the last 3 days. The people on here will for the most part give you what you are looking for or point you in the right direction. If it were not for the help I have recieved here from some really great people I would have given up long ago.

I personally don't see anything wrong with learning as you go. Nor do I see much sense in recreating the wheel when it has already been done. What I do like to do (or try to do) is make the wheel look even better. Am I succeeding in that. *shrugs* Only time will tell.

Link to comment
Share on other sites

So would grabbing a php book from a local book store qualify it that you do NOT know the basics or NOTHING about php after reading it? google is used 99% of the time I use it all the time to look up something I do not know instead of looking in a book, does this make me an unauthentic learner because I use google?

I would like to know how you learned php without a book or google, and a tutor? And what about the online classes for php? does this classify they are doing php wrong because it's on the internet?

Every person out there that has learned PHP has used google!! You can not say you have never used it obviously you posted a link from a google search, so you have had to use it some way or another lol.

Sorry if I took your post the wrong way.

I can see if someone was to make an engine and produce it within a week then you would know it was a copy paste deal, I believe making an engine from scratch takes over 3 years depending on who is helping if it's a one person deal, or what not, even then it may take longer depending how much you know language wise.

Edited by lucky3809
Link to comment
Share on other sites

Once you make an engine in PHP you could try C++ game engine.... 100 times harder but if you can achieve it you can make some really cool games. Or try a JavaScript game engine - found JS harder than PHP because of all the objects you have to handle. And constantly trying to FPS up to at least 60.

I'm sorry but Javascript harder than PHP? Or did you just learn php first and then javascript so now javascript is harder cause you learnt PHP first?

To the point.

We all like to create thing's from scratch, me on the other hand i will prioritize what i need done in time. If i know i can not create it in time, then why not use open source libraries? They have been developed upon by many more people than your 2 eye's and debugged further than what you'd think.

Edited by HauntedDawg
Link to comment
Share on other sites

Ruler: it took me about 3 months from scratch to code the engine (NWE). But mind you, it's an engine not a full ready to be played game. I think lucky mixed engine and game as it seems to happen many times here. To make a full game out of my engine I believe I would need another 10-12 months to be really ready and fun. But you can't use my timing with everyone else here.

Link to comment
Share on other sites

I'm sorry but Javascript harder than PHP? Or did you just learn php first and then javascript so now javascript is harder cause you learnt PHP first?

Depending on the engine, yes. I'm making a graphical engine in JS, something you couldn't do in PHP its just not the language for it, you have to start thinking about things like frame rate, collision detection at pixel level, fractional pixel movements, shaders, particle engines...physics engine, path finding algorithms.

Really difficult to do it from scratch but i know how to now, its been a long and challenging 2 years of learning - making constant scripts that fail massively till i eventually got it to work, some times i had to disscet some C++ game source code to see how they approach things more efficiently :P

But i find it fun personally im sure others would lose patience very quickly. Then there is the networking using web sockets and long polling systems for "live action" between players, calling a server has to be efficient when you scale to many thousands of players, its difficult to know when making an engine, if it is the best it can be or if you have not heard about a better method.

I can assure you its ALOT harder than PHP if you use JS to its full capabilities. I'm not referring to things like Travian, which is heavy JS but it does not have a render engine, its simply manipulating the elements on the screen.

So yes JS is harder - depending on what you're using it for... if you use it to just make PHP browser game more slick then no.

Edited by SirChick
Link to comment
Share on other sites

Depending on the engine, yes. I'm making a graphical engine in JS, something you couldn't do in PHP its just not the language for it, you have to start thinking about things like frame rate, collision detection at pixel level, fractional pixel movements, shaders, particle engines...physics engine, path finding algorithms.

Really difficult to do it from scratch but i know how to now, its been a long and challenging 2 years of learning - making constant scripts that fail massively till i eventually got it to work, some times i had to disscet some C++ game source code to see how they approach things more efficiently :P

But i find it fun personally im sure others would lose patience very quickly. Then there is the networking using web sockets and long polling systems for "live action" between players, calling a server has to be efficient when you scale to many thousands of players, its difficult to know when making an engine, if it is the best it can be or if you have not heard about a better method.

I can assure you its ALOT harder than PHP if you use JS to its full capabilities. I'm not referring to things like Travian, which is heavy JS but it does not have a render engine, its simply manipulating the elements on the screen.

So yes JS is harder - depending on what you're using it for... if you use it to just make PHP browser game more slick then no.

 

Lol. Whats with all of these engines your using? particle engines? physics engines? Can you create a particle engine? Can you create a physics engine? (I says jokingly.)

Basically what you said in your first post is you should not be using the engine if you could not create it.

But whether you can create it or not engines are put there to save you the work of doing certain tasks. Realistically the main requirement you should have when using the engine is knowing how to use it, what it does, and how it reacts.

As of js being harder than php? What aspects did you find harder. Syntax? API? Cross Browser Compatibility? Scope? Other?

By the way... Specifically what language is this graphical engine being made in? Client Side(Web Browser) js or some other language/tool using js.

Collision detection? Not hard

Fractional pixel movement? As long as the language you are using supports it. Doesn't really take that much math skill.

Path finding? Not hard. Its mainly a matter of knowing where the object is not allowed or can not pass. Then looking for alternate paths.

Frame Rate? Can be kept stable by knowing how to deal with highly intense animations, graphics and other tasks.

Particals? Physics? Shaders? Already done by use of engine.

Not saying it's easy.. But it's something most good math scholars can do. It's Off-Topic but just trying to figure out what exactly you are aiming at with your engine... As graphical engine doesn't exactly point it out.

Link to comment
Share on other sites

To be honest I totally disagree with that. Using open source things is fine. Take nbbc should I waste time creating something of my own for the same job or simply use what is freely available? I could create something similar but it's time wasting.

Of course understanding what's behind it, and how it works is important, but a lot of sites are based on a CMS for example. Do you think using CMS means you don't understand it? From what you've said I am getting that you're attacking those who simply use what's there, and don't learn. People that use engines do, most of time, learn as they improve it.

I'm simply saying this is a bad generalization to see.

I completely agree. I use whats available out there, I pay for mods, and I ask for help if I dont understand it. Im brand new to this field and I jumped right in and am trying my best to learn as I go as 99% of the development population has done. I'll admit that right now im far from being considered decent but then again its only been a few months since I have first seen a snippet of php or a even a db. Everyone has to start somewhere and ill bet my last dollar that everyone started from the bottom.

Now that I got that out of the way, I also agree that people probably shouldnt jump right into it as I did but how else is there to learn? You can only find so many errors/issues on a localhost by yourself. Just think if its just you going through every func, case, file, etc as opposed to 100 or even 30 people chances are yiu'll find any bugs or issues sooner than later, bite the bullet, learn from your mistakes and start again

Edited by KyleMassacre
Fat fingers
Link to comment
Share on other sites

By the way... Specifically what language is this graphical engine being made in? Client Side(Web Browser) js or some other language/tool using js.

Collision detection? Not hard

Fractional pixel movement? As long as the language you are using supports it. Doesn't really take that much math skill.

Path finding? Not hard. Its mainly a matter of knowing where the object is not allowed or can not pass. Then looking for alternate paths.

Frame Rate? Can be kept stable by knowing how to deal with highly intense animations, graphics and other tasks.

Particles? Physics? Shaders? Already done by use of engine.

 

I consider each aspect its own mini engine that a "main" engine binds them all together, all made from scratch, and its client side JS or thats my aim i have only done about half of it so far. (I'm not looking forward to the particle engine part).

You say its not hard but JS manipulating graphic objects is rather new in HTML5, there are no real games that have mastered it yet because browsers still have not perfected a decent standard. Pixel detection for collision maps not really support by most browsers, there is a way to do it but it ain't efficient by any measure. - there for yes it is much harder - given browsers are only just allowing JS to use such powerful stuff now - it was not really possible before.

Path finding is quite hard but for different reasons - not so much the implementation but keeping it low intensity + making it look "human ish" and thats before taking into account any live action.

There are a few path finding algorithms to pick from, A* is often the favourite algorithm (used in Age of Empires) but the challenge is to make it non intensive. You also have to consider live action between people online means the obstacles are moving (aka other players moving), so you have to work that into it as well.

In C++, its not so bad you can loop a good half a million times a second, if a browser could do that = amazing, but it simply cannot lol so you have to think out of the box (maybe one day browsers will be able to execute code that well but C++ is always going to be more powerful i think).

 

Stable Frame rate is not important, what is important is keeping it "above" a level that people can detect as smooth. Ranges from 30 to 60. I aim for 60 FPS so i can afford to drop down alot but i put a cap at 60 as i don't believe you will notice much above 60, but all browsers draw at different efficient levels, thats before taking into account people's PC hardware so there is an extra issue to consider unlike conventional Window's games. When the game reaches 30 i have had to work out ways to make the game "ditch" unimportant stuff to keep the FPS up.. the issue with no doing that, will cause out of sync visuals to other players in a live interaction on a map...again there is limited information on this but the isogenic engine seems to have managed it so it is possible - i'll work it out eventually, i have been researching into web sockets to possibly solve the sync issues.

You say some of these things are not hard but could you make them from a blank page which is the point of the thread really, many simply would not because they could not (ignore the fact its waste of time - whilst it is if you have already learn it - it is not a waste of time to make it from scratch to learn it).

To make a graphics engine is easily 2 + years work in C++ its probably longer in JS due to limited information/examples and technology limits, so yes it is by far harder than a PHP browser based engine which can't do any of these fancy graphical things.

 

Particles? Physics? Shaders? Already done by use of engine.

Thats no good :( specially as im trying to make an engine - its all good relying on some engine, but again why not challenge yourself and make it from a blank page like myself, you learn a lot!!! After all what good is being a programmer if you don't learn how it all works :D Part of being a programmer is enjoying learning the stuff not just patching stuff together to make something work.

This is a nice attempt by some one :

This is what inspired me to make my own.

Glacial Flame was later abandoned how ever due to too much work involved but the particle engine was quite good. When you consider its all in HTML and JS nothing else, same as many PHP browser games you already know of or play, its quite impressive, albeit performance wise its "so so" but it's getting there v.quickly!

Link to comment
Share on other sites

You say its not hard but JS manipulating graphic objects is rather new in HTML5, there are no real games that have mastered it yet because browsers still have not perfected a decent standard. Pixel detection for collision maps not really support by most browsers, there is a way to do it but it ain't efficient by any measure. - there for yes it is much harder - given browsers are only just allowing JS to use such powerful stuff now - it was not really possible before.

When you say html5. Do you mean using the html5 DOM, or the html5 canvas?

 

Path finding is quite hard but for different reasons - not so much the implementation but keeping it low intensity + making it look "human ish" and thats before taking into account any live action.

There are a few path finding algorithms to pick from, A* is often the favourite algorithm (used in Age of Empires) but the challenge is to make it non intensive. You also have to consider live action between people online means the obstacles are moving (aka other players moving), so you have to work that into it as well.

Making it look human ish? Wouldn't that be the responsibility of the animation?

Pathfinders will be very intensive depending on how many paths there are and where you search.

 

In C++, its not so bad you can loop a good half a million times a second, if a browser could do that = amazing, but it simply cannot lol so you have to think out of the box (maybe one day browsers will be able to execute code that well but C++ is always going to be more powerful i think).

That estimate is pretty off. Both C++ and client side javascript can loop a few million times per second.

 

You say some of these things are not hard but could you make them from a blank page which is the point of the thread really, many simply would not because they could not (ignore the fact its waste of time - whilst it is if you have already learn it - it is not a waste of time to make it from scratch to learn it).

Yea I could do it... But what I was trying to figure out is why are you doing it. I have no estimate, but lets just say a lot of dedicated programmers have the skill to do put these things together in a short period of time. (Lol, getting more off topic.) Any way, was just trying to figure out what more your engine had to offer besides what you are thinking about while making it.(frame rate, collision detection at pixel level, fractional pixel movements, shaders, particle engines...physics engine, path finding algorithms.)

 

Thats no good :( specially as im trying to make an engine - its all good relying on some engine, but again why not challenge yourself and make it from a blank page like myself, you learn a lot!!! After all what good is being a programmer if you don't learn how it all works :D Part of being a programmer is enjoying learning the stuff not just patching stuff together to make something work.

You said you were using an engine to implement those features, so i didn't need to explain their complexity.

 

Glacial Flame was later abandoned how ever due to too much work involved but the particle engine was quite good. When you consider its all in HTML and JS nothing else, same as many PHP browser games you already know of or play, its quite impressive, albeit performance wise its "so so" but it's getting there v.quickly!

Again are you using DOM or Canvas? Also is it going to be 2d or 3d?

Link to comment
Share on other sites

Canvas and it has a combination of 3D and 2D - the 3D is mainly the characters and buildings, things like weather effects are 2D layered on top.

 

You said you were using an engine to implement those features, so i didn't need to explain their complexity.

I'm making the engine :P Not using some one else's.

What i mean by making it look humanish is the AI not the animation, animation is just down to the amount of work spent in a Render program. It could pick the shortest route every time, but the path might look a bit non human, specially in a isometric perspective, for example "clinging" to the edges of walls and following it, instead of staying more in the middle of the path it is walking on etc.

Yes it is intensive but you can reduce how intense it is with alot of tweaks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...