Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

New Feature Games Devlog

A topic by Merijn created Dec 19, 2015 Views: 1,935 Replies: 15
Viewing posts 1 to 11
Submitted

#day1

I'll try to put something together and document something here. Streaming video would be best - but sorry to say that I have not found out yet how that all works. Probably will be to big a distraction for me. I'll try to keep you updated.

Meanwhile.. My ideas for Live in space so far consist of staring out the window.

Submitted (1 edit)

Live in Space. First thing that springs to mind:

- https://en.wikipedia.org/wiki/Conway%27s_Game_of_L...

Submitted (1 edit)

First day over. Mostly spend on brainstorming some ideas:

Bubbles / Drifting / Puzzle Game / Snow Globe (Holiday season) / Tentacles / Space Station / Gravity / Zero Gravity / Fuel Tank Control / Space Suit / Alarm! / Endless drifting / Single button control

I checked out some boiler plate graphics from OpenGameArt.org. Probably will need to make some of my own to get what I want.

Submitted

#Day 2

- Day started good! Woke up with new inspiration :)

I decided to make it a small survival game. Sort of like Gravity, the movie.

Also will be working with Spriter and Overlap2D. Got some first animations done in Spriter, and for now I will borrow all other graphics from the web.

First layout of the game:

Image and video hosting by TinyPic

Tomorrow will need to get back to work, so probably progress will be slow. I will try to get some code written this week - and see if we can tie the basics together.

Submitted

#Day 3

Today I decided to add SmoothCam library. A great little tool to quickly add a good camera system. So - I have been working on the camera system, but not much to show yet.

In order to show you ar least some code I exported the lib to github:

https://github.com/Merijn68/LostInSpace---LibGDXJa...

Now - I must have done something wrong. As afterwards my project in eclipse is no longer valid :( It looks like Git has 'pulled away' my project files into a 'git repository' - but away from my eclipse project. If only I was smart enough to make backups... Anybody any ideas?

Once I will get my project restored :) I will be working on the collision detection. As I have chosen not to use box2d, I will have to make something myself. I will use Physics Editor from Code and Web to generate some polygons. Then use basic libgdx Intersector commands to get a first collision detection setup.

Submitted (1 edit)

#Day 4 (or something)

Got my project back on track. Actually had to restart everything, but this time I hopefully can keep my code together :)

I did make some progress and got some basic collision detection done. Also - at least in my mind - the story is kind of growing. So in short: you are working on a space station and by a freak accident manage to fall off with only one tank of oxigen. As you will need the tank of oxigen to manoever in space, you will be limited in time to say 2 or 3 minutes.

In that time you find some way to survive or you don't.

Nice, short and simple.

I'll try to get some of my code on github and give a little explanation over the coming days. For now this is what it looks like with all the debug code on:

http://take.ms/mpewe

