Author Topic: Beta Release(Game, not Engine)  (Read 522 times)

MoLAoS

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 419
    • View Profile
Beta Release(Game, not Engine)
« on: 13 September 2013, 09:14:49 »
I am at the phase where I am comfortable moving away from programming to filling out the game content. I have been doing some math and I am projecting a beta release of my current game project in 14 days.

I will probably have to fill out some features with a little bit of light programming and correct bugs that I can't be aware of until I actually try to make a game that does what I want, but I'll primarily be connecting game content with currently functioning game mechanics that I've added.

I've got a plan for how stuff works and I'm going to build it up in stages. First I am going to build up the basic economy. So I have like 100 resources already ready and functioning and I am going to connect them to the items and buildings and each other.

Pretty typical city building chains like wheat->ground wheat+milk->bread. Maybe some liquor.

Currently I'm considering my process distribution. Do I want wheat fields, private mills, and baking sheds all on crop farms? Hard to decide. Also dreaming of the day I can play with the graphics code to modify a farm model at runtime based on what items(facilities in this case) are connected.

Anyways, once I hook up the basic economy and get the worker units set up, I plan to start setting up the related stuff. So educated citizens to be overseers of buildings, items that come from the processed resources and the improvements and enchantments of those items.

Once I get all that down I can finally move into the Orders/combat part.

MoLAoS

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 419
    • View Profile
Beta Profiling
« Reply #1 on: 1 October 2013, 18:58:25 »
Well, it's been longer than I thought, and there is still more to go, but I am finally getting really active about this. Also I may be getting on meds for my ADHD, wooooooo drugs!, so that should make me a lot more productive.

I have gotten some basic gameplay in and doing some early rough balancing on stuff and I decided to do some profiling and it appears that my lack for education has not caused me to write unperformant code.

There are three things taking up the majority of CPU time:
Doing the animating of the units takes the most time when profiling the release version, a majority of the total time
Doing the rendering of minimap stuff takes the second most time, maybe 10/20%
Doing command updates on units, almost entirely the updateGeneric function in attack commands is third

The most amount of time, probably 60-70% of CPU times is taken up on graphical stuff, and since I only have like 60 units going, that value will probably increase, both the minimap textures and the unit animations.

Of the actual game logic only the updateGeneric that deals with selecting attack targets for an attack command takes any significant time. It still doesn't take much so I probably won't mess with it unless when I get 400+ units on the maps it starts to take the most time. Based on profiling it seems like the majority of the time is taken up by pathfinding. Like 80-90% of updateGeneric()'s CPU time. The reason its under attack commands is probably because I give more attack commands from the new AI than move commands.

So basically, animations, textures for the animated minimap, and pathfinding take up all the time. The game still runs crazy smooth though under release mode, even with the profiler running.

Assuming my ADHD doesn't kick in hard, and I can spend the same amount of time every day as I have today and yesterday, its probably gonna be another weak to beta, of the game not the engine, release. Then I'll probably have to do a ton of play testing to make sure stuff is logical.

MoLAoS

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 419
    • View Profile
Re: Beta Release(Game, not Engine)
« Reply #2 on: 3 October 2013, 22:22:25 »
So as I've been slowly adding content and getting basic gameplay running, I've noticed some bugs and oversights that I needed to handle.

There was a bug where levels did not work properly, and there is still a small issue, namely the faction designer needs to set the base exp for each set of levels so that it gives the proper value. But levels now work properly.

I had a problem when I was setting up scenarios. Basically how to scale the enemy power over time which I finally got fixed.

There are two things you can do. So first you have an ability to add a plus value whereby every time the createdUnit ticks on the spawn/lair it adds that value to the total production moving forward.

So with 3 + 1 and 2 minutes on the clock you get 3/4/5/6/7/8/9/10/11/12. So the number of enemy units quadruples over 20 minutes.

You can also set a delay so you can make a separate unit production that only triggers at some later time.

So maybe its a 3 + 1 spawn with a 2 minute timer that triggers at 12 minutes.

That means that you would have this growth instead:

3/4/5/6/7/8/12/14/16/18. So 6x as many units over the same period.

This gives you a lot more options than just the original system where you could only set the repeated spawn time.

Now you still have the same amount of possible units per spawn/lair as set by the modder so if you don't kill off monsters their numbers won't explode infinitely.

I did end up getting my ADHD meds although the psychologist insists that I have a different problem also. Hopefully I can make a lot of progress once I've been on them long enough to create a noticeable effect.

Anyways probably next I'm going to add in a couple more orders besides defender, set up levels for all the ordermembers, then add their special stuff. Then I may work on the economy more. And alternate that to keep my interest.

MoLAoS

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 419
    • View Profile
Re: Beta Release(Game, not Engine)
« Reply #3 on: 17 November 2013, 23:13:53 »
Finally did some work after a month plus of slacking. Not a whole lot. Added wizards, fixed a bug.

Video:
https://www.youtube.com/watch?v=lIUUJCtSKpI

This is just two wizards attacking some enemies. They did fast but you can sorta see them using their attacks smartly.

They look for the most damaging attack to their selected target, check for cooldowns, then mana, then attack. I might try using units with much higher health so its more obvious whats happening.