Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411498 Posts in 69373 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 08:55:46 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsThe Tainted Mob (previously Mages'n'Peasants)
Pages: 1 2 [3] 4 5
Print
Author Topic: The Tainted Mob (previously Mages'n'Peasants)  (Read 23464 times)
Eluardian
Level 0
***



View Profile
« Reply #40 on: August 23, 2016, 06:35:41 PM »

Hah, that God's Eye ability is really neat.  Hand Thumbs Up Right
Logged

  
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #41 on: August 24, 2016, 06:17:18 AM »

Enjoying the progress, it's starting to really shape up!
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #42 on: September 07, 2016, 08:39:07 AM »

Quote
Hah, that God's Eye ability is really neat.

Thanks Hand Thumbs Up Right

The updateh time has cometh. Please forgive me for the number of GIFs in this post.

New friggin background

I've pushed my pixelart abilities to their limit, straining them intensely, and produced a new background -- replacing the old, ugly one.

Witness in in motion.



Feel like a princess in a castle

Behold, for gates now spawn walls in the background.



M-m-m-monsters' den

Alright so it doesn't really look like a den, so I might change the actual name in the game. Basically this building adds in two new units per faction! Wooo hooo!

Those two units are mythological creatures present in respective mage faction's mythology.

This is how the building looks like during both day & night:



The m-m-m-monsters

Monsters present in Ancient's mythology are Minotaur and "Wise Eye".



While Priests have Archangel and Cupid.



WHAT'S NEXT?

I want to get back to playable state ASAP. I think for now I'll get to fixing the AI and making it single threaded for the purpose of introducing multiplayer. I thought about it for a bit, and I decided that I want it in. I think it'll work like age of empires did, which is sharing input between players and simulating with the exact same output. Hopefuly it'll work.

I also had in mind more biomes, fantasy themed, but this is a low priority at the moment.
Logged

ANtY
Level 10
*****


i accidentally did that on purpose


View Profile WWW
« Reply #43 on: September 09, 2016, 01:16:16 AM »

Hey!

Found your game on DevLog Collage and I have to say that I'm really impressed!

Love how you solved the fighting mechanics and the factions you have in your game atm are also awesome.

Keep up the good work!
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #44 on: September 09, 2016, 09:36:36 AM »

Thanks ANtY Smiley

Quote
Love how you solved the fighting mechanics and the factions you have in your game atm are also awesome.

And there'll be more, cooler factions soon Tongue Next up I've planned "spirits", who manipulate... well spirits. And they'll probably be doing some frost magic too.


I've researched a bit more about implementing multiplayer, and figured out that lockstep is a no go. There are two reasons:

- PhysX is most likely (there were contradicting statements on the internet) not deterministic, which means two same situations can produce two different results.

- I'm using floats for units' position etc. Floating point operations can produce different results across platforms.

So, I've two options left:

1. One player is authoritative, simulating everything and sending snapshots to other player(s). Inside those snapshots would be information about every unit and projectile. This is heavy on upload bandwidth, and could severely limit the number of players in one game.

2. Same approach as before, but every player is authoritative of his own units. This is much more upload bandwidth friendly, since one player has to send out at most ~40 units, rather than twice that or more.

I'll probably try 2nd approach first.
Logged

ANtY
Level 10
*****


i accidentally did that on purpose


View Profile WWW
« Reply #45 on: September 09, 2016, 11:41:03 PM »

yeah, second approach sounds much more viable, what are you using PhysX for? Maybe try to reduce its role to only cosmetic aspects and do the rest via your own code? (like knockback on units?)
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #46 on: September 10, 2016, 01:12:08 AM »

Units use rigidbodies, where I set their velocity for movement. If I wanted to rewrite them to use my own physics, I'd have to also find a replacement for projectiles' using OnTriggerEnter2D / OnColliderEnter2D. That's because I can't run physics update by hand, so there's a possibility one client would detect a collision, where other wouldn't. Even if I did that, there's still the questionable nature of floats -- I'd have to rewrite all of my float operations to some integer based float, probably.

On the other hand, snapshots require sending out a lot of units' information (besides position, and sprite id, there'd have to be stuff like health, speed, move direction, is flying), which would require sending out delta updates. Last time I did delta updates it took three months and it still didn't work perfectly.

Now I wonder which approach will take less time.

Thanks for asking that question ANtY. It made me write down what's required for either approach, and now I see that lockstep still is a viable option.

@EDIT

I could probably enable IEEE754 through C++ and switch to box2d for physics where I'd replace box2d's trigonometry functions with custom implementations. (trig functions can return slightly different values even in IEEE754)
« Last Edit: September 10, 2016, 02:08:53 AM by kamac » Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #47 on: September 26, 2016, 06:51:09 AM »

Update Gomez

So since last entry here, I've spent most time adding more content to settlements. This mostly equals upgradeable buildings.


Building levels for barracks


Building levels for reworked defense tower


Building levels for reworked house


Building levels for reworked smithy


