Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - NancyGold

Pages: [1] 2 3 ... 13
Offtopic / Re: Ai generated images.
« on: August 13, 2023, 01:06:02 pm »
Markov models were there since the early 20th century, when Markov himself used 1-gram model to simulate text writing and physical processes. It was already obvious, that by implementing an N-gram model, one will be able to simulate human reasoning or any physical process. So Markov claimed that God doesn't exist, since all nature's processes could ultimately be understood and implemented, which got him excommunicated.

But it took more than a century to properly implement N-gram models, and, believe me, people tried hard ever since computers were invented. There were 2-gram models, 3-gram models, etc... but natural language conversations are many sentences long (i.e. more than 100-gram model is needed), and one needs a lot of training data to for a blind and deaf brain-in-a-vat to understand humans. In fact it required scrapping the entire Internet.

As of now AI is just a tool. You need a lot of expertise to do anything actually useful with it.
1. Understand how foundational models work.
2. Train LoRA.
3. Prompt the model in a consistent way.
4. Detect errors somehow. Model can generate bad art, and unless you're an artist, you wont notice what is precisely wrong.

And it will still look bland and generic, unless you train LoRA on something you personally designed in an unique way.

But in the end it can save you a bit of time or allow to produce photo-realistic content if you really know what you're doing.

Yet in observable future with well trained multimodal modal models it will be a real challenge for humanity to handle, since it could work without anyone guiding it precisely. I.e. a language model will do planning and initial composition, then image model will do a sketch, feeding result back into the language and spatial models, which will fix inconsistencies like 6 fingers.

These image models already have some basic interfacing with language models - they even use the same word embedding scheme. And further multimodal integration is driven by the need in robotics to navigate the complex real world environment.

I'm personally not good at competing even with other people, so guess I have already lost to the AI which will be there in 100 years. So I will just continue working on my projects.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: August 13, 2023, 12:19:00 am »
The project is still alive. I have indeed rewrote the entire UI system to ECS, and now slowly refactoe the engine to be flexible enough. UI really needs to be perfect, since there are a lot of menus and I want them to scale to arbitrary screen resolution, not just 4:3 or 16:9, and to allow users to arrange stuff like minimap anywhere they want. And I want to do that with a very few lines of code. The UI on the screenshot was made with just 30 lines. Would be challenging to do the same even in HTML+CSS. That is very important for prototyping because large portions of the UI gets rewritten continuously, during the game development.

I have also tried immediate mode UI, but found it to be inconvenient as an abstraction, but I do recalc widget rects every few cycles, so buttons and windows could expand to match new textual content.

One huge discovery was that the classic C++ style OOP can be completely replaced with entities (at the cost of performance). One just creates a series of classes which instead of holding the data inside themselves, fetch it from the database. That way an object could have multiple faces, playing NPC in a game world, while being a widget inside UI. I have yet to use the very advanced ECS features inside UI itself.

Another discovery was that hexagon compatible tiles can be implemented without redrawing any assets or even moving to hexes as main tile unit. But one has to implement non-uniform tiling by breaking basic square 4 pieces, and each of these 4 pieces into triangles. Now, I can use the same drawing routine, just assembling the original tiles out of triangles (if they support organic view), and 4x4 units will be allowed to take slight diagonal move. Now I can seamlessly map the world map hexes to the site map gird, while also allowing more organic looking tilesets where needed.

