If you want to check out what I’ve done so far, Github is here: https://github.com/newcarrotgames/7d2dprefabgan
Hopefully, one day I will put all my game dev projects there. I just to find the post that lists them all…
Games that help your existential crisis
If you want to check out what I’ve done so far, Github is here: https://github.com/newcarrotgames/7d2dprefabgan
Hopefully, one day I will put all my game dev projects there. I just to find the post that lists them all…
I was hyper-focused on releasing CarCoder for a while, but after a work sponsored hackweek where my team built a mobile app that does real time video object detection using Tensorflow, I had another idea that I could not ignore.
In between rocket league binges, I’ve been playing another game called “7 Days To Die” which is a first person/base building/survival/open world/crafting/tower defense/post zombie apocalypse game that I think is cool because of the following reasons:
Marching cubes is established now but it’s a way of rendering a voxel based environment in a more realistic manner than just rendering a bunch of cubes (think Minecraft)
The prefab POIs are cool because they add these playable miniquests to the random world so there’s not just the typical sandbox experience like minecraft where you don’t have any real incentive to do much until nightfall. The only problem is once you’ve played one, if you see it again somewhere else, you already know everything about it, they are static elements that are always the same no matter how many times they get regenerated into a new world.
The idea I had was to change this, so that we could randomly generate POIs using machine learning so the player has an almost infinite amount of content. It’s a bold strategy and it will fail short of the goal but there’s so much that can be done easily with tools that exist right now I can’t think of a good reason not to pursue this project. I’m also using this to build my overall software engineering design/architecture skills so I can at least claim the work done here won’t be a complete waste ;).
I’ve already gotten some feedback that mirrors what I believe the game needs and that is the ability to remove single instructions. I also need to add a confirmation before you delete the entire program. Removing the instruction is weird, but my plan is to change the red X to a trash can icon, and then if you drag the instruction to it, it deletes it. I had to work this way in the past, I just got caught up trying to change it to remove the instruction if you move it completely off the coding GUI strip.
I was considering taking a break from coding on CarCoder and pursuing some other hobby projects I have been meaning to work on, but the main reason for working on CarCoder was to see the project through from concept to a truly finished project. I read that you should start marketing a game as soon as you have something to show people so that by the time of the actual release you already have an audience.
Now, I need to research ways of marketing indie games and start getting some real feedback. When I start seeing themes in the feedback I get (like graphics are terrible, I don’t like the editor, etc) I need to develop plans to fix those issues now before it gets too difficult to change.
Another feature I just realized I need to implement is the ability for the community to add content to the game. This will start with an extremely basic way to import your own levels by creating the JSON files already used for the game’s levels and/or stages and could develop into importing actual assets (security?)
The cones are spawning in the middle of the road and then being tossed up as if they’ve collided with the ground, but other than that it’s great! Here’s the link:
https://newcarrots.games/games/carcoder/
I’ll add that to the side-bar as well. There are about a hundred things left to do, but I really need some feedback at this point in case there’s something I didn’t think of or something I want to change that will be too hard to change later.
Welp, let ‘er rip! The game is ready for beta, I just need to figure out how to upload it to this site. I don’t even remember how I set this up. Bother!
I will go work on that and update this post when it’s ready.
UPDATE: WebGL build failed to load the level files because WebGL doesn’t support os level functions.
That should have been obvious, and I seem to remember thinking that, but then immediately thinking I’ll deal with that later. Well, it is now later, so I have to deal with it.
I have to configure a static assets folder and feed them to Unity that way. So, the beta release has been rescheduled for next week! Stay tuned!
CarCoder can save the player’s progress finally. I worked on the single instruction deletion/removal code but it proved to be harder than I thought, so I switched tasks, and now you don’t have to start over every time you restart the game. I had already made the level progress object serializable in anticipation of eventually doing this and after some research discovered the PlayerPrefs class which works nicely for persisting string or int values between executions. The nice thing is it will work on any platform I build the game for, and although the WebGL build can only store up to 1MB that’s actually more than enough for what the game needs to store a basic object like this.
I have to get back on the single instruction removal stuff now, and, of course, some new bugs have cropped up after I fixed most of these. Now, for whatever reason, you automatically beat the level as soon as you start which is great for testing the level progress is being saved but horrible from the gameplay perspective. Unity’s UI support is great, but for me, it’s a slow learning curve, and what seems simple at first can quickly become complex.
The game can tell how much your car is turning now and you can set a threshold on that amount to trigger an event. It’s used in level 14 where the goal is to have your car spin out of control. Only two things left now, deleting single instructions and saving progress. Not sure how saving progress will work in the web build. Localstorage maybe? dunno.. we’ll see!
Cross that off the beta test punch out list. Now it’s on to the angular velocity listener for level 14. I’ve worked out a good schedule that allows me to work on the game and play rocket league (well.. let’s not forget work, school, and family as well.)
I have decided to clean the game up as it is now and begin beta testing. I wanted sixteen levels but I only have fourteen done which is fine. I started riding the train into work now that the kids are in kindergarten and we no longer have to drop them off at daycare, so that gives me time before work that I can use here.
Here is an off the top of my head punch-out list of the remaining critical bugs in no particular order:
From now on, I will only work on issues that are truly blocking the game from its first beta release. The first two are total show stoppers, but the last two will also cause people to stop playing. There are some other features I would like to have, but will not stop anyone from beta testing:
Also, this is the model I want for the car (but I can not justify the cost without a product at least in beta):
Wish me luck!