Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411426 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 10:20:37 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDimensium Creatorum [Creature Simulation - Project 4, 2018]
Pages: [1] 2
Print
Author Topic: Dimensium Creatorum [Creature Simulation - Project 4, 2018]  (Read 4622 times)
HuvaaKoodia
Level 1
*



View Profile WWW
« on: July 09, 2018, 12:36:57 PM »

Project 4 out of 5 is on track a done deal!

An interactive simulation in the virtual-life genre about creative creatures.



Play it here!
« Last Edit: September 15, 2018, 05:22:34 PM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #1 on: July 09, 2018, 12:40:10 PM »

Already made a 3 day prototype last week. Here's a look; design and scheduling too!





Cheers!
« Last Edit: July 10, 2018, 06:01:36 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #2 on: July 11, 2018, 02:00:07 PM »

Up to 4 people in a group now; I think that's about right. Not that they really help yet, but it's a start.



All screenshots for the first month will look more or less like this...

Also cleaned up the code in places. Some hacks can stay for a while longer. Good to be back to programming!

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #3 on: July 13, 2018, 10:26:58 AM »

Trying to make sure none of the action bubbles overlap each other. Also added in the usual scaling animations.


They look ok, yes?

Creatures can now hurl quips at each other, positive and negative based on their traits. Will have to add more variety to those of course.

Forgot tutorial from the schedule. Will fit that in somewhere. It does not need to be very complicated, luckily.

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #4 on: July 18, 2018, 12:18:06 PM »

Took the last two days off for recreational purposes. Spent a handful of hours on design and implementing the save system, but that was that.

Came up with new, rather dangerous, ideas: lying and rumors. Didn't get to them yet and, quite frankly, they might be a bit too much. Hard to communicate effectively without making it look like the AI bugged out.

Nothing to show from today. Creature observation memory code and a few small actions. Will need to do some refactoring tomorrow too, parts of the talking code is duplicated in a few places at the moment. Not good.  

Will, ah, take two more days off next week... Future weekends are going to take hits as a course correction. Not worried, programming I can handle.

Cheers!
« Last Edit: July 19, 2018, 04:11:46 AM by HuvaaKoodia » Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #5 on: July 20, 2018, 02:57:13 PM »

Very little to show. Might as well talk about the architecture then!

Using the MVC architecture again as it is clean and easy to serialize. Here's a little graph:


Not standard UML shapes or colors. I only make these for presentation purposes.

Legend
Black arrows => One object uses another.
Red arrows => One object creates another.
Entity => Creature

Further info
  • Main Controller sets up everything and handles input (technically there is an input controller too, but I forgot to add it in the picture...)
  • World Generator does just that.
  • Action Database initializes all the actions (about 15 currently) and stores them for use.
  • Simulation Controller updates the world and the entities. Action memory models are created and sent to the memory of an entity when it sees an action used.
  • World Model contains all the entity models (and other models in the future)
  • Entity Model contains all the variables an entity needs and a bunch of functions for manipulating said variables. Also references a personal memory object.
  • Memory Model is used to store memories such as opinions on other entities, their past actions (as Action Memory Models) and some other stats.
  • Model Serializer takes the World Model and turns it into text, outputs a save file. Also does the reverse, obv.
  • Entity View is the visual representation of the Entity Model. Unity object with components, the usual stuff.
  • Dialog bubble represent a dialog choice. Dialog wheel is used to order them properly. Important (and so far only) GUI elements.

That's that. More complications to come, for instance some magic projectiles will be stored as models too, I think? (or maybe they should just be temporary particles...)

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #6 on: July 23, 2018, 02:19:06 PM »

Trying to get all most of the features in this week. Having even less time than I thought... Taking each hour I can spare, still good 12 hours behind schedule. Here's the current progress on the magic battle system.


Offensive and defensive projectiles

I actually considered scrapping the whole system due to time constraints, but upon further pondering realized that I can combine its effects with the "art" system too so it is an easy addition when it comes to the visuals. Programming is a cinch; if I can find the time, that is.

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #7 on: July 27, 2018, 01:49:19 PM »

Will wrap up the alpha this week as planned. I was supposed to get the menus and GUI in already, sacrificing tomorrow for some of that. Still behind by many hours.

Last two days spent on more actions, for instance, allies and bystanders for the battle. Testing too; the simulation seems stable. A few bugs snuck in at some point, those sneaks.

Starting visuals next week. That'll be more exciting devlog material for sure; colorful GIFs on the horizon!

Alpha stream on Sunday. I'll think of something to say.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #8 on: July 30, 2018, 11:25:13 AM »

From words to actions. Lifted up the pen for a while, mostly programming though! First draft of the generator:


Colorful as promised, although I do have to limit the variance somewhat.

Initially thought I'd go for hands and feet too, Rayman Style, but now I'm not so sure... Floating heads are much easier as I can reduce the animation amount and try mouths instead! Those will add more personality to the creatures I reckon.

Had the Alpha milestone stream yesterday. Will edit it down to size tomorrow.

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #9 on: August 01, 2018, 12:17:11 AM »

Took 2.5 hours to edit an hour of raw footage. Shotcut is a bit slow in places; should check their forum and complain provide feedback.





Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #10 on: August 01, 2018, 02:04:11 PM »

The generator code is done; visuals still to do. Wasn't this supposed to be the graphics week?



Tweaked the colors, now it is always a darker and a lighter color match up. The iris colors are completely random and that seems ok enough. I'd like to add in at least three body, eye and mouth types. One of each is not enough, although the colors do a lot.