The time scheduling system is also being rewritten to be more robust. I found XCOM style entire party turn system is too rough and rigid. It is unable to capture a lot of stuff I want in my game. Only the Final Fantasy Tactics/rogue-like style scheduling could allow for:
1. Split of a second actions. For example, a unit has flying on a griffin steed got kicked out of the griffin by a tornado spell. In single part turn that unit will fall to the ground and die. Yet if griffin can react quickly, it could catch the rider back, or some unit on the ground could cast a feather fall spell. Same one could have a chance to save a drowning unit.
2. Seamless movement, when we control just a single unit, while other units follow us in some formation or got order to move on their own to some far corner of the map.
3. Ability for several players to move their units at once with little slow down (as long as players keep moving their characters)
4. Ability to quicker react to enemy movement.
5. Ability to avoid waiting for all the boring AI movement stuff. Think huge cities living on their own while you move your squad.
6. Ability for time magic to control time precisely.
7. Ability to turn on real-time mode with optional pause, when you just wait for your units to finish their tasks, or want to allow fast paced multiplayer. Age of Wonders tried to solve that with simultaneous turn mode, but that led to a total mess worse, where luck and fast clicking decided who win the game.
8. Much easier to implement AI. Although one would still want to have some rough long-term planning and goals for each unit.

One can still implement XCom style scheduling on top of the rogue-like one. In fact one can implement anything on top of it. That is how they turned initially turn-based Diablo into a real-time game, without rewriting the entire engine. Yet it is very hard to convert initially real-time or non-granular turn-based scheduling to support the granular mode.

I really enjoy how rogue-like scheduling works out in the games like Monstania or KeeperRL: one can be very tactical at some point, while at other points one can use the same scheduling mode while exploring a city with NPCs walking around. The total opposite would be Paradise Cracked - a Russian made XCOM clone, which had city explorations using entire-squad-at-once style scheduling. Each turn player was forced to watch each single NPC and vehicle to move across a huge map. That was the thing killing otherwise fun game. The only downside is that roguelilke scheduling (especially with large world) can be resource intensive to maintain illusion of fast response. So say Dwarf Fortress has really high CPU requirement.

I now believe that time-scheduling the is the most important thing about the game mechanics.

BTW, I now LP various obscure mostly turn-based games and XCOM mods are on my TODO list. Message if you want your fav game to be lets played. Just note that I wont LP popular, action-heavy or very uninspiring stuff (think football managers or standard JRPGs), since my goal is to discover more unusual games.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 26, 2022, 06:55:22 pm »

Overwatch GDC talk, where the dev explicitly states that ECS is mandatory for properly implementing time.
And it works even with a low latency online FPS, so should good for turn-based games.
Although they also use special scripting language, whose execution can be rewinded.
Can't imagine doing something like their "short replay" easily in a non-pure system, while the game keeps running
I also decided to move from the mutable graph based UI to immediate mode UI.
It is a functional programming approach to UI, where you turn widgets into functions., instead of maintaining an OOP graph.
As a result it greatly simplifies code, especially if you're doing UI in plain C99.
But for high level languages reduction in code size and complexity is astonishing too.
Both technologies are kinda expensive, but I remember hearing that ECS was used already in Thief game.
Then had to discover ECS due to the complexity of the game game logic, compared to simpler games like Quake

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 25, 2022, 12:00:41 am »
In addition I'm transitioning everything to use ECS, because a simple class based system is just not suitable for what I want to accomplish. I.e. I have a ton of static objects, but they all use the unit class, wasting a lot of memory and computation resources. I somewhat solved by introducing "active" field, which is non-nil only for objects that need to be updated regularly. But that doesn't help discerning between jut animated objects, but ultimately scenery objects and player controllable units and projectiles. Then I also want to represent the site cells as entities too. So in the end there could interplay between all entities. Like a living person could be turned to stone, and the result will be just another site cell but with an attached history, and therefore be turned back alive with another spell. And it goes very deep, like the ability to assign tooltip to different ingame objects. So simply discarding the OOP is really the way. I haven't went with ECS initially, because it began as a simple RTS engine, which I decided to turn into something more complex, and original Symta had really slow and subpart hashtables, so it was kind of an optimization. So when I began implementing the controlled determinism and time travel stuff, I found it near impossible with the current engine. So it is easier to rewrite everything into ECS, piling up spaghetti of more classes and inter-dependencies. I already had that gene system, which  was a way of emulating ECS, and I actually implemented characters inventory through it, yet it was disjoint from the game world. Usually people built XYZ coords into the base entity, but in my case I need just a raw integer UID, because the entities could be split across different worlds, each having different XYZ. Of course one can have WXYZ, but that will imply that every entity has to be multiworld, but some entities are purely local or have no world at all (i.e. a background process). So I just can't make any assumptions, other than assuming that anything is possible. Unfortunately my brain got poisoned by years of using the OOP hammer, so everything still looks like nail, but in reality OOP has very limited use, concerned solely with providing interface to low-level system objects like images or CPU threads, yet it totally fails at assembling these objects in a compete system, since there are cases where you want to treat both images and threads the same: say you need unload part of the program, together with its threads and images, or when you want to have each thread to have unique icon, or when you want each thread to render unique image, so the thread could be treated as an image. OOP will just lead you astray here.

