Making my own game, here's my progress!

Syndrome

You can change this now in User CP.
Reaction score
126
I really don't know where to put this thread, actually.

I mean, I'm making my own game for the fun and experience of it and logging my experience. Aside from OpenGL, I'm not really asking people how to set things up or code structures and what not, instead I'm asking them for their opinions on how it looks lol.

If a moderator could move this thread somewhere that is more appropriate, please do so xD
 

Syndrome

You can change this now in User CP.
Reaction score
126
Here's a few more screenshots after I tweaked a bit of the UI a bit more:
Battle%201.png


Battle%202.png


Battlescreen%208.png
 

Syndrome

You can change this now in User CP.
Reaction score
126
I read your sentence.
I read it twice.
I still can't figure out what you mean lol, I'm sorry. I'm actually so tired, its 1:30AM here. Maybe an example will help?

I saw the word stats, so let me just bomb you with some stuff I have running in my game:

Each monster, at each level, increases their stats. This increase is not static, but rather follow a normal distribution. Most monsters will be average, but a few will either be exceptionally good or exceptionally bad.

The game tells you the "Potential" of each monster based on its current progressive stat increases over time. Anything above the 90th percentile is deemed Godly, above 75th percentile is Exceptional, above the 60th percentile is Fine... You get the idea. All of the ranks are: Godly, Exceptional, Fine, Average, Poor.

But don't think Poor monsters are useless! Using poor monsters in Forging [fusion] or Purifying [sacrificing] will boost the new monsters at a rate almost equal to Exceptional monsters. There are also ways to skew your monster's stat progression towards the 100th percentile, but I will dwelve into that once I am done the code and concepts for sacrificing and fusing monsters.

The game also keeps track of the average damage and stats of your active party in times when it spawns an especially hard camp for you to battle. Things like the amount of turns it would take for you to defeat a normal party, the average amount of damage you can do within 3, 5, and 7 turns, and who does what all factor in what you will face in the hard battles. This is to empower the AI more than anything. An example is that if the majority of your damage is coming out of one specific monster, the AI will try to target it down first. If it sees that you like to switch your glass cannon's position with a certain other monster, it will be more inclined to target the other monster just so it might hit the glass cannon instead.

That's the most I can think of off the top of my head in terms of 'statistical history'.

As for 'storing' anything, the game saves the current layout of the randomized map, including treasure nodes, hard battle nodes, event nodes. It also saves the current location, the monsters in the party, your items... etc. This is important because I wanted to make sure you couldn't save and reload to avoid losing. In fact, whenever you load the game, the save is deleted. You can only progress forward in my game. If you die, the game stores your active monster party and scores it. That monster party can also be used in multiplayer once it is implemented.

But if you're asking if I am setting up some kind of webserver and use some databases to do anything, the answer is no, not really. Multiplayer is going to be Peer to Peer if I can set it up properly. I'm learning most of what I need to use on the go here, and I'm constantly refactoring code and redesigning a lot of the structures I use to make the game flow.

The UI code is actually such a mess. I'm gonna have a second go at it soon.
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
803
Little more in depth and barely missed what I wanted, but a good amount of information that answered most of the other shit that came to mind.

What I meant was like a history of the player's performance, by tracking various statistics like damage dealt vs. damage taken in each fight or something along those lines, not for use in the game per se but for mere curiosity of the players, and perhaps for comparison of their skill level or overall performance in the game (like how Warcraft and Starcraft, and really most games I guess, determine your ranking in ladder and tournament games). Not necessarily on a server for public viewing, just in general.

Thus far that's what I've found to be one of the most difficult things to figure out. Though tracking the information itself is not hard, just update a list whenever a specific function is executed, but to find the appropriate ratios to weigh that information against each other with to come to an accurate system for ranking a person's performance.

And as a note from my perspective, I would advise you consider something along the lines of a public webserver, or some kind of central database that collects the information for your viewing, as I feel that a lot of that information can be an invaluable asset in future developments, as many of the statistics that are analyzed will give you a good idea of how people are playing the game. In your case it may be a nonissue, as I don't know how complex it is, but in other types, it's nice to see what people are actually doing on a large scale because then you can put additional focuses onto the areas that are clearly most appealing, or perhaps find ways of encouraging players to spend more time in other aspects. That's probably what most of the developers are using achievements for now. And now that I think about it this is probably pretty common knowledge... I've been pretty far separated from the major development community for some time now.
 

Syndrome

You can change this now in User CP.
Reaction score
126
Wow, I honestly haven't thought of that. It is a really interesting idea.
I kind of want to do something like that now, but it will have to happen like... after everything.

Achievements for sure, but... databases... hmm..
 

Syndrome

You can change this now in User CP.
Reaction score
126
Finished Fusion and Forging concepts/code/whatever. Implemented it in OpenGL, begun refactoring the code for the entire project and updated the AI.

