Fury of Stars Development Logs
I have spent most of the last month learning menus in Unity, and building prototypes of various menus. I will not go into too much detail, since it is pretty dry, but I learned how to work with canvases, move the camera, layer UI elements, and animate ships (spinning, drifting, casting shadows, etc). I have also started to work on localization... support for multiple languages. This is much more complex than I expected, as fonts for Japanese, Simplified Chinese, and Korean have to be generated from characters actually used in the game. The more I learn, the more I need to learn!
Still, I am pretty happy with the results so far. I mean, I would be lying if I said I did not plan to make more progress, but progress is progress, and I should be able to code the "New Game" system in the coming weeks. This will start simple, perhaps a map size and density menu, but it will allow me to get to the fun part of game development. Once I am able to generate a map, the next step will be to add the ability to select stellar systems so I can work on in-game displays.
The above menu has working localization, and clicking on the various languages will change the menu text and update the logo.
While the design of the interface is pretty basic, a lot is going on here. Most of the languages, including Russian, are using a single font. The more complex written languages must each have their own customized font. When dealing with localization, I need to consider the literal and metaphorical meaning of the actual words, how long each string is, and what font each uses. I am working with the default UI and localization support in Unity, and will end up with a dozen languages before the game releases. For now, this means machine translation, but I will hire human translators once I have the text finalized.
Design and Steam
I have pretty much settled on the Stars7 font for my logo, which means I will need to purchase a commercial licence for it. I have not done that yet, because I might change my mind if I find a font I like better. I just need to settle on a font, and (if required) purchase it before the steam page goes live. The other fonts I am using are free for commercial use.
I have not picked a colour-scheme yet, so the fonts will strictly be black and white for the next month or two. I will probably use colour theory to find a decent triad, but I might just go with one accent colour, plus black and white.
The steam store will be critical for the success of my game, so I want to have the best content and media possible. I will pay for a professional illustrator to design key-art for my game before release, but in the meantime I made my own placeholders. Steam needs a variety of widths and heights, but this is pretty representative.
Any release is at last a full year away, but even small things like placeholder art feels like real progress. In the next couple of weeks, I will work on improved UI interfaces for the main menus, and create a simple "New Game" menu.
If I have learned anything, it is that I am not a 3D artist. Still, I am happy with my progress in Blender, and I think I am at the point where I can start exporting game assets and move on to programming. I will keep learning and practicing with Blender, and will probably replace all of the models in the months leading up to release.
I am really happy with how my ships are turning out. There will only be one "theme" for how ships look for now, and it will be boxy, but I think it will work. To be honest, this is far more detailed than I really need for a strategy game, but it has gotten me thinking about cut-scenes, menu decor, and perhaps replay video for fleet combat.
The next thing to learn is menus. I need to learn how Unity handles menus, how I can build them, add code to make them work, and add the decorations and polish that allows them to really shine. I have played games with ugly or minimum-effort menus, and they are always a disappointment, so I plan to have the best possible menus and UI elements I can manage. This means starting with menu design now, and iterating and upgrading the menus constantly over the next year.
I am going to find a professional for official game artwork, but I needed something to work as a place holder. I thought I would like this look, but for some reason it gives me a "spaghetti western" feel. This non-functional menu is displayed in Unity, but it still took me quite a while to figure out how to create buttons, add text to them, line them up on screen... even setting a font was kind of difficult and non-intuitive for me.
I also need to figure out a colour-scheme and specific fonts.
Unity Menus are Complicated
In my day job, I am a programmer who does web-development, and in that world the interface (HTML) is generated by code or contains hooks that I can reference from code. For example, a form will have several text fields and a submit button, and code can be triggered when the button is clicked to save the data entered into the form.
In Unity, programming feels like an after thought. I create the menu by adding button objects to the canvas, and text objects to the buttons to display the text using font objects that provide the "styling". The code is in a C# script that gets dragged to one of the objects in the menu (or within the scene), then that object has access to that code. In my case, I would add the code to the menu container object. Then, the container gets dragged onto each of the buttons inside it, giving those buttons access to the same code. Then in each button object, functions can be selected, custom data passed, etc.
Still, I am making some progress by dedicating an hour or two in the morning to this project. So far, that has mainly been with Blender, but I am putting more time in Unity now.
The Steam page for Fury of Stars has been created, and the domain purchased. This site has the main pages created, but is sorely lacking in content.
I also spent most of the week working to learn Blender, and I am getting close to the point where I can make test assets for development.
This is more than good enough for the game, but now I am considering refining things to the point where I can create my own cinematic trailer. Probably not worth the extra work that would require a lot of time.
I will be concentrating on creating textures and ship models for the next week. Once I have those, I will start prototyping parts of the game, with a goal to start development of the actual game in six months or so. I will also be spending some time working on content... content for the game, for this site, and for the Steam page.
I settled on "Fury of Stars" for the title.
My working title for the last thirteen years was "Hardspace", but someone else released a game using it. Another name I considered, "Cemetery of Stars" was visceral enough, but does not evoke the 4X and empire building aspects clearly. All things are compromises, but Fury of Stars has not used for any existing games (video or board), and appears not to be used as the title of a work of fiction (book or movie). As well, the domain is available in all flavours.
I will register FuryOfStars.com this week, and will get it pointed to this website. I will also need to order a Steam page, and look into setting up some social media accounts.
For a development update, I recently purchased a couple of Unity packages from the big "Spring Sale", including a system for reliable Load/Save functionality and a framework to jump start my development using hexagonal grids. No sense spending a month to reinvent the wheel, and both packages were very affordable at under $50 each.
It will be months before I have much to say about the actual game, since I started this blog so early in the development process. This last week I started C# and C++ courses, and began the process of learning Blender. The Blender interface is confusing, but I have been watching some very helpful YouTube videos.
Planning on the game has split into four categories, which I will work on separately over the next couple of months.
- Game assets for things like star ships, created in Blender
- Game content development... lore. names for technologies, ideas for hull designs, web prototypes (see below)
- Unity game development... small prototypes to figure out how to implement core systems
- Business related... setting up a Steam page, planning marketing, figuring out taxes, etc.
I am a programmer for my day job, so I will leverage that to build tools and small prototypes outside of the actual game engines. For example, I came up with Planet and Ship generators that involve my current thinking. These will evolve over time, and will allow me to see how things like work in practice... are they too simple, too complicated, unnecessary? You can find the current versions linked in the bar under the header on every page. If you refresh the generator, a new set of interlinked values is created. I am not sure how much of this will eventually be used, or shown to the player if used.
This week I will be spending most of my development time in Blender.
I have been thinking about making my own 4X game since buying Torque Game Engine in 2010. Back then, I had a plan to recreate Master of Orion II, but learning Torque while working 70 hour weeks as a web-developer/programmer but beyond me. After that, I occasionally would get interested enough to buy a book and download a game engine, but the realities of game development always became overwhelming.
I lost my parents around the COVID lockdowns, and realized a few things about myself and the games I have been playing. My biggest takeaway was that I do not really enjoy the 40 hour 4X games very much anymore. I am sure I used to, but after thousands of hours into games like Stellaris, I noticed that I keep starting new games, and lose interest 50 years in.
What do I love about 4X?
- Empire building
- Ship design and fleet assembly
- Pitting my fleets against intractable foes
What gets in the way of my enjoyment of 4X?
- Huge time investments
- Game systems designed to make the things I enjoy, more difficult to accomplish
- Game systems that distract from the core gameplay or stretch out the time investment
- Obvious "meta" plays that create cycles of nerfing and rebalancing by developers
I am still in the initial game planning stages, but my goal is to create a streamlined 4X space empire game that plays quickly but still feels deep. I still have to come up with a name, since "Hardspace" was used by another game in recent years. It will have to be unique, but evocative of the "galactic empire" theme as well.
Checklist for the next week
- Install Blender, Unity and Unreal Engine
- Find some courses or tutorials for the above software (I have to start somewhere, and I have zero experience with them)
- Start compiling lists of things like potential titles for the game, mechanisms, empire features, ship components, etc.
- Start thinking about the business side... taxes, how to fund development, time-frames, etc.