Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411491 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 03:15:51 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsSpacealot - A space adventure and industrial simulator
Pages: 1 ... 4 5 [6]
Print
Author Topic: Spacealot - A space adventure and industrial simulator  (Read 13726 times)
Ankmannen
Level 1
*



View Profile WWW
« Reply #100 on: November 13, 2020, 12:34:30 AM »


Currently working on the conveyor belt filter feature, making it easier to use a common conveyor belt to transport mixed items and filter them out at the end.

The filter items will be visible on the ship as small slowly blinking or fading in/out items.

Before expanding the content of the game, I figured that we need a solid way of transporting those items. That's why prioritizing conveyor belts make sense.



I'm also going to work more with concept videos before implementing stuff to get my testers to get a say before I spend a lot of time on coding. I created one for this feature in a tool called pixteller (pixteller.com). It seems easy enough to create simple static image animations.

Link to video: https://spacealotstorage.blob.core.windows.net/media/concept-conveyor-filter.mp4
Logged

Ankmannen
Level 1
*



View Profile WWW
« Reply #101 on: November 17, 2020, 04:59:07 AM »


It's been a few days of development, a few minutes here, an hour there. I've been mostly disciplined in the past but now I'm working on three different branches at once. :D

1) The load and save menu - boring, but it needs to be done. I'm going for a time machine approach in the game. The story is that you own a time-machine. And you will be able to jump back in time to specific intervals. At the time of death, you get a choice. For example 5 minutes back, 30 minutes back, and 1 day back.



2) Conveyor belt clean up - added sprite sheets (actually did not have that yet) and logic on what frames to use to create a nice (programmer graphics nice) visual experience. Also made sure that the routing of items works. The item filters are still needed to be done.



3) Bombs - A feature request from my son. Of course, you drop what you are doing and create a new branch for that. Needed to do some refactoring since I'm slowly converting my core engine to a component-based engine and the new bomb game object is fully component-based. Got the scaling a bit wrong, but that's a minor issue. The idea is that if a cannon has a storage unit beside it and it contains bombs, the cannon will fire those bombs. Then there is no need for specific weapons, but rather what ammo you supply to the weapon.



That's it for now.

Logged

Ankmannen
Level 1
*



View Profile WWW
« Reply #102 on: November 22, 2020, 12:28:54 AM »


It's hard to find time to hack away but finally got a first version of the bomb-cannon working. The concept is easy, if you place a storage-unit beside your cannon (there is only one type), and the storage contains items that can be fired, then it will fire those items.

In the video below we shoot bombs. The bombs don't actually do any damage yet though.







One interesting side effect is that we could use conveyor belts as a clip of ammo. Since the storage can only contain 64 items.

Also, got some work done on a Particle System and polished my Component Based architecture for new objects in the game.



That's it for now, more playtesting, polishing, and content adding ahead.


Logged

Ankmannen
Level 1
*



View Profile WWW
« Reply #103 on: November 25, 2020, 07:21:06 AM »

Did some polishing on resource gathering. Messages about what resources are picked up are now aggregated over a few frames so that there is a maximum of one message per resource type.

So it's now possible to do your mining using bombs instead.





I am thinking about adding remote detonators instead of timed detonation for bombs. Or the ability to at least choose. Like detonation "on contact", "After x seconds" or "By trigger". The UI needs to be nice though to make it easy to use.

Also did some internal housekeeping with fonts and content generation.

Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #104 on: November 25, 2020, 10:41:59 AM »

Nice update, this left green log looks cool.
Logged

Ankmannen
Level 1
*



View Profile WWW
« Reply #105 on: January 10, 2021, 12:54:02 AM »

Oops, I did it again.

A total rewrite of some core components of the game. I decided to go all the way in with an Entity Component System (ECS) architecture instead. This means rewriting a lot of code. But I'm cool with that. It's not like I have a deadline. Smiley

So why would you do that? The short answer is, it's fun and it makes the code so much more manageable and optimizable.

For example, the small objects you see in the video at the end of the post are defined with this code:



The components you see are data only. They only keep track of state and on top of that, we have systems working on specific combinations of components. There are a lot of good videos on youtube for learning ECS, check em out!

For the code above, we have two systems;

  • A PhysicsSystem that needs the TransformComponent and the PhysicsComponent.
  • A BlockSystem that needs the TransformComponent and the BlockComponent to manage the creation of fixtures and vertices for drawing.

Well, that's about it. Still got some converting to do to remove all the old object-oriented entities into nice data-driven entities.



Logged

JobLeonard
Level 10
*****



View Profile
« Reply #106 on: January 10, 2021, 04:39:31 AM »

Well, a good ECS system should have a good "return on investment" in terms of iteration speed, so I'm sure this particular rewrite will earn itself back! Coffee
Logged
Ankmannen
Level 1
*



View Profile WWW
« Reply #107 on: January 15, 2021, 12:14:09 AM »

Yes, it's already worth it in the form of cleaner code and a huge performance boost. Also, added a small framework for executing multithreaded stuff, like the geometry creation of an asteroid and chunking of large jobs into several frames if it has to be done on the UI thread (like adding fixtures for collision management).



Logged

Ankmannen
Level 1
*



View Profile WWW
« Reply #108 on: January 18, 2021, 11:56:43 AM »

Ok, the engine is good enough to receive some new graphics. Time to switch to artist mode. :D
Sooo many things to redesign, but it's a nice break from coding.



« Last Edit: January 18, 2021, 01:39:36 PM by Ankmannen » Logged

Pages: 1 ... 4 5 [6]
Print
Jump to:  

Theme orange-lt created by panic