The reactionary AI, as it stands, will do all of these:
  • Try to calculate the min/max damage it can do and take into consideration how much it thinks it needs to do with each monster. Prefers a 70-85% confidence zone to avoid wasting mana/turns. Also keeps track of resistances and weaknesses.
  • Priority for targets will be given to weaker monsters and monsters with higher than average damage. Highest priority will be given to monsters that are channeling spells for longer periods of time. May attempt to 'silence' spellcasters or debuff them.
  • It will also track which monster you seem to like to swap your glass cannons with. If it thinks you might try to protect your weaker monsters by swapping it with a tank, it will try to target the tank's position instead so that it may hit your squishy monsters.
  • It also tries to protect its own squishy monsters by swapping it out. It keeps track of whether you look like you're trying to target the tanks to hit the squishy monsters or not, and will actually try to fake you out.
  • This data is saved from each battle as you approach the 'boss' of each area. In other words, the AI acts like if it was facing you for the first time for every non-boss mob you battle. However, each of the data saved from it is given to the boss. The result is my fully healed level 20 team being wiped out by level 15 boss mobs.
  • Boss Mobs. Okay, this is where it gets a bit funky. The game tracks your average damage over a number of rounds, your strengths, and your weaknesses. My game then tries to build a monster team in the area that are filled with monsters belonging to the zone you are in while at the same time being an 'inverted' team. The aim is that 50% of your team is effective against their team while 50% isn't. The opposite is also true for the enemy team. The game tries to balance out the levels/stats of the monsters, and will try to make the battle last for about 25-30 actions [this includes all attacks, swaps, whatever]. I don't want this game to be all about grinding out your monsters [which is really risky btw], I want it to be strategic. Mistakes are often heavily punished in these fights.
  • I am now tempted to subtitle my game "Prepare to Die".

Exam week is here, sorry for the huge delay in updates. Screenshots incoming for forging, fusion, and monster info.
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
803
What is the punishment in boss fights (sorry, I really haven't been following development)? Is it simply that the enemy units are decidedly stronger, or your ai is just less than forgiving when it comes to tactical advantages?

I've been having to work on dumbing mine down to some extent because I found that they never miss otherwise, and there is an unfortunate tendency for them to figure out where everything is.
 

Syndrome

You can change this now in User CP.
Reaction score
126
What is the punishment in boss fights (sorry, I really haven't been following development)? Is it simply that the enemy units are decidedly stronger, or your ai is just less than forgiving when it comes to tactical advantages?

I've been having to work on dumbing mine down to some extent because I found that they never miss otherwise, and there is an unfortunate tendency for them to figure out where everything is.

Well, the AI in boss fights starts off knowing what you tend to do and which monster in your team does what from all of the previous fights. Its like playing chess with someone a bunch of times, the person will eventually know what you tend to do and develop counter strategies for it.

In addition, the teams are more or less 'equal' in these fights in that 50% of their team is effective against you while 50% of your team will be effective against the AI's team with roughly the same EXP average. It doesn't cheat in the conventional sense, but because it has access to the data gained from you fighting a bunch of weaker mobs it will do things like fake out monster position switches and predict whether or not you will switch your monsters or not. They also favor higher certainties.

For example, lets say you have a monster at 100 HP, and they have
  1. a monster that can either attack all positions for ~100HP [this is a very costly attack] or
  2. they can use two monsters that can deal 100 damage
  3. they also have one monster that can do <100 damage that takes two turns to follow through during which you may switch the position of your monster.
Example:

Your Team:
A1 [this monster is at 100 hp and is targeted by AI]
B2 [tons of health]
C3 [tanky]
D4 [squishy]
E5 [squishy]

Normally, the AI would probably choose the first, or more likely, the third option and attack the position of A1, because it falls within the 70-80% certainty and is programmed to try not to waste resources. However, if the boss AI sees that in all of your other fights you like to switch your weak monsters around with B2 and you do it almost every time a monster is at low health, it will proceed with option 2 and target both B2 and C3. If, though, you like to try to fake out the AI in a lot of the fights earlier in that you switch your really weak monsters with squishy monsters, the AI might resort to option 1. It will rarely use Option 3 unless you did things like completely remade your team before the boss fight or if you are extremely unpredictable. If the chances aren't high enough, it may even use both option 1 and 2 just to be sure.

Tl;dr, Boss AI likes to be more sure and has less reservations when it comes to wasting mana/turns as long as the target it has its' eyes on has high enough priority.

EDIT: Ah screw it, I will draw a flowchart detailing everything on the AI along with the Screenshots after I finish reviewing for my exams lol
 

Varine

And as the moon rises, we shall prepare for war
Reaction score
803
Do units have degraded performance based on their damage, or is it a pretty standard set up where they will have full damage and agility until dead?
 

Syndrome

You can change this now in User CP.
Reaction score
126
@ Varine: Nah, it's pretty standard. I will consider doing it, but the AI is already extremely efficient at kicking my face in. Maybe I should tone it down a bit... I dunno.
I'll think about it.

Small update:

I'm travelling at the moment since I finished my exams, so the screenshots and AI diagram will come later once I've settled down but...

Right now I've finished getting better quality pictures and am now working out each and every individual monster's move-list/location/data.

pKmWIUp.jpg

It's a -lot- of monsters. A whole 318 of them. That's two times the amount of Pokemon in the first Red/Blue/Yellow Gameboy games. This will take a while =____________=...
 

Syndrome

You can change this now in User CP.
Reaction score
126
Erm. I got an e-mail from Square Enix yesterday saying they really wouldn't like it if I kept using their images.

Damn.

HOWEVER. I do have friends. Many of them can use a pencil. A few of them can even draw!
So as it stands, I'm roughly 50% happy with my game so far. In another month I should have my happy-meter at around 80%. When it gets there I will begin sending out a bunch of propositions for other artists to get some monsters done.

So far, I have Whitesock in my employ. However, with ~300 monsters and ~50 special effects, and another ~25-40 landscapes he thinks I may need another 3-4 artists.

I kind of want to wait until I have something I'm really happy with to show that I'm not fooling around, but since this is THnet I guess I can ask ahead:

Is there anyone here who wants to draw some of these for me?

This game will be free, completely open-sourced. There will be absolutely no profits at all, I don't think I will even set-up donations for it. What I promise to do will be dedicating a section of the credits to hold whatever you want in it within reason. For example, Whitesock wants a link to his site, which I will gladly give.

Consider this something you can write on your resume, I guess. I know I will be doing this haha.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top