Development plan – 2022.01.31

Planning and Development

I have implemented the most very basic features of a game.  Namely, you can walk around a flat map with a camera that follows the camera and which you can clumsily control.  I think the next best thing to begin working on is the terrain.  The problem with this is that it opens a huge can of worms.  Said can is opened due to the fact that I am not using a game engine to develop this, only THREE.js, and so I need a tool to create a terrain.  I could always just use an image editor to create a monochrome heightmap then alter the base plane to fit that heightmap but that’s not really a full solution.  Well, I guess I mean it’s just very difficult to maintain.  I would have to guess about the y-location of every asset I ever added to a scene because it would be nearly impossible to tell the height of the terrain at any given point in the world.

So what does this all mean?  It means I need a world editor.  I need a tool where I can create, load, and save chunks of the game world.  I’ve actually done a good bit of this work on previous incomplete projects so it’s not a completely overwhelming thought.  That being said, if I’m working on a world editor then I’m obviously not working on visible features in the game.  Still, it’s a necessary tool that I absolutely won’t be able to move forward without.  I will probably spend the month of February working on the world editor and hopefully I will have a mostly-functional tool by March 1.  In between coding I will be working on story lines, lore, and creating some proof-of-concept art assets to use once the editor is available.

So, the schedule for the month of February is as follows:

  • Blog some kind of art asset February 5th, 12th, 19th, and 26th.
  • Work on the world editor and get a usable scene in place for a new release on March 1st.

I think that’s a reasonable schedule and I’m going to try very hard to stick with it.

v0.00.002 Release

Release Announcement

Today I finished most of the features I said would be in v0.00.002 so I went ahead and released it.  I found a slightly better process to obfuscate all the code and pack it into a release, so hopefully that will make future releases a little easier.  Check out the game page to see the newest release and the notes.  I’m going to spend a day or so thinking about what I want to put into the next release then I’ll post about it.  And then I guess I’ll start actually working on it.

Camera Controls

Planning and Development

Tonight I implemented some glitchy but improved camera controls.  You can now spin the camera around the player and move the pitch of the camera up and down, as well as zoom in and out.  Right now there are no limits on any of these controls so you can spin around like crazy, move the camera past vertical up and down, zoom in past the character model or out infinitely, etc.  But those limits can be put in place pretty easily.

I’ve implemented these same controls numerous times in other projects and every time I go back to a YouTube channel called ThinMatrix for reference.  He has lots of nice tutorials on game development and the video that I always reference is here, so check it out if you are interested in that type of thing.

First Release

Release Announcement

Today I released v0.00.001 of Chronicles of Tright: Isles of Arden.  It’s a stretch to call this anything like a game at this point.  It’s really just boilerplate code and a starting point for future development.  It was also a chance for me to test out some procedures for packing the code base up into a release and publishing it.  But it is a starting point and I’m weirdly excited to put out something so terrible.  You can move the character around with WASD.  Collision detection works and I’m using my own custom collision detection and response system.  The collision box around the one house on the map is intentionally oversized and the art assets are intentionally bad as they are just placeholders.  That’s really about it.

My idea here is to make numerous incremental releases on a quick schedule.  I’ve tried this before and had some success with it so I’m going this route again.  Once I get to the server side coding it may be more difficult to make such rapid changes but that’s a world I’m going to need so much work on that I’ll just cross that bridge when I get to it.  I obviously have many, many, MANY things to do before this is even close to a playable game, but I’m going to try and keep the additions for each release small and attainable.  So, for v0.00.002 I need to implement:

  • Mouse controls that allow you to zoom, rotate, and change the pitch of the camera
  • Keyboard controls for strafing
  • Fix the collision box on the current house and add one more object to the world

That’s a small list that I can hopefully get done in a few days.  I’ll then do another release and evaluate what features to add from there.

New Project

Planning and Development

It’s MLK day in the US.  I have a couple of things I’m starting today but a big one is a new project here.  I’ve never made it far with games I’ve tried to make here in the past.  Well, that’s not fair.  I’ve actually made quite a bit of progress on past projects it’s just never translated into much that end users can actually see.  My goal with this project is to get something that is playable published ASAP and make incremental improvements over time.  So, with all that being said here’s the new project.

It’s a multiplayer 3d browser game.  I’m very short on details right now but I want the art style to be bright and low-polygon, and I want the game to be funny.  I will probably start with brand new lore.  So no humans, elves and dwarves.  Well, no elves and dwarves anyway.  I guess there will be humans.  I’m actually not exactly sure yet.  I’ll spend the rest of February designing gameplay and the world.  I have what I think is a really interesting idea to do turn-based combat in a multiplayer environment, so hopefully that will turn out.

My deadline is MLK day 2023.  That’s January 16th, 2023.  I want to have a basic, playable game published on or before that date.  That’s an optimistic goal but the best time for optimism is the start of a new year and the start of a new project, right?

Missed my deadline to post already

Planning and Development

I was supposed to update here last (Saturday) night but I simply failed to do so.  I have some fairly big remodeling projects going on at my house and I was just too tired to bother.  I’m not too upset about it, and I’m posting today.  This week I made some good progress.  At this point the “game” has some significant features:

  • A player character (sphere placeholder for now) that can move around a scene using WASD
  • A camera that follows the character and which the player can zoom and rotate around
  • Custom built collision detection between a unit sphere and arbitrary geometry.  This is completely un-optimized but still mostly works.

Things I’ll be working on this week:

  • Loading and moving a character with animations rather than a placeholder sphere
  • Adding and improving assets in the game’s main village