One can also try implement game engine logic using a prototype based OOP, where objects are just hashes, but it has potential of creating more problems that it solves, since the systems and data will be heavy coupled, instead for being a combination of separate processes, activated on demand. Think each entity being an operating system, with different daemons running concurrently. One can built in everything into the kernel,but the result will be buggy unmaintainable and inflexible mess, since all the daemons have to be in the memory, running all the time. And in game engine we have millions such OS entities, all wasting resources. So ECS appears to be the only correct way to implement any moderately complex video game. But then again, even Tetris today is expected to have nice UI and particle effects, and once you have particle effects, ECS is a must. Absence of ECS was one of the reason I never came to implementing particle effect - adding yet another projectile class was really a chore.

Offtopic / XCOM Apocalypse Review
« on: October 23, 2022, 10:36:21 pm »
Nice review from a point of view of an RPG nerd, who believes that XCOM and JA2 had superior combat, which should be introduced in D&D games:

It is interesting that D&D ruleset does have accommodation for verticality, destructability and swimming. I.e. D&D 3.5 edition has flight, passwall and transmute rock to mud spells. But these are absent from the computer implementations due to the gameworld being badly hardcoded, resulting into such spells leading to sequence breaks. Then most 3d engines don't support destructability.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 23, 2022, 02:42:55 pm »
Rectangular lattice makes it really impossible to represent organic looking structures, likes caves and nature, in a good enough rating.

With hexagonal lattice organic scenes look order of magnitude nicer, but rectangular structures are tricky to implement.
But not impossible. With a bit of effort, one can pass walls though hexes.
Making the organic logic structures with rectangle is a real challenge. XCOM solved it with diagonal walls.
Yet these walls ended up being very thin.
Hexes 3 types of square grids, two isometric looking, and the RPG-maker style.
Hex cities can have buildings at 3 angles, all with standardized tileset.
So hexes are absolutely superior to the rectangular lattice.
They look visually nice and triple the combat possibilities.

Anyway, with 64x32 hexes I still have too much screen space wasted.
I do have XYZ offsetting and placing several objects on a single tile.
I introduced it to break the nasty square lattice look, while placing trees.
But it really clunky and non-uniform.
So hard to use with the procedural map generator placing objects.

32x16 will be too small and I really dislike the idea of having non-uniform hexes.
I can see how it can go wrong everywhere and make pixel art creation harder.
So I will group the objects inside single hex by breaking the hex into 3 diamonds.
So logically it will be diamond tiling, not hex tiling.
Although larger objects will still take entire tile.