Gates are now upgradeable as well. I've also reworked stone gates

Mage tower is now upgradeable as well. It has three levels which let you unlock spells for your mages.

Other things

I decided to ditch gold mines, since during an attack your peasants would usually either have no way to reach them, or they'd die while working, etc. Gold mines also limited how much can you expand on your economy, since you couldn't just build more of them. Houses took over their role - they now produce gold over time, and provide more "people points", so you can recruit more units.

I've finally got around to adding a way to recall your units from an island. You can do it by pressing the recall option on a portal that links directly to the island that your units are on. Recalling takes a moment during which the units to be recalled have an idicator above their heads.



Going with the game polishing spirit, I decided to add in some idle animations for units that hadn't had one.



Next up

I'll be focusing on improving and making the AI work again. After that I might go for some small features, menu or multiplayer, which I figured out I can probably approach only in one way. Basically I could try to force some floating point settings during runtime, and have all my floating point operations be done by calling C++ functions, since C# doesn't give a flying fuck about IEEE754. Also I'd have to either drop physics and write some collision resolving myself, or switch to something like box2d / bullet that would do it for me.

Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #48 on: October 29, 2016, 12:30:25 PM »

Great, there goes another month without a devlog. I'm not really good at posting them consistently (or rather frequently).

Anyway, I've spent most of the month doing work on the AI. This involves having it assign some priorities when building stuff. Previously, it was just a long block of ifs, checking whether we can build a structure. Now with every AI tick, it assigns a priority to all possible types of buildings, then iterates over the most needed ones and tries to build them.

Then I made the AI split it's resources between building stuff and recruiting units. A finite state machine came in handy, and now I wish I had used it in more places. This is how FSM's structure looks like (excuse the lack of arrows, every link is bi-directional):



Basically, there are three states: NoBarracks, Balanced and UnderAttack. During "NoBarracks", 100% of resources goes to building stuff, during "UnderAttack" 100% of resources goes to recruiting units, and during "Balanced" the % varies depending on the number and priority of stuff we need to build.

Then I did some behind the scenes work, switching from INI for defining unit & building stats, to (a bit customized) JSON.



THEN, I worked on improving AI recruiting units. Before, the AI deducted what kind of army does it want to recruit based on enemy "danger", which was basically an integer incremented with time. Now the army to be recruited depends on current gold income and gold reserves.

Eye candy

After speding so much time on the AI, I've decided to start reworking and improving on biomes and the overall look of the game.

First thing I had to do was to make pixels per unit consistent. Up till now, I've been using 32 PPU for environment sprites, such as bushes, backgrounds or ground tiles, whereas it was 16 PPU for units and buildings.