Basic expressions are in; a little bit of brow furrowing and mouth wriggling. The creatures still need movement animations and that should be that.

Jumping to the magic effects next. Shouldn't take too long.

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #11 on: August 03, 2018, 12:37:33 PM »

Once again the sprites are temporary (many of them will stay, no doubt...). The kaleidoscope effect doesn't really shine through. Eh, that's ok; the code is hacky anyways.



Mixing these together for the sculptures in someway when multiple creatures work together.

Weekend overtime coming up. I believe the flat shaded look can work if I tweak the visuals enough.

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #12 on: August 06, 2018, 02:48:18 PM »

Thought about the world visuals for about 5 minutes. I don't want to draw things... How about tiles? And not just any rectangular or hexagonal guff! Penrose tiles!


The gif is choppy, I know. Had to cut down the FPS due to the high color count.

You might have seen them in fancier parts of many cities, I sure have. Did some reading on how to generate some, but ended up translating this javascript based repo to C# rather than reprogramming the wheel. Did add a custom 3D mesh generator with normals; the spotlight plays on it well enough. Not sure if I should have any in the end as the creatures themselves are not affected by lights.

Texture tests tomorrow. I have a few ideas about transparency, particle effects and UV scrolling.

Cheers.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #13 on: August 09, 2018, 01:43:21 PM »

The visual tests didn't pan out all that well. Transparency and particle effects are out the window. Doubling down on what I have, flat shades!


The spawning effect and a new body type too. Simple shapes all the way.

UV mapping the Penrose tiles proved problematic: half of them were black? The normals were ok as were the vertex orders... The culprit? Premature optimization!

I'd dropped the vertex count dramatically by sharing every single vertex in the generated mesh. Not a good idea when it comes to UVs as they are stored per vertex. Each triangle needs separate UVs so I had to tone down the aggressive vertex sharing. The total triangle count of the generated meshes is now 28.300 which might sound high, but the simple shader combined with a lack of lighting keeps the situation manageable.

At this point I noticed that the triangle count for the creatures themselves was also very high, up to 20.000 per creature?! Research indicated a single setting in the sprite importer: Mesh Type. Changing it from Tight to Full Rect dropped the final count to about a thousand per creature. I'm using a lot of masking for the eye which costs a bit as do the ample particle effects.

Why am I even optimizing the performance at all? This is for PCs right? Well, yes, but I do also plan on the HTML 5 demo, an Android versions for presentation purposes and, of course, something which looks this simple should run butter smooth even on dated hardware.

Taking tomorrow off. Yeah, down to -10 hours due to that. Eh, I'll get it back up next week, which is for audio mostly. Should not need that many sounds. Some mumbling for talking, some whizz-bang for the magic effects, backgroung music, nothing fancy.

Cheers!
Logged
AgentAvis
Level 0
**


View Profile
« Reply #14 on: August 10, 2018, 12:09:44 AM »


Colorful as promised, although I do have to limit the variance somewhat.

I really love the way the heads and the eyes look, along with the different headtypes.
So cool.
Logged

HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #15 on: August 11, 2018, 03:29:02 AM »

I really love the way the heads and the eyes look, along with the different headtypes.
So cool.

Thanks! I'm planning to add at least one more head type (rectangle?) and different iris types as well. Different shapes for the eyes might not work, although it's worth a try.
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #16 on: August 13, 2018, 01:52:00 PM »

Found many great sounds from Freesound (Creative commons 0, of course). Implemented about half of them too. Hard to visualize sounds, so...


Here's the world instead. The colors might need tweaking. Then again, I always say that...

So, ahh. quick progress! Quite motivating. Friday helped as did Ludum Dare 42; yes, that happened! Here's the result. It'll test your dexterity.

Cheers!
Logged
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #17 on: August 16, 2018, 03:52:14 PM »

Creature voices and ambient music, loads from Free Music Archive. Also added some variety to the creature generator so here's another showcase.


The yellow one is my favorite! Lost to the digital void by now.

Friday off again, only half this time. I've nearly caught up to the schedule.
Next week is for tying the visuals together and adding in a few more actions. Then an extra week or two will be in order no doubt.

Cheers!
Logged
cffrankb
Level 0
**


Senior Developer


View Profile WWW
« Reply #18 on: August 16, 2018, 07:04:00 PM »

Wow ! Impressive Smiley

How does the AI works?
Logged

---

LGCK Builder: Game Construction Kit
http://www.cfrankb.com/lgck
HuvaaKoodia
Level 1
*



View Profile WWW
« Reply #19 on: August 20, 2018, 01:09:47 AM »

Wow ! Impressive Smiley

How does the AI works?


Thanks! The AI is very simple this time, no planning involved.

Each creature has 5 traits (Social, Empathetic, Creative, Egoistic, Aggressive).
They have a pool of actions open to them based on their traits.
When a creature has nothing to do they choose one of these actions using weighted random selection (based on traits again)
(additionally might choose to idle with flat 20% chance, or go to rest when energy falls below 0)
Then they complete the action, which usually affects their traits.
Rinse and repeat!

Some actions open up after a trait reaches a certain level. Other actions can only be taken with enough creatures around or when creatures like or hate each other.

That it!

I plan to add more actions in the up coming weeks to liven up the proceedings.

Cheers.
« Last Edit: August 20, 2018, 01:15:58 AM by HuvaaKoodia » Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic