How far Astra got with Cosmic: Alliance, and why I'm pausing here

· 11 min read

By Phil · building Legitsauce

I have reached the point in Cosmic: Alliance where I can watch the captain walk, operate a console and raise a cup, then pause on her face and immediately see another afternoon's worth of corrections.

That is a considerable distance from where I started. It is also where I am stopping for now. I hit my usage limit on the $100 plan, and the remaining work has become expensive in both model time and attention. I still want to make this game. I cannot keep treating a AAA character as something that must be one more prompt away.

The last two posts were written while the progress was especially encouraging. In the first look, I finally had a version of the game I had imagined for years. In Finding Aelar's face, I was discovering how much more specific I could be about an eyelid, a brow or a curl. This post is the view from a little further along, after trying to make those improvements survive contact with an animated body.

The blockout gets an A-

Cosmic: Alliance is a space exploration and survival game built around a crew, difficult decisions and an encounter with a celestial being three suns wide. I want simple controls and sweeping cinematics. The opening demo is intended to establish that world and lead to two different ending routes.

With simple shapes, Astra understood the assignment remarkably quickly. I could move through connected rooms, use the interactions and play through the events with cameras that helped stage the story. We could take screenshots, see a problem and ask for a correction without rebuilding the entire idea around it.

For blocking out the demo, I give Astra an A-. It nailed the basic game almost right away. There was iteration, of course, but I could judge an actual experience: where I was standing, what I could do next, what the camera showed me and whether a decision led somewhere. Those are useful things to settle before spending much time on a captain's eyelashes.

The first public character was already beyond those simplest shapes. Here she is aboard the ship, in the image from the original post.

The earlier Aelar model standing on the Concordance bridge, as shown in the first Cosmic Alliance post
The first post's actual Godot capture. Getting a character, a ship and the beginnings of the story into one working scene was the biggest early success.

The problems changed as the shapes became more complicated. A cylinder can stand in for a person while I test a conversation. A finished face has to be the particular person in the concept art. A coat has to keep its collar, sleeves and seams when the person inside it moves. A small discrepancy in either can dominate the whole shot.

We had already tried several ways to build the assets

This experiment grew out of the graphics work I described in Making Crawl of the Forsaken. I have tried procedural geometry, Blender through MCP, and the smoothly joined, or "melted," procedural creatures that followed. The gameplay-camera follow-up was a useful reminder that a flattering isolated render cannot tell me everything I need to know.

Across those attempts, the recurring process was to have AI build something, capture it, inspect the screenshot and try again. Meshy.ai became another source of shapes to work with. Each approach produced something useful. None gave me a dependable route to the high-end, textured, animated characters I wanted for this game.

Astra got substantially closer. It handled the Blender edits, rig maintenance, materials, exports and much of the screenshot-and-correction cycle. The character still uses the CC0 MakeHuman base geometry, rig and skin inputs credited in the earlier posts. Astra's contribution was assembling and adapting that starting point, then carrying a long series of specific changes through the working asset.

We narrowed Aelar's body, adjusted the coat, changed the complexion and spent a surprising amount of time on the head. Her eyes needed to look calmer. Her hair needed to frame her face. The brows needed a different arch and taper. The lower face projected too far, the nose resisted several corrections, and the mouth changed again as the surrounding proportions improved.

I could see progress. I could also see us circling some of the same problems. By then, "make it closer to the concept" needed a better reference than my memory of two pictures in different poses.

Then the jacket tried to leave the body

The Meshy experiment offered something promising: a detailed 3D reference, with almost two million triangles, that captured more of the outfit's intended appearance. A sculpture I could rotate seemed like a better guide than another description of a fold or a cheek.

The source was far too heavy to drop into the game unchanged, and its convincing resting shape gave us little indication of how it would bend. Reducing the triangle count and trying to make the imported jacket follow our skeleton exposed that quickly.

This is my favorite record of how that went.

A failed jacket animation test: Aelar holds up her hands while the imported sleeves stretch into long jagged strips beside her body
An actual failed test from the direct Meshy jacket import. Aelar appears to be politely explaining that her sleeves have become somebody else's problem.

We tried versions of the imported garment with different reductions and ways of attaching it to the rig. Moving the arms exposed stretched surfaces, collapsing sections and connections that looked acceptable in a still image. The image above catches one of those failures. The stable version that followed uses our existing weighted garment, fitted toward the reference and carrying transferred surface detail.

I came away with more respect for the work hidden inside a good character asset. Having more triangles gives you more surface to look at. It does not automatically give you sensible seams, clean joints or the right influence from each bone. Removing triangles does not supply those decisions either.

Here are some of the existing custom animations on the current stable character. This is a fresh recording from Godot: a walk cycle in place, the console gesture, the cup action and idle. The clip is silent and plays only when you start it.