I see how this system will allow to implement more nuanced melee combat mechanic.
Even for simple one-on-one duels.
In any case, it will open a space of possibilities, tripling the potential scene complexity and saving screen space.
As I already mentioned, I see how can entire group be moved at once.
Then I also has an issues with cannon plus the gremlin operating it.
As of now I treat them as a single sprite.
But why the cannon can't be operated by any other unit?
Why can't the gremlin be killed and its cannon seized?
Finally 3 smaller trees sharing a hex make for both nice visual look and obstacle for larger monsters.
So there will be a scenario where one can hide from a horse riders in the woods, because horse requires 2 diamonds to pass.
In the end lattice choice is really about interesting state spaces and their presentation to the player.
Of course with voxels one can go without any lattice at all, but at that point it stops being a game and become a simulation.
Requiring the generic and expensive 3d calculation physics and pathfinding.
For voxel I still think raytracing as a monolithic layer, but it will be guided by the tile metadata.
But for that to happen I will really need to optimize the cutting routine to show the inside of dungeons
It is kinda expensive for large size voxel chunks, unless one runs it in parallel on GPU, and I dont have a GPU.
Then again, I'm doing everything slightly differently. Why not implement a non-uniform tiling?
Yet architecturally it will be the hardest challenge I ever faced.
So I need to really perfect the lattice code, or it will be an unmaintainable mess.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 22, 2022, 07:08:09 pm »
Picking the grid format, and it is the trickiest part.
Usually one goes from isometry to hexagonal isometry by first extruding the iso diamond into cube.
That cube is reinterpreted as a hexagon.
Then one squashes the hexagon by 2 to get more RPGish view, where character faces can be seen.
This hexagon is guaranteed to tile pixel perfectly.
But for my assets the hexagon is too big and it makes hard to adapt the existing cubic tiles to hexes.
Now it is not really required to squash that, and since lattice form has nothing to do with the art perspective,
For example the original Fallout used square tilemap and just piled in hexes on top.
Heroes of Might & Magic games did the same. There hexes are really tall, so characters wont obscure each other.

But in my case resulting hexagon is either too big or doesn't allow adapting existing tiles.
So I'm entertaining  the idea of allowing several characters onto a tile.
Think Ogre Battle like squads.
That opens for number of gameplay possibilities as well as increasing the game speed.
I.e. player will be incentivized to move 3 characters at once, instead of disjoint characters.
But it will make such grouped characters more vulnerable to area of effect spells.
The idea is really crazy, but I really want to try it, since I'm redoing the game engine anyway.
I.e. a cell with all 3 characters will be immune to attack from behind, while the magic user in it will be able to
cast contact spells without becoming vulnerable to attacks.
Super tricky to implement properly, but I'm looking for an interesting challenge, especially if it is something nobody did before.
Especially since I have a problem where top tier units, like dragon, can kill low tier ones before they will be able to do any damage.
And in square lattice a dragon couldn't really be ganged on, because just 4 melee attack vectors, where 2 are frequently inaccessible
Hexes have 6, and but I really want a good solution of low tier cannon fodder characters, whose names player wont bother even to read, killing a dragon.
HoMM games solved it by limitless stacks, but that is not suitable for a tactics game with unique named characters, no two of which are the same.

Offtopic / Re: Shadows of Forbidden Gods
« on: October 22, 2022, 06:19:39 pm »
Is the game good? I have been thinking about getting it for a while, because the premise seems pretty interesting.
It is a shame that the hexgrid seems counter productive here. Is the map randomized?
Otherwise, a map illustration with a location list and a travel matrix would have worked much better.
The game is similar to Europa Universalis.
You basically play KGB in a fantasy world.
The game does have direct combat, but it is useless, since the opposing agents are always better equipped.
Hex grid use does have a rationale, since the game has terraforming magic.
You can show dynamic terraforming with arbitrary regions, but it will be more challenging.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 21, 2022, 05:38:20 pm »
How this even related to for example Double-slit experiment (especially when single photon interfere with itself)?
Every thing is local and can be closed in finite box and separated from rest of universe, and you still have random quantum effects. Or simply checking position of one electron, if you check it repeatably it will always give SAME answer, but if you one time check its speed then next check for position will be have random result, but second check for its position after it will return same value as previous check.
The problem is that you checking the electron state affects it.
I.e. you as an observer reside inside the system you observe.
Think of an XCOM operative, armed with a blaster launcher, in a complete darkness.
Now the only way to see anything is by firing the blaster launcher
That lights up the environment, but at the same time destroys part of it.
And what parts you will see, and what parts get destroyed depend on where you target.
In other words, electrons are so basic, we can't see them without changing them.

