Sign in to follow this  
Jenni

The Lost Dev Team Now Uses Godot

Recommended Posts

I don't know if anyone here is tracking changes in The Lost Dev Team (or is planning to contribute), but I just made a major change that effects everything.

Since I'm the only programmer on this at the moment, I switched from Unity to Godot since it was too hard to switch between the two engines for Amnesia Adventure and The Lost Dev Team (and the latter was suffering for it), plus this way code can be shared between the two projects where appropriate.

If this change causes anyone any issues, please let me know.

Share this post


Link to post
Share on other sites

Nice. :)

I just took a look at the code and the first playable level. I'm not able to find anything in the attached script that does anything when the control button is pressed though. Is that something that needs implementing? The first platform seems to be just the outline painted on the background as far as I can tell. I think it could be fun to contribute a bit to this one too, but I'm not sure where to start. Do you have a road map or list of issues/tasks anywhere?

Share this post


Link to post
Share on other sites

That would be awesome. :) This one didn't make it as far during AF, as it requires a lot more custom code than Amnesia Adventure did (since the only code that's from an existing framework is the platforming stuff).

The platforms used to be painted textures, but now they're just CollisionShape2D nodes that are placed over the platforms of the background.

Right now, the code for the control function is a bit wonky, so it's not in the repo.  I'll work on getting that up and working tonight, so that at least the main functionality is in.

The musician and the coder at the moment are just textures, but the plan is to swap the nodes with the artist once they reach the next sign post for the next point of the tutorial.

The platforming code is a bit wonky too - as at the moment, if you stop right at the edge of a collision point, the actor will completely stop and no longer will respond.

So, there's a whole bunch of stuff that's needed yet, and the wiki and the issue tracker are shamefully out of date - I'll work on getting issues put up as well as getting a roadmap for development up on the wiki.

Share this post


Link to post
Share on other sites

Is multiple playable characters and character switching something that's supported by the framework?

I'm thinking that it would be fun to make things like switches, platforms and elevators that can be instanced in the level and be immediately useful, if I can figure out a good way to do that. Maybe by connecting them via a signal that is set via a script variable, if that's possible. (I think the signal is defined by a string, but I'm not 100% sure.) 

Share this post


Link to post
Share on other sites

Character switching is not supported by the framework at the moment, but Godot's ability to swap nodes should hopefully make that pretty trivial.  The second half of the level (the elevators), isn't functional, as at the moment the elevators are simply a textureframe and a collisionshape2D.

I just updated the code to show the platform when the player is the artist and hits the control button.  It turns out you actually have to set get_node("CollisionShape2D").set_trigger(false) to activate the collisionshape2D and get_node("CollisionShape2D").set_trigger(true) to allow the character to pass through it.  That seems a bit backwards to me, but, c'est la vie, as it works now. :D

I think we should probably just only open up abilities once they are shown in the popups for the tutorial level (so the characters will only be able to be switched once their part of the level becomes active).  We can definitely go whole hog in subsequent levels once the groundwork is laid out to the player though. :)

Share this post


Link to post
Share on other sites

Ok, I got the impression that the impression that the framework is pretty basic from looking at the code, so that's right then. I figure that's a good thing though, since it seems like a great starting point and it gives us plenty of flexibility to mold it to our needs.

I'll start with adding stuff like that into a test level when I have time then. It probably won't be immediately useful, but I think I'll learn a lot from it and it will be faster to make levels once we get to a point where we can just add in nodes and tweak parameters to build levels. 

Share this post


Link to post
Share on other sites

Aye - I picked the simplest platforming framework out there (that was also compatible with the MIT license) - since I switched everything out from Unity half way through Amnesia Fortnight - so that I understood everything in the code, and also so that it could easily be extended to be suited to the game's needs.

Even with my addition of the menus, credits, and basic tutorial stuff, there's still only a handful of files to sort through, so it's pretty easy to grasp right away.  I also did away with all of the superfluous stuff that's not needed for this game in the last commit, so it's even more compact than before. :D

Share this post


Link to post
Share on other sites

I created a basic design roadmap for what's needed in general and what's needed for the first level.  I also updated the issue tracker. Feel free to add to that roadmap or the issue tracker if you see anything that should be addressed.

Share this post


Link to post
Share on other sites

Nice. :) I just had a look at that. Were you thinking of the elevator as an elevator cab that needs to be opened before it can be entered or just a moving platform? 

What I have in mind for the elevator initially is just a StaticBody2D that has an initial position in the level and can be made to go up down within a RectangleShape2D when it receives a certain signal. The idea would probably be easy to expand with more complex elevator types though.  

Share this post


Link to post
Share on other sites

For this tutorial level, a moving platform would suffice.  To keep the character out of the elevator, I was thinking just a simple CollisionShape2D to block the character. My original concept had a door with a screen that had a lock icon.  We could implement that in the same way as the platform the artist paints, by setting the visibility of the texture off, and setting the CollisionShape2D to true, to allow the character to pass through it to the elevator).  Then we could have the door disappear and the elevator begin to work simultaneously (I figured that the large lock icon would be a clear indicator of something needing to be hacked for the tutorial level).

Share this post


Link to post
Share on other sites

Yeah, that sounds like a good idea to just make the elevator simple and have another shape block/allow entrance.

I've made a very simple moving platform now, and created a pull request. It's not very useful for now, but more a proof-of-concept and a way for me to learn a bit about how that stuff works.

Share this post


Link to post
Share on other sites

Your platform motivated me to finish up the basics for the tutorial level, @flesk :)

Switching of characters is in, as is the two elevators, and the two remaining (two part) tutorials.

Getting stuck on edges is still a major issue (especially now that the moving platforms are in, as it's really easy to get stuck when going from floor to elevator).  Also, at the moment, the game just quits when you reach the end of the level.  I'll talk with Anenome to see what he thinks about arcade level endings for each level, and if he's up for making a short level ending song, as his menu songs were great. :)

Share this post


Link to post
Share on other sites

Great job, Jenni! Pretty cool to have the basic functionality implemented and be able to play through the first level now. :)

Share this post


Link to post
Share on other sites

I've been looking into things, and it appears getting stuck on edges is a common issue when the player is a RigidBody2D.  I'm working on converting the player to a KinematicBody2D.  This only effects the player functions, as all of the other functions can remain the same, thankfully.

Share this post


Link to post
Share on other sites

That sounds like a good idea. There's a platformer example with a KinematicBody2D player character here, and it feels very smooth to play:

https://github.com/godotengine/godot-demo-projects/tree/2.1/2d/kinematic_char

There's a whole lot of custom code put into it to achieve that though. 

That example also made me realize that I could just have used an AnimationPlayer to easily move platforms. :$

Edited by flesk

Share this post


Link to post
Share on other sites

 

On 5/8/2017 at 11:45 PM, flesk said:

That sounds like a good idea. There's a platformer example with a KinematicBody2D player character here, and it feels very smooth to play:

https://github.com/godotengine/godot-demo-projects/tree/2.1/2d/kinematic_char

There's a whole lot of custom code put into it to achieve that though. 

That example also made me realize that I could just have used an AnimationPlayer to easily move platforms. :$

Thanks for the link to that example.  I've incorporated it into the code (with appropriate credit given for use of the example), and the players no longer get stuck on edges. :)

I've uploaded a build with everything that has been submitted up to today for Windows, Mac, and Linux at https://jennibee.itch.io/the-lost-dev-team:D

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this