Europa Explorer - Non-Violent Exploration Game Concept

  • I finally finished all the different science tools that I had planned at the start so I made a video going over it all. Turned out to be a lot harder to make a video than I thought. My respect level for youtubers that push out constant content has jumped way up.

    Subscribe to Construct videos now

    The world is done with several layers of tilemaps like this.

    The probe vehicle is done with a bunch of different sprites pinned together at 99% opacity and pixelate 3 effect.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Great video and interesting concept. Besides being fun for general gaming, I could see this be interesting for education / the classroom also (in terms of inspiring exploration.)

  • Interesting, I think there's a lot more going on than I see at a first glance.

  • Thanks for checking it out. There is a lot to unpack in what I've got setup so far. Going to take a couple more videos to explain everything.

  • Trying to address performance concerns I added a debug fader sprite that pops each time a new tile is revealed, the content of the tilemaps is calculated on the fly. This helped my find a fix a bug that was bogging down the game in some situations.


    The way the world reveal works is I calculate the triangle area for what you can see and save it as a list of coordinates, and then just brute force the update. The update routine runs 10x per second and cycles through every coordinate in every active list every update. I sort them so I do the brightest colors last, so it overwrites the darker colors, but this is really inefficient when I get lots of overlapping areas that are all revealed and causes a big spike of CPU usage every time the update runs.

    I wanted to see if I could do more to make it run better. So I created a new list that holds a list of the coordinate lists and I change the update routine to run at 60fps, but only update 1 triangle on the list each time. So now I slowly cycle through the list and that smooths out the processor usage.


    That caused other problems with overlapping triangles. I ended up using a dictionary to store keys for the X&"|"&Y coords of every tile when it gets updated, so I could see if that tile had already been set this cycle if it is in more than one coordinate list. Each cycle clears out the dictionary contents and I then sorted the list of lists to update the brightest ones first and it all works.


  • Subscribe to Construct videos now

    New update video after much fighting with my audio interface.

    I made one more tweak to the optical reveal since my last post. The change from one opacity to the next in the tilemap is tracked with an instance variable timer. Instead of resetting the timer every time it elapsed to some new "time + 0.25" value, I just added a flat chunk of time like "self + 0.25", this keeps every triangle's opacity in sync even through the updates are distributed out and happening at different times.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)