comparison of 32 ppu vs 16 ppu for environment (please excuse me poor GIF's quality)

Once that was settled, I started to improve forest biome. I've started by (FINALLY) reworking the trees, then adding in more layers of backgrounds, then adding in some background trees.

This is the effect:



And here's the same thing, but in motion:




Next up, I'll probably be focusing on improving the desert the same way I improved the forest biome. My todo list is neverending though, so I have a lot of stuff to choose from.

I think the game is playable at it's current stage, lacking only some balance fixes and little improvements. I might do some first gameplay video soon.
« Last Edit: October 29, 2016, 12:42:59 PM by kamac » Logged

ANtY
Level 10
*****


i accidentally did that on purpose


View Profile WWW
« Reply #49 on: November 07, 2016, 03:20:29 AM »

I dig the visual re-work a lot

though there is one odd thing here, the tree bodies, the bark looks like it's flat or something, you should re-do them and think about where the light is coming from, what direction. And base the shadow and highlights on that  Toast Right
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #50 on: November 07, 2016, 10:38:01 AM »

Quote
though there is one odd thing here, the tree bodies, the bark looks like it's flat or something, you should re-do them and think about where the light is coming from, what direction. And base the shadow and highlights on that

Do you mean the bark of the trees in the background, or the bark of the trees in the foreground? I might have made the background trees seem too much like they are in foreground. Thought that by making them appear flattish, they'd feel more like they are irrelevant.

A mini-update: I've been working on minor stuff. I made a switch from particle based approach for torches, to a sprite based approach.



I'm also in the process of making the spells have knockback / physic effects on units.



Also been working on some nicer death animation. It's still lacking substantial amounts of blood and a shader-buffed spirit effect.



Currently, the big tasks that I know I have to do very soon are:

* implement menu (main menu, skirmish menu and all menus) - I've been thinking about using HTML5 overlay for that with chromium, which would surely yield some cool results. The drawbacks are that if I use it, it would be a big pain to implement it. In the end, I have to let the dream die and use unity's UI.

* rework desert biome

Then there comes stuff like reworking Mage Tower, Monsters Den (that shit's so ugly) and a couple of bugs. If I can get through that, I can begin to think about making the gameplay more varied (hopefuly without adding features that require months of work).

Once the game feels good, I can begin to add more factions.
« Last Edit: November 07, 2016, 03:04:45 PM by kamac » Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #51 on: December 12, 2016, 10:41:09 AM »

Yo, what's good.

After having stared at the main menu for several weeks, it's finally working. Not super fancy and it's still missing some settings (like sound volume etc.), but it's there.

There are no menu sounds yet, but you nearing the end of the video, you can for the first time hear what selecting a peasant sounds like.



Parallax Sweetiness

I worked some more on background parallax effects (which you can't see in the video above, because it was recorded before that)



Dilemma

Now I'm checking if there's a way for me to make the animations look better. Which one looks better, old one (left), or new one (right)?

Logged

wizered67
Level 1
*


View Profile
« Reply #52 on: December 12, 2016, 02:24:59 PM »

Wow, I really love the look of this game! Following!
Logged
TheWanderingBen
Level 1
*


Making Games Around the Globe


View Profile WWW
« Reply #53 on: December 14, 2016, 06:49:54 AM »

Still looking great! I am, as I'm sure many others are, following silently, but enjoying the posts.

Now I'm checking if there's a way for me to make the animations look better. Which one looks better, old one (left), or new one (right)?

I think the timing of both animations feels off -- the tree feels like it shakes just a frame or two too late. It's as if the axe had hit the tree, then the tree forgot its line for a few frames, then thought 'oh yeah, i need to hit react!' and started to shake.

It's hard to tell if this timing issue would be obvious in the game, or I'm only noticing because I'm scrutinizing this particular animation.

Anyhow, looking great! Good luck!  Toast Right
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #54 on: December 14, 2016, 07:09:38 AM »

Quote
I think the timing of both animations feels off -- the tree feels like it shakes just a frame or two too late. It's as if the axe had hit the tree, then the tree forgot its line for a few frames, then thought 'oh yeah, i need to hit react!' and started to shake.

Thanks for critique!

Yup, it seems off. It's probably a misplaced animation event. I'll be sure to fix that Wink
Logged

Low_Chance
Level 1
*


View Profile
« Reply #55 on: December 14, 2016, 07:24:54 AM »

Dang, this is looking great. Very interesting to see your process for balance/design as it goes forward.

Logged
yves
Level 0
*


View Profile WWW
« Reply #56 on: December 14, 2016, 08:01:21 AM »

You make some good progress man. I like it  Grin
Logged

kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #57 on: December 22, 2016, 08:37:19 AM »

Thanks for the heart-warming words guys Hand Thumbs Up Right

Ten days later...

Inspired by the new peasant wood chopping animation from the previous devlog, I decided to improve some more anims. I reworked animations for units from barracks (Angry Peasant, Knight, Angry Slave & Slave Master) and Mage Tower (Young Ancient, Old Ancient, Priest & Priestess).

Below are all reworked animations with the old version on the left, so you can appreciate the improvement.





And here's a bonus fight GIF with the new animations in place:



I've also added this distortion shader effect to cast sign:



I've been through the desert on a horse with no name...

Sat my sexy ass down and put together some pixels for the desert biome.



If you don't mind the additional bandwidth, you can witness it in motion here (parallax!).

Coming up

Since everything looks more pleasant to the eye now, I think I'll focus more on the gameplay next. First I'll try to balance out FFA as it is. That includes some AI tweaks and minor functionalities.

Once that's done and the game is playable, I might look into adding in islands that contain some kind of special magical stuff that, when you control it (have units holding the point), you gain some benefits. I've also been thinking about adding in some NPCs. We'll see.
« Last Edit: December 22, 2016, 08:46:32 AM by kamac » Logged

Pixel Noise
Level 10
*****



View Profile WWW
« Reply #58 on: December 23, 2016, 07:56:56 AM »

Great improvement to the animations! Much smoother now. Man I know I've said this before, but this has REALLY improved since page 1. Nice work  Beer!
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
kamac
Level 10
*****


Notoriously edits his posts


View Profile
« Reply #59 on: January 22, 2017, 10:47:34 AM »

Oh hey, didn't see you there!

Let's see where had I put my work force this time.

New logo



Finally got rid of the super ugly placeholder.

Statues defend themselves



Statues throw the basic mage attack corresponding to their faction, only empowered. This way it's harder for an enemy settlement to rush you down when the map has just started.

Walk indicator



Don't know why I'm adding this so late. Quite the fundamental thing to have.

New options GUI

I've reworked the options that turn up when you select a structure. Here's how they look like now:



New build icons

Previously these were kind of isometric looking. Now they're just miniatures of the target building.



Balance

In an effort to balance the game, I've moved building prices from C# code to JSON. This is what it looks like:



Hopefuly now I can assign meaninful prices.

Afterword

I've mostly been doing bug fixes and little things like the stuff I just mentioned. All of this is an effort to finally record a pre-alpha gameplay video. Hopefuly we can get there next time!
Logged

Pages: 1 2 [3] 4 5
Print
Jump to:  

Theme orange-lt created by panic