Speaking of the village, here’s an updated view of the harbor.

Very slightly less early art preview

Hopefully this gives an idea of the visual style I’m going for.  This is rendered in Blender but hopefully I can pull off the same low-poly bright look and feel with THREE.js.  There are still SO, SO, SO many things to figure out and implement, but I’m having fun so far and plan to keep at it, so stay tuned.

Yet another change in direction

Planning and Development

As I said in my last few posts I worked with CreateJS for a while and was able to make a little progress here and there.  Although I’ve seen some really fantastic pixel art games, I’m just not a pixel art guy.  So while I could create a 2d game with graphics that look like they were made by an eight year old, ultimately that’s just not what I want.  So I’ve decided to change directions once again, and it’s back to THREE.js.

This time around I’m doing things a bit different.  First, the story I am developing is a simpler and aimed more towards adult humor.  Nothing raunchy, just references to alcohol and some dirty jokes.  Second, I’m sticking to a specified schedule for development.  I have a certain amount of time each day devoted to specific tasks.  Monday through Friday is artwork and coding.  Saturday is marketing and social media.  Sunday is planning and administration.  This means I’ll be posting here every Saturday and eventually will move into posting on Twitter, Instagram, etc.  I’ve only been doing this for a week at this point and I’m already quite pleased with the progress I’ve made.  Since the amount of time I want to spend every day on this project is specified in the schedule it’s a bit like punching into and out of a job.  I sit down, I work on whatever the task is for that day, and then I quit.  This both forces me to do something every day and prevents me from going on binges where I spend hours and hours every day for several days in a row, then get burned out on the whole thing.  Hopefully this will continue to be an effective way to develop the game.

Speaking of the game, I don’t want to say much in terms of details right now but it’s a 3d single player RPG set on a small island.  Here’s a very, very early art preview of the harbor and some bridges:

Very, very early art preview.

As I said, I’m making decent progress and really hope to be able to keep moving ahead at a relatively steady pace this time around, so stay tuned.

Progress today

Planning and Development

I’ve made a little progress tonight.  I now have a very basic scene of a character walking around.  He is animated, although animations aren’t implemented for all 4 directions, so if you’re moving at all it show a “walking left” animation, and when you stop the character idles looking south, regardless of what direction you were walking when you stopped.  It’s very rough, but it’s a start.  I have created a very basic map of Alliston using Tiled, and the game shows multiple layers with one being dedicated for collisions.  Collisions work, although the way they work right now is rough and disorganized.  I’m still enjoying CreateJS.  I’ve been reminded once again that I’m no artist.  I’ll spend some time in the near future watching and studying some Youtube videos on creating pixel art.  Hopefully I can get to a point where I can create decent looking placeholder assets, and who knows?  Maybe one day I’ll have a fun game that people are interested in and I can hire an actual artist to recreate all the sprites and tiles.  For now, I’m just happy with a goofy little guy wandering around on screen, not being able to walk right through the bushes.


Planning and Development

It’s been several months since I posted anything here and just as long since I did any real game development work, but I’m back.  I haven’t been completely idle during all this time.  I’ve continued playing with different game engines and experimenting with small projects.  The core problem is that I just can’t find something I really like. 

For going on 15 years now I’ve wanted to write a game that was playable in a browser for free.  I’ve thought about different ways to monetize such a game but honestly, that’s secondary at this point.  I just want to finally make something.  I don’t want to use a platform like Steam because I don’t want to be tied to producing a completely finished product before releasing it.  I want to create a game in chapters and release them over time, then have the ability to go back and rebalance previous content on the fly.  Also, I don’t want players to need a client (or even an account) to play my game.

As I said, I’ve looked at numerous libraries and engines.  Phaser frustrates me to no end.  MelonJS is hard to follow.  Godot is awesome but I don’t like the way games get exported.  GDevelop has the same issue.  Maybe I’m just picky or lazy because I don’t want to spend the effort to actually learn the tools that are available, but in any case I just can’t get motivated to use any of them.  There are only 2 libraries I’ve ever really liked.  First is Three.  Unfortunately, that’s obviously a 3d library and at this point doing anything in 3d is just outside of the scope of what I’m practically capable of doing.  The other is CreateJS.  I’ve known about CreateJS for years and I appreciate that it is simple and intuitive.  It doesn’t hide too much from me or try to do too much for me.  That has good and bad effects.  I can write some code using it and can really tell what is happening, but then it obviously doesn’t have many features of a “game engine.”  Still, it’s what I’ve decided to use because I have been able to create some of the most very basic features of a game in just a few days using CreateJS whereas I spent weeks just trying to understand the interface of Godot, or how to do simple things with Phaser or MelonJS.  One big downside of CreateJS is that it isn’t actively developed any more.  I haven’t found any issues with that up to this point, and it’s open-source so I can always change it myself if necessary.

So that’s the plan for now.  I’m working on a simple, small 2d CRPG using CreateJS as the basis for a custom engine.  I’ll post more about the game’s story, and possibly even a very small demo of where I’m headed within a few days.  2020 was a garbage fire and I wrote it off completely, but I’m trying to be positive for 2021 and one of my big goals is to finally publish a finished game this year, so stay tuned.

Back at it

Planning and Development

It’s been over a year since I posted here and I had basically given up on writing games, at least in the format I’ve always wanted to use. But I’ve picked back up here recently and made some really good progress really quickly, so maybe the 100th time is the charm, yeah? In any case, I’m working on a new (old) game and plan to post about it here soon.