Milestones Schedule

The release date is easy, the work I’ve actually been dreading is setting up all the individual milestones that get me to that day. Tomorrow is July 1st which is, give or take 24 hours, the middle point of the year meaning I have about six months of development time before the end of the year deadline.

I need to take the list I came up with in the last blog post and assign completion dates for each of those development milestones:

  1. The first release version needs at least 16 levels
    • There’s still a lot of work to be done, but I have six levels now, so, if I were to set a deadline up of one level each week for the next ten weeks, (assuming I complete each one) that would put me at the beginning of September with about three and half months remaining.
    • Each week I’ll start a blog post with the idea I have and document my progress.
    • September 15th, 2018
  2. Finish the basic car code editor
    • Polish the car code editor to the point where it’s easy (or easier) to use. It doesn’t have any real features like move/delete or even save your code between trials. I won’t be doing anything like saving or loading older code so I just need to worry about the current work. Maybe we could save the program per level so if the player loaded an older level they’d see the same program. So how long would it take to do this? First saving the code between trials would take a day, then move and delete would take another day so I week after step one is complete.
    • September 22nd, 2018
  3. Actually score the player’s progress
    • I need to wrap this step up in step one, however, the current levels need to have a better scoring system as well. So this step is here for me to go back over the first few levels and add their scores. It should be easier because there’s not a lot you can do. Let’s just add another week for this because even though it may only take a few hours it will still be difficult to find time to do it.
    • September 29th, 2018
  4. Actual Graphics
    • Everything so far has been done with free assets from the unity store (or me attempting to do something with blender).
    • Pick an actual art style (low poly, cell shaded, etc)
    • End of October, 2018.
  5. Better Physics and Car/Environment Interaction (Was Damage to Environment and Cars)
    • Make whatever improvements I can to the game’s physics to make it more realistic. I don’t like the way the car “smokes” and the handling could be better. At this point I need to look at how the instructions are interpreted and consider allowing the player to set the amount of time instructions last.
    • Middle of November, 2018
  6. Better sounds
    • Again, buy stuff or make high quality sounds.
    • End of November, 2018
  7. Final Polish Stage 
    • This time needs to be used for marketing, polishing the UI, and other improvements. I don’t need to be making anything new by the end of November. I should even consider starting my marketing earlier.
    • Release: December 31st, 2018

My guess is this will change somewhat from now until the end of the year, so every time I reach one of these milestones I’ll make a blog post and compare the actual time with what I projected here.

EDIT: I just realized I have not decided what this game will get released on. I’m thinking IOS/Android/PC. That seems like a great start to me and luckily it’s Unity and they have build libs for all those platforms.

Car Coder Release Schedule

I believe in deadlines. At their worst, you deliver the product late, but still earlier than if you had not set up a deadline. They seem to mean more than what you would call a “goal.” In this spirit, I have set a deadline up for the release of Car Coder: December 31st, 2018.

I do not feel confident about meeting this deadline, but I  don’t trust the idea of confidence. Courage makes more sense to me; you are fearful, but you work through it. I suppose confidence is something you have after you develop courage, maybe? To me, confidence equates to faith in yourself, but I won’t have much of that if I don’t witness myself having courage.

I need to develop a punch-out list. I need to itemize everything that’s left to do before I can commercially release this game. It won’t be expensive, but I’m trying to build some capital up so I can do more stuff than I’m doing now, so here goes:

  1. The first release version needs at least 16 levels
    • (20 would be better, but 16 is a great start).
  2. Determine if the game should have Intermediate/Advanced car code editors, and if so, create them.
    • This would create a better gameplay experience, and allow for more complicated interesting solutions, but would take a while to finish.
  3. Actually score player’s progress
    • Currently, you can only get the yellow light “medal” after finishing the level because there’s so actual scoring taking place.
    • Points need to be awarded for completing the goals within a certain amount of time and with the least amount of damage.
    • Need to determine how advanced this scoring system should be. I could just setup something simple for now or create programmable parameters for each level.
  4. Actual Graphics
    • Everything so far has been done with free assets from the unity store (or me attempting to do something with blender).
    • Pick an actual art style (low poly, cell shaded, etc)
  5. Damage to Environment and Cars
    • Game items need to display damage
  6. Better sounds
    • Again, buy stuff or make high quality sounds.

That seems like the complete list. If I think of anything else I’ll add it. Now I need to take those items and break them down into actual implementation.

Car Coder Update

So, I made the first level where the car starts at a certain speed and you have to figure out how to dodge a “pedestrian” (which is just a darth vader cardboard cutout at this point). I had to figure a few things out to make this possible, one being how to stop time before the player clicks the start program button otherwise the car just speeds off before anything has happened. I’m considering doing this a different way, where the car actually speeds up in a startup mode on a stretch of track, and then the controls kick in once the car has reached a certain speed. My real goal here is to hack the trolley problem to show that there are always options, so having this startup time might be important, but for now this is the way it works. The current level is impossible to win though, because no matter what you do, you make contact with the pedestrian. What I need to do is gauge the level of injury to the pedestrian as well as the driver.

Another thing I need to do is create an actual parsed/interpreted programming language for the levels, but now that I think about it, I should just defer to code modules in a helper class instead of going through the trouble of creating a parser. My goal is to have the final, polished version of the game released by the end of the year, so I need to save time wherever possible. I’m finding that the levels get more and more complex, so having a generic handler won’t work for all situations. I consider myself a YAGI enthusiast, so I probably won’t do this unless it’s absolutely necessary.

Also, I don’t like the too wordy name,  “Self Driving Car Programmer”. I do like “Car Coder,” so this will be the release name unless you or I think of something better. I don’t have the new level up yet because I’m trying to figure out an easier way to build and deploy the code to the server.