Current in-engine animation test, 12 seconds, no audio. The console gesture is shown without the console so the body and sleeves remain visible. These are working prototype actions, with stiffness and contact details still to refine.

The outfit now survives those movements. I would still want an animator to improve the performance, especially the arm timing and the way the hand meets the cup. Close camera work makes that stiffness difficult to overlook.

Keeping our mesh and borrowing the shape

The latest approach keeps the existing character geometry and uses Meshy as a sculpting target. We put both heads in Blender, align their eye centers with a uniform scale and rotation, and compare front, profile and three-quarter views. Then Astra adjusts our surface toward the reference while retaining the connected mesh and its existing controls.

We can now see where the upper lip projects too far, where a cheek is hollow and where the chin's outline diverges. Repeating the same comparison after an edit gives us a record of which shapes moved closer and which still need attention.

Two rows of matched Blender views: the previous head, the fitted head and the Meshy reference, shown from the front and in profile
Before, fitted model and Meshy reference under the same orthographic cameras. Clay shading exposes the geometry; the working head is shown without its separate eyes and hair. The source's hair is part of its combined mesh.

Even this took several attempts. Directly pulling vertices toward the nearest source surface distorted the mouth rim and the area under the chin. The better result came from moving neighboring layers of skin together, so the inside and outside of a lip did not get pulled into the same place. Smaller adjustments around the mouth could then coexist with broader changes to the cheeks.

The final pass moved the measured outer-face surface closer to Meshy and kept the original skeleton and relative facial controls. It did not import the dense head into the game. The complete current character is still about 36.6 MB, which is another reason I would not call this a finished mobile asset or a finished production pipeline.

Here is the latest textured comparison, before and after that fitting work, with the same pose and lighting.

Aelar before and after the registered Meshy fitting pass, with matching lighting, head turn and sideways gaze
The latest face, captured in Godot. The cheeks, mouth and lower face have moved closer to the reference. The eyes, brow region, hair and overall likeness still need work. No generated detail has been painted onto these screenshots.

The fit improved, but getting there asked a lot of Astra. It aligned the heads, adjusted the mesh, rebuilt the asset and rendered the result. When a mouth rim became worse, it had to revise the fitting method and run through that cycle again. My active review time is only part of the cost; the model spends substantial time working between those reviews.

A useful result, below the bar I set

If I wanted a decent "B mobile game" look, I could get to something useful quickly with this workflow. That is my shorthand for the visual impression, not a claim that this character is optimized for phones. For a playable blockout, Astra was excellent. For the close-ups I want in Cosmic: Alliance, the remaining gap matters too much to ignore.

The face still differs from the concept. Skin detail is soft, the hair needs a more convincing finish, and the eyes do not always carry the expression I intended. Clothing has to be attractive through a range of poses. Animation needs weight, timing, believable contact and transitions that hold up outside a short test. We have working pieces of all of that, with a great deal of finishing still ahead.

I believe more time and money would bring Aelar closer to Meshy. The uncertainty is how much, and whether I could afford to repeat this for every character.

I hit my limit on the $100 plan while pursuing this. I do not have a AAA budget, so I am pausing the demo here. I may come back when there is another substantial leap in models that can work effectively in Blender. I may hire a character artist at some point. The blockout, the source assets and the accumulated references give either route a much better starting point than I had before.

Astra is an exciting step toward making ambitious game development accessible to more people. I can say that while being disappointed that I cannot yet get the asset design and 3D animation to the standard this particular game needs. Building the playable story was fast enough to make the idea feel possible. Finishing its people has shown me where the cost still lives.

I keep coming back to an optimistic thought: this may be the worst these tools will ever be. I want to come back to this same captain when the next jump arrives and see how much further we can get.

That's legit to think about.

The alpha demo, as it stands

I want a record of the whole thing working together before I put it down. Below is a three-minute playthrough captured on September 8, 2026, using the current character and game build. It follows the opening watch, bridge interactions, boarding and the choice to carry the warning home. A few repeated survey and command screens, along with short pauses, have been cut to keep it compact. The remaining footage runs at normal speed.

This is an alpha, and very much a work in progress. The character animation, environments, cameras and interface still need work. The recording is silent; the planned voice performances are unfinished. You can pause to read the dialogue, or just watch how the rooms and interactions connect.

When I return to Cosmic: Alliance, this is the starting point I want to remember: a playable sequence with one ending reached, enough of the idea to walk through, and plenty left to finish.

Cosmic: Alliance alpha, September 8, 2026. Condensed gameplay capture, 2:59, no audio. The recording shows the current opening, signal comparison, crew conversations, command decisions, derelict boarding and Carry the Warning ending. Prototype visuals and animation throughout.

So long for now, Captain Aelar.