Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

"Tic-Tac-Tut" Unity Genre Tutorial support thread.

Discussion in 'Assets and Asset Store' started by stimarco, Jun 11, 2012.

  1. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    There are a few phrases one should never, ever, use in haste. These include "How hard can it be?", "This'll only take a few moments!" and "The coding's finally done."

    Turns out it wasn't: the AI had a very odd bug that only affected whoever was playing as 'X'. And even then, only in certain positions.

    Luckily, I have some special skills. I went looking for it. I found it. I killed it.

    And spent a while kicking myself as it turned out to be a stupid autocorrect* typo. Took me over a day to track it down.

    I also removed the tile tinting code as it wasn't granular enough. I just throw the various array contents out to the Debug log now. (Those have now been commented out, but I've left them in situ in case anyone wants to see what's going on in detail.)

    It really, really is working now. No, seriously! Stop laughing!

    Anyway, it's a bit late to get cracking on the docs as it's back to the day-job again on the morrow and I need an early start. So... next weekend. Honest!

    * (The worst kind. You don't expect such errors as that's kind of the point of an autocorrect feature. Beware your brain. Your brain will play tricks on you. Especially its vision centre. And even more especially if your eyesight isn't great to begin with. I was staring right at the offending line for hours before I spotted it.)
     
    Last edited: May 10, 2014
  2. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Sorry for the delay on this, but the day-job (and life) have been interfering again.

    The documentation is well over 70 pages already, including the preview version of my ebook—which has been substantially rewritten and still needs a bit done to it. This is turning into a full-on "programming primer" document.

    The main documentation also has about a day's work left.

    Note that it will still be a requirement to follow the basic "How Unity's Editor works" tutorials that come with Unity itself; I'm not going to waste time duplicating the existing tutorials for that as there's nothing wrong with those. But it should, in theory, be possible to follow the tutorial without any prior knowledge of programming. (Although it will certainly help if you can speak and read English fluently!)
     
  3. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Also, a quick heads-up: when I upload this version, I'll be bumping the price up by about $1.50. This is partly because the USD / EUR conversion rate is very poor, but also because you'll be getting more stuff, including at least two more jokes.

    So buy early and buy often!
     
  4. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    A-a-and I'm now at over 110 pages for the combined docs. I got a bit carried away with the programming primer one and have decided to just leave it in its current state for now, or I'll end up writing the entire ebook before I upload this.

    The main tutorial document is about half-done. I've ended up only keeping some of the structure from the original one as some elements can be moved to the primer document instead, where they belong.

    At this point, I'm aiming to upload this to the Unity Asset Store this coming weekend.


    * (I've also had a cold, which is normal for this time of year. What isn't is the grey blob right in the centre of my field of view that has developed in my left eye this past week. It's made reading much more difficult. It's not showing any signs of going away, so I'm off to the optician tomorrow.)
     
  5. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Sorry, other (paying) work got in the way again, so I lost over a week.

    After getting some feedback, I ended up doing a partial rewrite over the weekend. Mercifully, the seemingly endless thunderstorms here mean I can't do much else except work on this. And I need to get it done so I can clear the decks for other projects.

    So: I won't post again until I've uploaded.
     
    Last edited: Jun 16, 2014
  6. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8
    I really like like the tutorial. It's great for anyone wanting to learn some of the basics Unity has to offer. The MVC topic section was awesome.

    For a future update, it would be cool if you covered how to convert this to Android
     
  7. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    The original tutorial—which is, I assume, the one you're running—was tested on iOS devices and should build fine for most other platforms. Unfortunately, I currently have only a 5-year-old MacBook Pro and a Nokia Lumia 1320 that's prone to overheating. (Judging by comments in forums, I suspect a dud battery.) So I have limited testing options myself.

    I'm currently going through the new version for typos and formatting issues, as well as polishing up some sections near the end, so—fingers crossed, touch wood, etc.—it'll be uploaded either tonight or tomorrow morning, and be live sometime early next week, depending on how long UT need to take to vet it.

    And, if you've just paid for it, don't worry: you get the new version free, gratis and for nothing!

    (Folks who haven't bought it yet may want to do so now as the price will be bumped up to $10. I don't see any option for $7.50 in the pricing drop-down list, so apologies for that, but $5 shrinks to nothing in Euros.)
     
    Last edited: Jun 29, 2014
  8. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    News:

    For a number of reasons to boring to go into here, I've decided that the next release, (with the new Unity GUI), will be targeting the Unity 5 release, rather than Unity 4.6.

    Unity 5 will likely include some additional refinements that will require some tweaks to the project anyway, so it makes sense to target this release instead. As I'm not on the Unity 5 beta—nor do I want to be; I have yet another career change and some other writing projects I want to work on—the third version of Tic-Tac-Tut will likely appear about 2-3 months after Unity 5 is out.

    As before, anyone who already has a copy of Tic-Tac-Tut will get the Unity 5 version for free.

    Tic-Tac-Two progress:
    Tic-Tac-Two will be uploaded to the Asset Store either tonight or tomorrow morning. As UT's Asset Store team have to check all assets before they go live, I'd expect it to go live around mid-week at the earliest.
     
  9. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Newsflash:

    It's UPLOADED!


    It's been a while coming, but worth the wait, I hope.

    I had some odd glitches when trying to upload earlier, but reinstalling Unity seemed to fix it. I just received the automated "Submission successful" email, so I'm off to bed.

    (According to the automated email, the usual turnaround time is 3-5 working days, so it should go live sometime after Wednesday.)

    *

    I'd intended to bump the price up to $7.50, but that doesn't appear to be an option: the allowed prices jump from $5 to $10, with nothing in between. So $10 it is. I think that's still a good deal given what's included with the new version. ($5 really doesn't stretch very far when converted into Euros.)
     
    Last edited: Jun 29, 2014
  10. Korindian

    Korindian

    Joined:
    Jun 25, 2013
    Posts:
    584
    Nice! Looking forward to it. I bought it but haven't browsed it yet... so the timing is just right.
     
  11. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8
    I think I found a bug in your code or something with the original project. The X's and O's are upside down. You can tell with the X real easily. How do I fix this?


    Also, where do I get the new project?
     
  12. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Odd. The original tutorial has been out since 2012 and nobody's ever mentioned this until now. I do have strong astigmatism which makes it hard for me to spot such details, but it should be easy enough to fix: open the image file in an image editor, flip it, then save it back out again.

    (You may also be able flip it directly in the Unity Editor by negating the relevant "Scale" value, but I don't have the project available on this machine to test it out.)


    It was submitted on Saturday night. Assuming they find no issues with it, it should take anywhere from 3-5 business days. So anytime from Wednesday onwards.
     
  13. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8
    Flipping the image would be the easy thing to do but it appears to me that the game board is upside down. I'd like to make it facing up correctly if at all possible.

    I really didn't notice this problem either until I replaced the cellwithX image with words.
     
  14. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    That wouldn't surprise me. Making the board work took me longer than the AI as I struggle with 3D. It's hard for me to wrap my head around the maths. So much so that I actually found it easier to generate the board in code. This is one reason why I went with 2D Sprites for the new version.

    That said, the AI will work whether the board is upside down and (back-to-front) because the game has a symmetrical board.
     
  15. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8
    Ok thanks for the great support after all these years.


    I will wait for the new one but will try to flip it in the mean time. I'll post my results should I be successful.
     
  16. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8
    Here is the fix which is GameBoard.cs:

    private Quaternion defaultRotation = Quaternion.Euler(0, 0, 180f); // default rotation for each cell.
     
  17. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    I was thinking of just rotating the Main Camera for the scene instead, but that works too. Thanks!
     
  18. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    For what it's worth, the new version appears to be still at the "Pending Review" stage (since the 29th), so I suspect it probably won't appear in the Asset Store until next week.
     
  19. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8

    Rotating the camera is the better thing to do because I'm using more resources flipping each cell. I'm still learning. I'll learn camera flipping next.

    I keep waiting on the new project myself. I can't wait but I guess we'll have to do so.
     
  20. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    muddflap likes this.
  21. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    I've just been informed that the new version is now live on the Asset Store, so...

    Tic-Tac-Tut is dead: long live Tic-Tac-Two!
     
    Last edited: Jul 8, 2014
  22. muddflap

    muddflap

    Joined:
    Jun 28, 2014
    Posts:
    8
    I got the download last night. This is a much improvement compared to the first. I enjoyed your primer although I do have to disagree with you on instances not being objects. Everything is an object. You should reword it and discuss the relationship if you want to say they are different, but in the OOP world they are the same.


    Good job!
     
  23. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    I suspect I may have used "instance" instead of "class" by mistake, but I can't find anything that actually says this. Can you give me the page number?

    I am expanding the OOP / OOD stuff in the Primer for the next revision and have already added a bit specifically addressing the difference between a class definition and an instance of said class. (Being half-Italian, the word 'lasagna' makes a few guest appearances here, along with the word 'cookbook'. You can probably spot the metaphor.)

    I'll update the project with revised docs—the code itself seems to be working—roughly every other month, so I'll roll up typos and other errors into each revision as I go. I'm not entirely happy with way some of the information is duplicated across the two docs, so I may do another 'refactor' phase on them both.
     
  24. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Out of interest, how many existing Tic-Tac-Tut owners have downloaded and looked at the new version?

    To those of you who have seen it: do you think it would be worth my also offering the "Programming Primer" (or, more likely, an expanded version of it) separately?
     
  25. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Just a heads-up: apparently Unity Technologies have no plans to introduce a $7.50 price-point, so $10 it is.
     
  26. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Friday Afternoon News:

    I'm currently working on an update to the "Programming Primer" preview ebook that comes with the project. This update will drop the Unity-specific focus and turn it into a standalone book on understanding computers and technology in general.

    This will be a substantial update. I'm expanding it and also rewriting some of the early sections that I'm not too happy with. I'll also be adding a few more articles to the second half, covering some additional topics.

    Once this work is done, I'll additionally be offering the ebook as a separate purchase—initially through Amazon. It'll be priced around €5 or so. (I'm aiming for USD $7.50 as a baseline.)

    The updated ebook will still be included with the Tic-Tac-Two tutorial as well, so if you've already bought that, you don't need to make another purchase. (Some tutorial-specific elements will be moved to the Tic-Tac-Two documentation instead.)

    *

    I do have the v4.6 Unity beta release now, but haven't had much time to play with it as yet due to day-job pressures. However, I don't intend to release an update to the tutorial itself until Unity 5 is released. This will cover the new GUI system and will therefore apply to 4.6 users as well.

    *

    While I'm here: if anyone wants to post a review of the Tic-Tac-Two tutorial to the Asset Store, it would be much appreciated. The current reviews refer to the original v1.0 release in 2012.

    (In fact, any feedback at all would be great!)
     
  27. donderper

    donderper

    Joined:
    Apr 7, 2014
    Posts:
    5
    While I greatly enjoy your writing style, there's not quite enough emphasis on the turn based system in the tutorial. All the forum posts and everything I've read online have been quite dismissive of how easy it is to set up a basic turn algorithm. That's all well and good if you already have a decent understanding of data structures etc. For a rank amateur like myself, I'm building up my code base bit by bit based on tutorials and learning how to program and make games that way. Which is I why I was very happy to see a tutorial specifically for a simple turn based game, even if it cost a few bucks, the time saving would be well worth it.

    Long story short, I'm looking for something I can outright copy and paste into my existing code base for a tile based game to make it turn based. Either that or something that's well described enough that I can make a reasonable fist at adapting it to suit my needs. The tutorial does cover a lot of ground but I felt it kind of misses the mark in describing what I was looking for, in a practical sense.

    Anyway, I in no way regret the purchase and look forward to reading whatever you come out with in the future. All I'm saying is the tutorial might benefit from a modicum of unbundling.
     
  28. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    You raise a fair point. I thought I'd covered it with the section on Finite State Machines as these are what define your game's fundamental structure. In a turn-based game, there's always a state or two that tells your game update code whose turn it is. Unfortunately, the GUI system I built for this release was only intended as an interim measure until the new Unity GUI system came out; I was expecting that to appear much sooner. The result is that some of the turn-based stuff is tightly knitted into that GUI code.

    Basically, Unity is always running in real-time, so you have to fake the turn-based aspects by checking for a flag ('state') that tells you whose turn it is. My GUI code checks this during every update cycle to make sure it shows the right GUI elements and information for the current player.

    You then have some functions that handle the switchover from one player to the next—that's where you do most of the UI changes.

    As this is also when you do a game-over check, the two processes are interleaved a bit in my tutorial. I'll fix that in the next release.


    There's no "SwitchTurn()" functionality in Unity. It's a real-time 3D game engine. The secret sauce is in that Finite State Machine system, which is where you keep track of who's doing what. There are so many different game genres out there that any attempt at a generic "turn-based game framework" would be too lightweight to be of much benefit.

    I find it helps to think of "real-time vs. turn-based" as primarily a user interface issue and design accordingly. It's mostly about the GUI's behaviour.

    Noted.

    I do have one more update I want to do for Unity 5's release. This will replace the existing GUI (which is rather ugly) with the new one. It may be possible to make it easier to break out the turn-based-specific elements in that one as the GUI code shouldn't be anywhere near as hard to follow.

    (I know the new GUI is coming out in Unity 4.6, but it makes more sense to wait for Unity 5 before releasing as it looks like there will be some underlying changes to Unity itself as well.)
     
  29. donderper

    donderper

    Joined:
    Apr 7, 2014
    Posts:
    5
    Thanks very much for the quick reply. FSMs are slightly beyond me right now. For the current project I'm working on there's not too many different things going on. A few cleverly placed if statements and bools should do the trick I think.
     
  30. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721

    What you're describing—if statements and bools—is exactly what you do with state variables. That's what the code for an FSM looks like.

    FSMs are just variables used to store state information. E.g. "In_Main_Menu", "Player_1_To_Move", "Transition_to_Player_2", and so on. In a complex game, you might use a dedicated "FSM" class to store all of these variables together, or you can do what I did and end up with a bunch of "status"-type variables in different scripts, with some scripts communicating their status to others to keep everything in sync.

    I used the latter system as an interim solution while waiting for the new Unity GUI system. I wasn't intending to keep it in the finished tutorial, which is why it's a bit messy in the current release. The next release – which will be free to all those who have already bought the previous or current release, and won't cost any more either – should have none of the rough edges this one has.

    *

    On a positive note: I've decided to drop the day-job as a translator to concentrate on writing, so I should have more time to work on this tutorial again soon. (I'm still full-time until the end of the month though.)
     
    donderper likes this.
  31. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Right, I've updated the tutorial docs with a brand, spanking new chapter dedicated to Finite State Machines, which also includes a section that explains the turn-based system a bit more clearly.

    It's a bit late to risk uploading now (it's the middle of Sunday night here), so I'll hold off until tomorrow and give it a final sanity-check before updating the project.

    It usually takes UT's people about 3-5 business days to approve a project, so I'll post again when it goes live.
     
  32. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Uploaded just now.

    The new content ended up split over both books: the Unity-specific stuff about making turn-based games and the need for Finite State Machines is in the tutorial's own docs, while the "Programming Primer" ebook has been expanded a bit, including an entire chapter discussing Finite State Machines and how fundamental they are to programming.

    I also changed the base version number of Unity for the tutorial: you can now use it in Unity releases from 4.3.4f1 and up; it's no longer limited to Unity 4.5.1 or later.
     
  33. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    ...and Tic-Tac-Two 2.1 is now live on the Asset Store.

    While I'm here: reviews of the v2.x release would be greatly appreciated; all the current ones are for the v1.x releases.
     
  34. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    A question for you all:

    Do you prefer the bundled version I currently sell, or do you think I should split out the ebook and sell it on Amazon (and all other good ebook stores) only, leaving the tutorial itself on its own?

    If I do this, the tutorial would drop back to $5, but would lose the ebook and require some programming knowledge on the part of the reader.

    (Also: if you can, please post a review!)
     
  35. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Just a heads-up if anyone's planning to purchase the tutorial over the weekend: I've decided to drop the price down to $5.

    The change has been submitted and should hopefully go through early next week (week beginning Monday 20th October 2014).
     
  36. freddy_boys

    freddy_boys

    Joined:
    Aug 8, 2014
    Posts:
    1
    hi, I'm really interested in your game,,, it is my firts time in unity, do you use artificial intelligence,,, ?? Greetings
     
  37. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Hi,

    Yes, I do have an AI system in the game. It's not very complicated as Tic-Tac-Toe is a very simple game.

    If you want to buy the tutorial, please wait a day or two as the price is being permanently reduced by half. The price change was made over the weekend, so it should appear soon.
     
  38. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    FYI: The price drop has now gone through.

    For those who are interested in the "Programming Primer" ebook, please note that this won't be included in the v3 release for Unity 5—although that's some way off yet anyway. The price will, however, remain at $5.
     
  39. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Just a heads-up: I've tested the Tic-Tac-Two project in Unity 5 and it imports and works just fine.

    I'm currently swamped with the day-job—I translate for a living—and I've decided to focus on expanding the ebook into a more general "Programming without the Maths" project. I suspect this may have a wider audience than the tutorial itself.
     
  40. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    FYI:

    PRICE DROP TO $2.50!

    [UPDATE: The price change has now gone through.]

    This is a permanent change for this version, not a short-term sale. However...

    ...the "Programming Primer" ebook will be removed and sold—for yer actual money—as a separate item in a few months' time, so if you want the ebook, you should buy now at the NEW, LOWER PRICE of $2.50!

    The next version of the tutorial itself will be made available for free. I might leave the tutorial as-is, or I may update it for Unity 5, depending on feedback. (The changes won't affect the gameplay, which was the original point of the tutorial; it's just the GUI that will be reworked. I'll be relocating shortly, so I admit this isn't a high priority for me at the moment.)

    The upgraded ebook will involve some heavy rewriting and expansion, so it'll be on sale for around $5 or so. (Prices in other currencies will vary according to exchange rates.) I also intend to make it available through other ebook publishers, including Amazon, but not right away.

    For now, I intend to focus on the ebook as I think it has a lot more potential. I have big plans for this; hopefully, they'll survive contact with the enemy.
     
    Last edited: Apr 21, 2015
  41. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Hi folks,

    Just to clarify: the current 2.1 version of the tutorial does work in Unity 5. I've tested it myself. It doesn't use any of Unity 5's new features, but that is likely to change in the next couple of months.
     
  42. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Hi folks,

    FYI: I am still planning an update to this tutorial. It should appear in a couple of months, but I don't know exactly when as I'm having to squeeze it in around my day-job of translation.

    Currently, the plan is to rip out the old 3D UI stuff and replace it with the new 2D system included with Unity 5.

    I'm also considering adding support for multiplayer games over the Internet and / or local network, but I'll need to read up on that and see how feasible it is, given that this is supposed to be a basic tutorial. If it does require heavy rewriting, I may give it a miss as it could become a distraction from the basic concepts of the tutorial. This is, after all, Tic-Tac-Toe, not Chess or Go.

    The (updated) programming primer ebook will be included as it seems to have gone down well, so the tutorial won't be made free after all. The ebook will, however, be made available separately at a lower price as a self-contained title.
     
  43. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    The price for this tutorial has been dropped to (USD) $1.50 until the next update. The update will be free to existing users.
     
    toddheilmann likes this.
  44. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Well, that was strange. Total sales since the price drop... 1. Lowering the price lowered sales too. I'd normally see around $10-$15 / month. An interesting experiment, and one that seems to support a number of articles on the topic of online pricing.

    So... it's now free.

    In light of all this, the next update will also be the last (and probably won't appear for a few months yet as I can't justify making it a priority). I'll be focussing primarily on writing ebooks instead.
     
  45. fdfsdrgcdfr

    fdfsdrgcdfr

    Joined:
    Mar 20, 2016
    Posts:
    3
    а в коммерции можно?
     
  46. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Assuming Google Translate is right, I think you're asking if the tutorial can be used in commercial products. The short answer is yes. With one caveat:

    Code for tutorials is designed to be easy to follow usually focusses on explaining key concepts and techniques. Some additional checks or optimisations may be needed when adapting it for a commercial game.
     
  47. fdfsdrgcdfr

    fdfsdrgcdfr

    Joined:
    Mar 20, 2016
    Posts:
    3

    thank you, as I understand it can be used in Commerce. then add advertisements in the app?
     
    Last edited: Mar 22, 2016
  48. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Yes, no problem.

    As far as I am concerned, the code can be used freely, with no strings attached. I hereby place it in the Public Domain.

    But note that this applies ONLY to the source code, not the graphics or the (ebook) documentation.
     
  49. fdfsdrgcdfr

    fdfsdrgcdfr

    Joined:
    Mar 20, 2016
    Posts:
    3
    [Цитата="stimarco, должность: 2565827, член: 2012"]да, без проблем.

    Насколько я обеспокоен, код может использоваться свободно, без всяких условий. Настоящим я поместить его в общественное достояние.

    Но учтите, что это относится только к исходному коду, а не графической или (электронная книга) документации.[/Цитата]я дизайн поменял на свой
     
  50. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    Google Translate says you replied with: "I changed the design to your"

    I assume you meant "I changed the graphics", which is okay.