Returning to the game. I decided to completely scrap the square lattice and introduce hexagons to the battlescape, in addition to employing my voxel engine. As I mentioned before, square grid wasn't my conscious choice, just a legacy from the time the engine was a Warcraft 2 clone, running on top of Common Lisp. And finally it became so unmaintainable, I need a huge refactor plus redesign.

Back when I began I was really naive and had no idea what I'm doing and why it will be klunky. But as any writer I scrap earlier works and build upon them.

At first I thought hexes will make it hard to have rectangular structures, but there is a really nice solution to that: just allow diagonal walls. And voila! We have all kinds of shapes combining nicely together, without any hacks!! Hexes will really simplify the code, making maintenance easier, since I will use the same rendering code both for world map and for site map. Hexes by their sole nature make game world look more organic without any effort. And the new cell format will be closer to the XCOM one: walls plus core. That will save screen space, and allow to easily represent stuff like secret caves behind a waterfall.

I want to also scrap the entity system, since now it has separate entities for world map and for site map. That is really hard to develop, really bug prone and restricts what i can do with the game. Instead I will introduce to have a separate entity list, with an ECS system, where components will be activated when the entity will be given a context. I also want to accommodate for complex stuff, like controlled determinism and time travel. And existing system was proven to be inadequate for that.

Voxels are fast enough even in software on 2GHz CPU, and 3d further simplifies both the code and the graphical asset production. Fully destructible environment is nice too I.e. a magic blast could evaporate parts of the wall, without me drawing the destroyed sprite for each asset. Then I can also easily burn the grass, or tree folliage. Voxel will give player ability to easily zoom in and out, rotate, and a ton of other cooler effects. It is also possible to have pixel perfect voxel sprites, for the chosen angles. The only tricky part about voxels it is removing the occluding terrain. But it is also the trickiest part about 2d isometry. And in 3d there are many more ways to solve it.

I will have to adapt large portion of existing 2d terrain tiles and that will require improvements to my voxel editor. That is really tricky too. I.e. I will need normal mapping with the normals actually displacing the voxels. But other tiles, like soil and grass can be generates automagically.

It is really a shame I have such a horrible planning, but I can either make a just an okay game, or a good game. And to make something good, I have to scrap the stuff making it not good enough. Whne I just began, I knew nothing about voxels and how they can improve everything. My voxel editor initially was just a helper tool to produce 2d sprites. Now I'm fairly experienced with voxels. I wont be able to make more than one game in my life, so why not make a good one? Especially since I got a lot of skills with voxels and hexagons. I have already scrapped the old humanoids, because they were okay, but not good, and limited what I could implement and show, while my pixelart skills improved enough I could draw better ones (which are also dynamically assembled, so allow more animation states). Same way the current engine and lattice limits what I can do. And I really hope I can do something that will be worthy of the classic games I took inspiration from.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 20, 2022, 11:43:02 pm »
No, your measurement do not have any technical limitations, physic limits what we can measure, we have Uncertainty principle, Bell's theorem, and example of Double-slit experiment where measure change effect of experiment. And whole "no hidden variables" means exactly that there is no "full state" that we do not see, and only thing is wave function and its collapse that is govern by density of probability.
The point is that it is just theory, which is based of the local observation. There are no hidden variables, because we never seen them. Like the movie in the theater we never visited, because the boat went to another place today. If one day aliens abduct you and you find yourself on a flying saucer, thousand light years from Earth, you wont have a slightest idea where you are and what is going on on Earth, especially if the saucer has no window (i.e. no proof that the sun is still shining). Basically you are as good as in a different universe. So distance coupled with the light speed limit creates a separate universe. Recently they launched a new telescope and it changed the existing theory, which had holes in it, because the observation became less local. But still there is an optical limit to what we can theoretically see from here. Blackholes too have structure unknown to us, and could as well have their own plank distance, which could end up varying over the space, instead of being constant. But well, they are "black" to us, because we can't observe them directly. Same with the Schrodinger's Cat. We are not yet sure even about our own Sun's structure, because the processes happening inside of it are rather complex. IIRC, there was a paper proving they are turing complete. In other words, there is a life possible inside of the star itself. TLDR: it makes sense to remain open minded, without making any hard predictions and unchangeable plans, so there will be no disappointment when the predictions fail, because we were ignorant about something.

