On-site tutorial with PHP?

Status
Not open for further replies.

Dinocanid

Artist
This is something I've failed to find on google, since no matter what I type I always get general PHP tutorials. What I'm talking about is some sort of interactive tutorial for the pet site. When users first create an account, they might get a pop-up about how to get their first pet and where to go. After they adopt that pet, they get another pop-up on where to buy certain items, how to take care of their pets, certain mechanics, etc.

While it would be easier just to record a video and/or have a text tutorial with pictures, I've always found things easier to grasp this way. Of course, users would have the option to completely skip the tutorial if they want to.

 
This all has to be coded painstakingly by hand.  Essentially what you want to do is have a table which contains:

  • user_id
  • task_number
  • date_enabled
  • date_completed
And then on every page load (eww) check how far they have gotten.  Then once complete, mark it on the actual user table so you can bypass that big scan.

On each of the pages, you want to walk the user through, you would then need to check if the user is on that particular step.  If they are, then you would show them the walkthrough.  If they are not, it is hidden from the user.

 
I think it's generally referred to as a guided tutorial, self-guided tutorial, or user-guided tutorial. You might have more relevant search results with a specific string like "guided tutorial" design; this should remove things that are tutorials themselves to a large degree. You'll get mostly pages of different design patterns for this sort of thing, and then you can probably look for instructions in PHP to complete those tasks once you've identified them. (I found this, which might be relevant to you if you're open to using outside libraries or working with Javascript.)

This actually doesn't need to be so database intensive. You don't have to make a table of the events, and I wouldn't suggest you do. It doesn't have any relational information, so it's really not necessary that it be the database - not everything needs to be. I can only see this being useful if you are going to crowd-source the steps or allow other people to submit things that would have to be potentially flagged for inclusion/exclusion.

You can simply have a flag on the user table that indicates their status on the tutorial. This can be easily stored in their session so that it can be checked without having to query your database, and I would suggest that the identifier of each step be something that is easily understood in your code (human readable) and not just numbers. Write a function that initiates the appropriate step by this keyword and updates the user table and their session when completed.

 
Something like IntroJS is actually exactly what I was looking for, thanks! I'll be sure to use that search term though, so I can look at other options.

 
You can't afford $10? Are you sure you're ready to make a game? Sever costs alone are much higher than that....
Why spend $10 when there are free alternatives that can basically do the same thing? (IntroJS for example) I use free hosting  (for both of my sites) and only need to pay once a year to keep my domain name, so I'd rather save up for more important things like better hosting and staff (when I need it)

 
Last edited by a moderator:
You can't afford $10? Are you sure you're ready to make a game? Sever costs alone are much higher than that....
I appreciate that you offered to donate a license, but this is incredibly rude. There is absolutely no reason you should be mocking other developers for their choice to use only free and/or open source packages. These are not professional developers, most of these games are passion projects (as you well know), and your assumption is also very incorrect - there is no reason that a small developer working on a passion project needs to pay more than $10 for hosting, or to purchase any of their libraries if the open source options will do (and 99% of times they do, just with less bells and whistles). 

Also, shame on you. I’m fully aware that you’ve been in the community for a long time (as I was well aware of your games and work 15 years ago), but this is really not how you should behave. You should be making yourself a community leader and seeking to educate the people who are probably younger and clearly less experienced, not mocking them if they make different design, architecture, or licensing choices than you have. This kind of behavior really just works to invalidate any actual advice you might have to give.

 
It's the reality of the situation, making games is expensive. I didn't intend to be rude, otherwise I wouldn't have offered to buy them a license. If that's how it came across I apologize. 

 
I really don’t like to engage as a rule, but let’s be real - how on earth do you think you weren’t being rude when you made two posts asking if they really couldn’t afford $10? Would you not feel this was rude if someone did it to you? If the second post was an accident, why didn’t you edit it to change the way that seemed? Offering to pay for it was not generous so much as you pushing your own choices on another person.

Also, that is not reality. That is your reality. The amount of resources available to these developers is exponentially more than when we were first starting trying to do this. Just because you have spent money on building games doesn’t mean they have to. It is not unrealistic for one developer to produce their entire game, it is just unusual. You are perpetuating this fallacious way of thinking that building PBBGs (or web apps in general) needs to be expensive, when, especially in 2017+, it does not. Again, these are not businesses, they are passion projects. Please don’t encourage people to limit themselves or their creativity by falsely telling them that they need large budgets.

 
It's the reality of the situation, making games is expensive. I didn't intend to be rude, otherwise I wouldn't have offered to buy them a license. If that's how it came across I apologize. 
I accept your apology, but volka is still right. I understand that back in the day, making web apps, pet games, and games in general was very expensive, so your advice would hold water back then. However, now the internet is full of free resources and tutorials to give people a head start. Later down the line, I plan to spend money on hosting and staff; but that's only when I need it. (When games get big and busy, a free host won't cut it) I don't feel comfortable pouring money into my 2 alpha-stage games (one I've spent 3 years on now), if life were to make some unexpected turn and those games never make it to beta, that's hundreds of dollars down the drain. I would be spending $80 (or so) for hosting on a game with no traffic, for example.

I also get that in many cases, even today, starting a game is not free if you can't produce assets yourself. (artists and programmers very, very rarely work for free) So in those cases, you can expect to be paying  $100 from the get-go, depending on how prices are. However, I do the art and programming myself, with the exception of some volunteer work and pre-existing code. So for me that rules out until I feel the need to start hiring. But games don't cost thousands of dollars to make anymore. When it comes to public multiplayer games, you can expect your expenses to rise; but if your game isn't big and you're okay with a slower development pace then starting out doesn't always come with a price tag.

 
Last edited by a moderator:
@Dinocanid -- I definitely like IntroJS.

@Design1online -- The argument to make isn't the cost of something, but the value to the individual person. I think it is common knowledge these games take a lot in terms of financial resources, but they also a greater opportunity to learn something that may be out of the comfort zone of individuals. Now - that is worth a lot more then anything monetary. What @Dinocanid was asking for advice on solutions, and they gracefully declined your solution (which is absolutely valid and worthwhile addition.)

We would like to strive always for the helpful and courteous community where people can ask these great questions and get great feedback. We want friendliness to win the day, not arguments or retorts.  :)  

 
It sounds like this hit a nerve with a lot of people. Why should talking about what a game realistically costs something that's looked at so negatively? I thought this was supposed to be a place of constructive discussion and help for game developers. If someone told you they wanted to build a game with no skills in programming or art or writing and no money and no time you would ask them if they were going to hire people or do the work themselves and consider what it would cost to hire those people. If they said they couldn't afford to pay a programmer you tell them they need to learn on their own or start saving up the money or maybe they're not ready to make a game yet. It's not being mean, it's being realistic. Like I said, my intention was not to insult anyone, it's hard to read tone from written text. Perhaps we should start a thread on game development costs and mitigations to those costs if asking about affording $10 has inspired such a reaction.

 
This is getting way off-topic, so I'm not going to keep going on about it, but nobody is upset about you saying that it costs money to make a game. We were just saying that if someone declines to buy a $10 plugin, then it's rude to make 2 posts saying "You can't afford $10? Really?"

 
Status
Not open for further replies.
Back
Top