(Now, way doesn't that show in line ???)

Submitted

#Day 5 (-ish)

Today finally gave up on my own collision detection stuff. Just basic 2d geometry, but it still got the best of me. I could not get my game to stop 'shaking' on collisions, and had a hard time to find out the angular velocity (rotation spin) generated with a collision. So - finally stopped being stubborn and got learning box2d.

I must say it was easier then I thought and actually works pretty well with Overlap2d. There are still some quirks and Overlap2d could do with more documentation. Hopefully from this game jam we can take away some nice demo projects.

I will try to clean up my some more. Now with box2d at least a lot of code can be removed.

To give you some idea what is going on:

http://take.ms/QJbjG

Sorry to say the game is still unplayable. Will be working more on the controls over the next days. Also still need to find out how to get my code on github. Seems all way to complicated, but I will get there somehow...

Submitted (1 edit)

#Day - > (?) - Lost count...

I have been working on and off on the project the last week. Finally got some work done today as I took a day off from work. I have added a lot of features, but still got a lot more to go before I finish the game. I have even spend some time thinking what need to be added. Here is a list:

I have spend way to much time already on these 'solar wind objects'. Rotating objects in Overlap2D is a pain - and actually only works reasonably well if you encapsulate them in a composite. I made some error in my thinking and will still have to redo most of these objects - to add some polygon components. I did add the landing sequence, and a 'oxigen timer'. Hopefully I will be able to show a bit more over the next couple of days.

My world now looks like this - I actually really like the drawings so far. I will still need to add all the bonus stuf, replace the 'space ship' with something more definite and hopefully add something with tentacles...

Submitted

#Crunch time...

Still working on the last bits and pieces. But I do still intend to finish the game before closing.

I added my sources to a google drive. (Could not get GIT to behave). This should be open to view for everyone. Please let me know if there is any problem.

https://drive.google.com/open?id=0B8sygwejkvrdc3VJ...

Mainly the game has become a very simple implementation using Box2D (new for me), Overlap2d and Spriter. I still have a lot of conceptual difficulties with an entity component system and of course this was written under the time constraints set by the Jam. So - please be careful if you take my code as any kind of example.

Actually the game should be optimized. As it is standing now the performance on Android is still not good enough. Probably don't have time to get that solved.
Submitted

#T-1...

Ha - actually published my game on time! Well looking back I can say that it is good for me to be under some kind of pressure to finish a game on time. Overall I can say that I am happy with the result. Overlap2d really helps visualize your game. While Box2d does away with a lot of complications you would otherwise have to take care of yourself.

That said - there are still a lot of situations for which box2d is not the best solution. Have a look at this article : http://www.learn-cocos2d.com/2013/08/physics-engin.... Possibly we could do with a physics engine for games...

That being said, for this game Box2d did help me a lot.

For the overall game I did have to cut features of course, and I am sorry to say that there are no tentacles present in this release.I did have some issues with Overlap2d which caused me to loose quite some time. Here are some of the obstacles I ran into. Hopefully this will help some of you to avoid some of the same mistakes I made:

  • Spriter animations are using the world units for scaling, so when setting anything else then 1 the sprites are blown up out of proportion. For box2d the 'recommandation' is to use world units My solution for now was to ignore this recommandation. It seems to work ok with WU set to 1. (My resolution being 1920x1080).
  • Rotating anything other then a composite gets stuck in the editor. I needed to rotate the 'wind' elements in my game. Rotating anything in the Overlap2d editor other then a composite caused the element to become unselectable. This actually caused me a lot of delay. I eventually moved all the wind elements in composites that I could rotate without problems.
  • Particles within composites are not placed incorrectly on the screen. I wanted bubbles coming out of the air supply tanks floating in space. When you add a particle in a composite in Overlap2D this is not displayed correctly. My quick fix was to remove the particles from the editor and create them on the fly when setting up the entities.
  • Rotating box2d elements in Overlap2D does not work. The rotation is undone as the physics body actually takes presedence over the rotation in the transform component. My work arround for this was to store the rotation before the first initialisation of the box2d world. Then initialise the word and then in code set the rotation for the box2d elements.
  • I was not able to figure out how to fadeout the entire scene. This used to be easy when there still was a scene2d screen behind. Now I still see the actions in the git directory but don't know how we could apply these. We really need more good examples of games made with Overlap2D!

But the most important issue I still have is with the performance. Performance on my pc is great. Performance on my phone (a S5 Neo) not so. I need to spend some more time to analyse what is causing the delay. My suspision was the combination of the rotations and the many composite objects used in the game.

I did a little tuning exercise to find out:

 Pc 60FPS Times in milisec. messured over 5 sec
Timer class com.uwsoft.editor.renderer.systems.SpriteAnimationSystem 0
Timer class com.uwsoft.editor.renderer.systems.ParticleSystem 2
Timer class com.uwsoft.editor.renderer.systems.LightSystem 0
Timer class com.uwsoft.editor.renderer.systems.LayerSystem 193
Timer class com.uwsoft.editor.renderer.systems.PhysicsSystem 54
Timer class com.uwsoft.editor.renderer.systems.CompositeSystem 185
Timer class com.uwsoft.editor.renderer.systems.LabelSystem 0
Timer class com.uwsoft.editor.renderer.systems.ScriptSystem 47
Timer class com.uwsoft.editor.renderer.systems.action.ActionSystem 0
Timer class com.uwsoft.editor.renderer.systems.render.Overlap2dRenderer 595
Timer class com.uwsoft.editor.renderer.systems.ButtonSystem 0
Timer class com.mvm.lost.systems.MovementSystem 0
Timer class com.mvm.lost.systems.CameraSystem 0
Timer class com.mvm.lost.systems.WinningSystem 0
Timer class com.mvm.lost.systems.WindForceSystem 2
Timer class com.mvm.lost.systems.AirSupplySystem 1
Timer class com.mvm.lost.systems.RewardPickupSystem 0
Android S5Neo 16FPS 
01-17 00:40:28.559: I/System.out(10306):
Timer class com.uwsoft.editor.renderer.systems.SpriteAnimationSystem 1
Timer class com.uwsoft.editor.renderer.systems.ParticleSystem 99
Timer class com.uwsoft.editor.renderer.systems.LightSystem 0
Timer class com.uwsoft.editor.renderer.systems.LayerSystem 1785
Timer class com.uwsoft.editor.renderer.systems.PhysicsSystem 363
Timer class com.uwsoft.editor.renderer.systems.CompositeSystem 933
Timer class com.uwsoft.editor.renderer.systems.LabelSystem 0
Timer class com.uwsoft.editor.renderer.systems.ScriptSystem 795
Timer class com.uwsoft.editor.renderer.systems.action.ActionSystem 0
Timer class com.uwsoft.editor.renderer.systems.render.Overlap2dRenderer 6035
Timer class com.uwsoft.editor.renderer.systems.ButtonSystem 0
Timer class com.mvm.lost.systems.MovementSystem 12
Timer class com.mvm.lost.systems.CameraSystem 1
Timer class com.mvm.lost.systems.WinningSystem 2
Timer class com.mvm.lost.systems.WindForceSystem 41
Timer class com.mvm.lost.systems.AirSupplySystem 3
Timer class com.mvm.lost.systems.RewardPickupSystem 1

So on android in 5 sec. my game spends 6 sec. rendering. That does not look good:) The composite system also takes a lot of time. I tried hiding layers in Overlap2D to see if this would improve performance. Strangly enough it did not. So I will need some more time to study on this.