Anyway, here a rogue-like author contemplates on the nature of randomness and determinism in the time travel based games:

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 20, 2022, 09:23:55 pm »
Except when we have wave function collapse that effect is random, and there no way to have "hidden variables". Classic physic is indeed predictable but this is only abstraction over random system :>

As I understand it is random only for the observer, because the observers' measurement abilities are limited. And since observers can't observe the full state, they can't predict the next state. Say there are two cinemas in a town, they show different movies from each other. These theaters reside on two different islands on a lake, now there is just a single boat which can take visitors only to one theater, and the movies in the other remain unseen and the theater may as well go out of the business, but in the end it is the consensus of the viewers which decides what movies will be seen, therefore people see only what they want to see and the future becomes a self fulfilling prophecy. Now what if there are two boats or three theaters, or some islands share a combination of theaters or sub-lakes with sub-boats and sub-theaters on these sub-islands inside the islands on the original lake, ad-infinitum? Is that the kind of multiverse/wave-function sampling we are talking about? In a fantasy game we can have say an "oracle" character, who sees the future. And in a sci-fi game there will have to be an oracle device, operating beyond the bounds of known physics, which allows it to predict the future, that way there could be a way to sample the entire state or just short circuit the time dimension (like H.G.Wells's Time Machine), about which science isn't fully sure what it is, since different events happen at different time for different observers. In other words neither time or space are simple linear euclidean dimensions, although they look like that to us. And it makes no sense to treat them as linear in a fantasy video game with gods and magic directly deciding the fates of mortals. Say a character got cursed by a god? What will that imply? How to describe such curse in game world? Character's "luck" stat got reduced by 5? How should somebody's luck affect the game world? By a dice roll? What about collective luck? Should inanimate objects be "lucky"? I.e. that wall was unlucky when alien plasma shot melted it. If so, given two "unlucky" individuals (XCOM operative and the common house wall), which one will catch the alien plasma shot? I think that is just really intangibly and generic, so introducing a forward log of events sounds like a way to embody it into something both game engine and players can reason about and manipulate (aliens can affect the unlucky house wall's luck, so their shot will hit the XCOM operative). Nobody likes it when their character misses 10 times in a row, and there is a way to solve it - by being explicit about determinism and luck.

Anyway, stumbled XCOM RL dev's presentation. Rogue-likes are a nice a way to get into recreation-type gamedev, without doing it super seriously and learning GPU shaders or doing pixelart / 3d-rigging.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 18, 2022, 10:17:09 pm »

As you already know the main challenged I took is avoiding the dice roll.
The foremost reason is that I want to deviate from the classic D&D-style gameplay and come with my own thing.