As I started this post saying I am happy with the result! I think I should end this post it with some shameless self promotion :) So - have a look at the final result! http://merijn.itch.io/lost


Submitted

Hi! What does Overlap2dRenderer do?

Submitted

Hi them. The name kind of gives it away. This is the rendering engine behind Overlap2d. All graphics processing is done here.

It's here on Git: https://github.com/UnderwaterApps/overlap2d-runtim....

With previous Overlap2d projects I did not have these performance issues, so somewhere something should be off.

Submitted

T.minus something...

He - I seem to have found why the android version has such a low performance!

The number of objects in Overlap2d is apparently very important. In the current version I am tiling the back ground images - especially the border blocks. In the large space map this gives me aprox 2500 objects. Apparently the Overlap2DRenderer is not very happy with that. (Even though tiling should actually be really fast). I think they where thinking about a tiled extension to Overlap2D. Until that is fixed - or I write my own renderer - I will create new borders. Just creating new borders should reduce the number of objects from around 2500 to aprox 200. And this ups my FPS in Android from around 20 to a nice 60 fps. :)

In the next couple of days I will try to get this in.

In the meanwhile - have a look at the windows version and try this game out!

http://itch.io/jam/libgdxjam/rate/50929

Submitted

What about convertation overlap objects to scene objects https://github.com/DmitriyL/Feed-the-space/blob/ma... ?

It looks like you are reimplementing libgdx scene.

Submitted

Hi them.

No - I am not doing anything that complicated. (Although that code does look interesting :) I just noticed that the performance of Overlap2D drops on Android when I have a lot of entities. This is even true if I switch off the back ground layer and these are not rendered at all.

Now in order to solve this I will remove the composite objects that make up the border shapes in my scene. I will then replace them with simple much larger textures. So I will end up with a lot less entities.

I was just thinking it would be nice to have a tiled option in Overlap2D. The idea behind Tiled is that the textures are send to the graphics buffer once, and then stencilled when needed. That is a faster technique, but obviously only works when you can simply copy the textures again and again. I don't think the current Overlap2dRenderer can handle that. So for now my idea is to stick with a limited set of textures.

In any way - this game just utilizes the standard functionality of Overlap2D, Ashley, Box2D and Spriter. I am not sure about my implementation of the ECS. (So let me know what you think :) As I said before I think it would be good to have more 'live' examples of how this can be best used in games.

Submitted

Hi, I see Overlap2dRenderer is doing the job, but it looks like it's doing too much for one system and at the same time like it could be difficult to split its logic on sub-systems. I could just recommend (1) convert everything possible to libgdx/bod2d domain objects (sprite/color/lighting/collisions...) and (2) assign component-system to these objects. I'm sure it's a big chance you will want add more functionality in scene renderer... into Overlap2dRenderer.