More math/physics-inclined people know that "randomness" is basically an abstraction, and immediately see that by discarding it one basically plays God (who doesn't play dice, as Einstein noted). In physics randomness arise when we don't fully understand the system and can only comprehend about it using statistics. That doesn't mean the system is random. That means we are ignorant.
Basically its workings are in the "fog of war" So if you remove randomness, you have to be explicit about the underlying process.

In my case I need more advanced character interactions. Say a character can lose when parrying a powerful attack blow. In D&D you just throw a dice and 5% of times the character will lose weapon. But how can one implement that in a deterministic way? I have solved that by introducing a horoscope system, where each character has future, which can be discovered by paying oracle and even changed. Basically it is a log of predetermined future events, based of the character's birth date plus current date. It looks like your classic pseudo random number generator, but it is not, cuz the rules it uses are much simpler and can peeked at by the player. This system is really tricky to implement, but it greatly changes the gameplay, exposing the process behind randomness to the player, at sufficiently high "tech level" Suddenly you have future prediction and manipulation magic school, which actually works!

So in the end the limitation was a boon. I actually created something different from the casual D&D, without losing anything. So yes, characters can still miss and fail, but in a completely deterministic way, where player can accommodate for that. Obviously such system can be back-ported to the original XCOM, but with a species of time manipulating aliens. But for D&D that will require a lot of time to setup the game, since dungeon master will have to determine in advanced, what will happen to the characters, instead of using the dice.

Basically what I came up with would better called "controlled determinism", because I add only as much determinism as required for the game rules, but without fully determining everything in advance and allowing for player input.

Offtopic / RetroAhoy XCOM documentary
« on: October 15, 2022, 03:04:31 pm »

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 05, 2022, 01:35:27 am »
As part of the style review, I decided to lower the overall brightness a bit. Especially the one of that grass. Because high brightness sets a bit different tone from what I decided on now.

Also there is a yet another tactics game, Inkulinati. But this one is special. Usually tactics games are played on a 2d map, and preferably 3d (XCOM, Final Fantasy Tactics, Fallout Tactics, etc...), but this one is 1d. Not even a variation of height are present. Basically tactics game dumbed down to its absolute essence. There was also an 1d RTS, called Kingdom, also played on a line, without platform jumping or height variations. In addition to thembed down controls to just 3 buttons (left, right and action). Not super exciting to play, but really interesting game design wise, since it had everything an RTS expected to have.

Offtopic / Re: XCOM Inspired Fantasy Game
« on: October 02, 2022, 09:21:57 pm »
After a bit of further R&D I decided to scrap all the humanoid artwork and move to a new base:

The old base was too chibi, not flowy/edgy enough and had practical issues.
If the old base was heavily FFT inspired, then the new base is basically a complete HoMM2 copycat.
I don't want to copy XCOM style bases, because with all due respect, XCOM pixelart was far from being perfect.
I think I can do better even with my programmer art skills.
And I really love the HoMM2 graphics, over HoMM3 and HoMM4, despite HoMM4 being my fav game design wise.

In fact I borrowed several ideas from HoMM4, as that game had nice adventure feel, similar to the Rings of Power on Sega Genesis. And I liked the bottom-up approach to character classes, where the heroes gained classes based on their skills. For Spell of Mastery I came up with a 4 primary attribute system: ador, craft, faith and bond (BAFC - bond-ador-faith-craft). These variables (which I call talents) control how passionate the character is (risky vs careful), if the character prefers clever way to solve problems, if the character is faithful into the chosen god and the own action and if the character has good skills on forming bonds (basically D&D charisma with a huge twist). Then there is also chaos, order, life and death system (which I call COLD), which combines with the attribute system. Together they control what the character can ultimately do. And it is not possible to create a universal do-it-all character by setting all attribs to max, because say high ardor character will have numerous development branches closed, especially on the path of order, yet at the same time have development branches open on the path of chaos. And then all characters begin as commoners, your usual human beings, and moving to the path of order or chaos will require special rituals, which are not always possible (that is being controlled by the COLD attributes). The humans are jacks of all trades, and yet even a high-tier human mage can't compete at order magic with the one on that path, especially if such mage has aptitude towards order. For humans BAFC+COLD together produce the "cosmos" determinant, which basically says how cosmopolitan and generalistic the character is and if it can succeed as a human being, and characters with high cosmos can't succeed on the non-human paths.

But that all is mostly for the background, since the characters player will hire, although can develop further, will come with all the skills necessary for the game. So it is not required to understand this system or do through character to play the game. It is more for my own convenience to add depth to the game, so characters wont feel static and will have unique personalities. Give that I have 5 sates per each attribute, and there are 8 attribs BAFC + COLD, and I have 5**8 = 390625 different possible psychological profiles for characters. That is not much, but beside these static talent profiles, characters have dynamic skills, which although determined by the talent profile, can changed through training. The training state of these skills actually determines the character class. To generate the mercenaries for player to hire, the engine actually does the backtracking from the class requirements to skill, to talents. Basically it isolates a subset of all profiles matching that class, and then picks one at random. Similarly to how Prolog does it. Again, that happens behind the scenes and player doesn't really need to understand it. But it is impossible to implement with pen and paper, so I hope I drifted far enough away from D&D by turning the core idea behind it inside out.

I know for people accustomed with D&D such name will sound crazy, but I believe character systems should be more about psychological side, and appears to transition nicely into actual game mechanics code. Moreover, this system runs on top of the existing gene and gene-expression system, which is more about the physical fitness and status ailment (like the character being poisoned, losing limbs or eyes). That COLD system was actually featured in several prior games, among them Lords of Magic and HoMM4, which completely abandoned the previous Might & Magic games elemental approach for this math styled based axiom system, which then expands into the elemental things, as a side effect. Lords of Magic still had water/earth/air/water elements on the same level as the chaos/order/life/death, but the designers there, despite being really smart and innovative, had cloudy understanding of what they are trying to achieve. Recently a new game, Songs of Conquest, stole a lot of ideas from Lords of Magic, including its city development approach and the unit stack size limitations (as  a fix to the single-hero issue of the original). Another HoMM clone, Hero’s Hour, took real time aspect of it, plus the army composition display on the world map, instead of just that single boring hero sprite. Hopefully in 25 years or so, somebody will finally make an ideal HoMM style game, with all the design issues fixed.

That all seems so insanely complicated, but my game began as basically a Warcraft II engine implementation ( ), back then in pure Common Lisp (SBCL compiler), which I then ported to my own Symta language. And it was actually a full blown Warcraft II implementation, copying 1-to-1 the AI behavior and I even had all the spells were implemented. Compared to Spell of Mastery, the WC2 project was really simple and took me just two month to implement in Common Lisp. Then I decided to turn into my own thing, and I planned to make a puzzle game akin to DKPuzzle.pud map for WC2 and CoreWars, because WC2 engine is basically a cellular automata, and therefore inherently puzzle friendly. So there was idea on combining all kinds of puzzles into a Rube Goldberg device, with a bit of strategy elements. But then I decided that 2d is too boring, and the game really needs 3rd dimension. WC2 tile engine was unsuitable for that, so I turned it into an isometric engine, very simple at the time (the one I currently have uses dependency graph to implement the painter algorithm). But then I found that solving sokoban puzzle in real time, while enemy attacks you, as a bit annoying. So I added pause. That haven't improved the gameplay too much. So I moved the game completely into turn-based mode. Initially it had a final fantasy style / heroes of might and magic scheduling, where units moved in accordance with the speed, which is basically an extension of the Chess scheduling of player moving 1 piece a time. In fact you can add this scheduling to Chess, and at one point I actually tried giving units actual chess like movement patterns. That worked but was kinda gimmicky and the scheduling proven to be too annoying, since turns were too short and player was interrupted by AI moving its piece. So I moved to the XCOM style whole team turns. And then it was like... fsck it! I'm making an XCOM clone, but with everything different from XCOM.

As a former Warcraft II engine my game had no accommodation for character development, but it had a system of dynamic status ailments for spell effects like haste and bloodlust. That system was also used for unit upgrades and the units inside of buildings. And everything dynamic, including inventory, was built around it. It allowed somewhat complicated stuff, like the WC2 flame shield spell, of flame sprites rotating around character or the blizzard spell projectiles falling down. In fact, I abstracted it into gene and gene expression concepts. Yet the problem I encountered now is that genes are hardcoded into unit type, which was shared across different units. And when you move to unique characters, there is just no type and every character has to carry all necessary genes. So now I'm struggling with getting rid of the static class system. But I still have to maintain it for static objects, like tiles and trees and rocks. Then again, maybe all trees and rocks should be unique too? Modern PCs have resources for that, but I was always into premature optimization, unnecessary limiting myself by making everything static by default, even inside a dynamic language. Anyway, it is still an RTS engine, and at one point I had a bug, of several units moving at once, out of their allocated action points, since the engine can schedule such movement.

Anyway, dunno what to do with the old art. Guess I can sell it for a few bucks. Still a shame I lost so much work due to bad planning.

Pages: [1] 2 3 ... 13