Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411432 Posts in 69363 Topics- by 58417 Members - Latest Member: gigig987

April 20, 2024, 04:56:50 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsRocket Shipment: A space crate delivery game with level editor
Pages: 1 2 [3] 4 5 6
Print
Author Topic: Rocket Shipment: A space crate delivery game with level editor  (Read 15747 times)
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #40 on: August 14, 2019, 05:44:26 AM »



It's a hell of a job, but I think I finally got the resolution settings working.
The majority of the work was not really the changing of the screen resolution itself, but the updating of all the things in screen.
When resolution changes I have to update the background size, update GUI positions and scales and also make sure things keep their aspect ratio.

Next to all this I've implemented a working settings configuration file in which the set resolution is saved. All in all a lot of new stuff which is difficult to show you.

At least I can show you a gif of successfully changing between resolutions.

Next I'll keep working on the game settings. Fullscreen/windowed mode is up next.
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #41 on: August 30, 2019, 06:30:03 AM »





I've been working with a very talented composer whilst coding away, and I'm proud to finally have some music integrated in the game!
Here you can see the music volume setting being adjusted while the music plays.
Even though it might seem very simple, I'm coding everything from scratch which takes some extra effort.

I'm proud to present this snippet of music made by Kaidaw. You can find some other tracks he made for the game here: https://soundcloud.com/kaidaw/sets/rocket-shipment-ost
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #42 on: September 04, 2019, 06:19:00 AM »



​It was quite the journey! A boring one to watch, I'm sure...

After a lot of research and redesigning, I've finished the basic options screen. Most of the work was in the unbuilt systems I was creating settings for.  I did not have systems in place for music, sound, brightness, and window settings. So in parallel to the options screen, I was also creating these systems from scratch.

I've learned more about shaders (as you can see in the gif) and solved a lot of resolution problems, which taught me much.
I even implemented a "reset to default" button to restore the music, sound and brightness settings.

Now that this is finally out of the way, I can focus more on actual game content. I want to start creating the game rules and more mechanics. Also some new object and entities are in scope,

In short, some more exiting stuff is coming up! Keep posted!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #43 on: September 24, 2019, 12:14:21 AM »

I'm pretty sporadic with the small updates, so I've decided to bundle them into a single monthly update. It saves me precious time because I don't have to post to all the channels that often, and you guys get a nicer, more fleshed out blog post.
Still, if there's enough to tell you guys, I'll post sooner anyway.

Here's what I've been doing this month:

Level designer
Yes, you'll be able to design your own levels in Rocket Shipment. I figured it's a nice thing to add since I built it for my own convenience anyway.
Here's a small peek in how it looks now:



I still need to add in all kinds of features such as:
- Moving the camera by dragging with the right mouse button
- Saving and loading from a specific player workspace directory
- Playing a level that you are currently making

Upscaled GUI for more pixelage
The GUI was too neat and i wanted to see it more pixelly. I upscaled the textures and the look just stuck.
Here you can see the before and after:



In-game menu
This menu will make it possible to go back to the main menu or change some basic settings (Music volume, sound volume, brightness).
I'm not completely sure about the design at the moment, but it's functional. And I first want to have something playable before I start worrying about cosmetic stuff.
Here's how it currently looks:



Game scaling
Before this change, the game did not scale. The GUI did, but the actual game scale remained the same. If your screen or resolution is bigger, you just see more of the surroundings.
This was not a wanted behavior. You should see roughly the same surroundings regardless of your window size. After some research into Views and Windows of SFML, I've implemented scaling based on the window height.
This means the game will adjust its scale depending on your window height. When increasing only width, you should still be able to see more surroundings, which is a nice compromise in my opinion.
It better than those ugly black boxes on the sides or stretching the content.

Version number
It was about time I implemented a version number. I'm showing it in the start menu at the bottom right for later debugging purposes.



Game log
I have implemented a basic game log that is updated constantly. In case something goes wrong, I can debug user problems more easily... I hope...
Of course I'm logging errors in here, but I'm also logging normal events such as loading the start menu and construction of a level.
Here's how it currently looks:



I'm glad to finally show you guys all this progress!
When the editor is set up It's time for some actual level design!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #44 on: October 11, 2019, 01:31:44 AM »





As you can see I implemented a playtesting feature into the level designer! While designing you can now play your level to check if it's exactly how you planned it to be.
Right now you can only store levels on disk, but perhaps I can later use the steam workshop to make it easier to share levels. I'm not promising anything...

I'm glad I'm really progressing with the level designer! I've drawn and added lots of new tiles.
The total tileset now looks like this:



Editing a level now works clean and fast, cause I don't create and recalculate tile colliders during editing.
Here's a quick look at me screwing around in the editor:



The platform tiles were a bit of a challenge. Technically the soil part under the platform can have 11 different orientations. There are 4 different platform tile orientations for 5 different color types. I could either draw every possible orientation (11x4x5 = 220 sprites in total), or I could draw the platforms on top of already drawn soil tiles.
I chose to do the latter. This would have some complexities such as always creating and removing the sprites together and storing both the soil and platform orientations in the level file.
In the end I got it working nicely! It did require some more effort than originally foreseen, but it was all worth it.

I also integrated a pause functionality into the engine. I'm currently only using it during level designing so the crates don't fall all over the place when designing.

Furthermore I made some changes in my workflow. I was using trello for my to do list, and looked into some of its features.
I discovered a neat way to organize my points into Feature/Bugfix/Marketing catagories and I now also first clearly state the game section in brackets for each point.
After finishing a point, I drag it to "Done" and attach a bitbucket commit for later reference. When writing these devlogs I mention all interesting points in the "Done" list and archive the contents after posting.
Now working on the game feels much more organized and clear, and I have a nice list of progress points to share with you guys.
Just for funsies, here's a look at my trello board:



As you might already see on the board, I still have quite some changes to do to make the level designer better.It's all coming along nicely, and I can't wait to start work on gameplay!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #45 on: October 25, 2019, 04:16:23 AM »

My work for the last 2 weeks might not be very rivoting. I've done a lot of less visible work for the level designer like:
- Disabling camera movement when a GUI screen is visible
- Disabling other GUI parts when pause screen is active
- Fixing GUI interaction issues during camera movement
- Making GUI in the level designer more clear
- Implementing unicode text input

I've now added a delete button to the load level screen.
In case you want to delete a level you made before, this is how:



Furthermore I've dabbled with implementing zooming in and out in the level designer, but it proved very tricky and basically needed a lot of complex changes to keep the UI graphics stable.
If I need zooming for enything else I might implement it anyway, but for now the effort does not seem worth the gain, so I'm dropping it.

That's it for this small update.
Next on the list is implementing pop up screens for showing errors or other stuff, and then finally some gameplay programming!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #46 on: November 08, 2019, 12:20:49 AM »



I'm so happy to finally start work on gameplay.
I rounded up work on the level designer with creating some error screens when the user enters an invalid level name for example.
Here's how it looks:



I have a lot planned to work on regarding gameplay now.
I started adding flags to the platforms. The flags make the platform colors a lot clearer, plus it's a nice little heads-up that you found a platform when exploring.
At the top of this post you can see a small preview on how it looks currently while designing a level.

It may not look like much, but I've combined this change with a lot of preparing work for the crate/ship detection on platforms.
Behind the scenes the game now recognizes and manages platforms, which by themselves know exactly which tiles are part of it.

Next on the list after crate detection is a crate delivery counter UI that tells the player how many crates still need to be delivered.
A crate limit per platform is also on the list. This is a bit harder to implement cause I also want the player to be able to set this limit when designing a level theirselves.

I'm currently thinking about how to clearly let the player know the crate they just dropped is successfully delivered. Perhaps changing the color of the crate or something...
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #47 on: November 21, 2019, 11:36:15 PM »



This is an update I've been aching to share: Crate detection has been implemented!
You now see a nice little checkmark when crates are dropped onto platforms with the same color. A counter in the top right will indicate your total progress by showing how many crates have been successfully delivered.

While doing some performance tests I did see some problems when using a lot of tiles and crates.
I've worked on improving the performance and have been able to boost it significantly. Still I'm not sure if the performance is good enough. I guess I will find out when I actually build an official level.
One of the big improvements was using space partitioning for the collision detection. This means the program monitors the locations of the colliders and sorts them in a list of spaces.
When a collider then wants to check for a collision it only checks the colliders in the same space as itself. This way the program does not need to check all the colliders that are far away.

I also visualized these spaces when viewing the game in debug mode. You can see them drawn as white boxes.



That's it for now!
I'm planning to start on sounds next. Most challenging will probably be implementing the clashing sounds when a crate hits the ground. The sound volume needs to be adjusted to fit the speed of impact.
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #48 on: December 05, 2019, 01:20:31 AM »

The last 2 weeks I have been mostly focussed on sounds. It's not the most rivoting work, browsing online for sounds to use, searching with terms like "fling", "thwap" and "clang".
Still it's amazing to see the difference sounds make in the game aesthetic.
When crates thunk on the floor, they really feel like crates! And that sound when you launch the grappling rope and it thwaps onto something! Man, that really hits the spot.

Here's a quick demo of the new sounds:





Furthermore I have an amazing composer that already made 8 tracks for the game. Our plan is to launch the game with 10 unique tracks, but I'd love to share the existing tracks with you already!
You can find them on the GameJolt page (https://gamejolt.com/games/rocket-shipment/367823) or on Itch(https://chocolatepinecone.itch.io/rocket-shipment).

A new big feature has been implemented as well: Cable length control.

I can tell all kinds of things about the technical implementation, but since images speak a 1000 words I'll just show you a video:





Last but but least I upgraded the UI with highlights! Buttons and other inputs now light up when you hover over them with the mouse.
It looks a lot nicer, but it will also come in handy when implementing UI navigation with keyboard/controller.
Here's a gif showing it off:



Next on the board is implementing configurable controls and keyboard navigation through the UI.
Unfortunately I won't implement full keyboard support for the level designer, since I haven't really figured out how to do that without it feeling unnatural.
Logged
PetSkull
Level 2
**


View Profile
« Reply #49 on: December 05, 2019, 02:53:42 AM »

I really like how far you've gotten with this project! And I just loove the grappling hook  Grin
Logged

Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #50 on: December 05, 2019, 03:03:02 AM »

I really like how far you've gotten with this project! And I just loove the grappling hook  Grin

Thanks! I'm very happy with it.

My plan is to release a demo first half 2020.
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #51 on: December 17, 2019, 02:33:14 AM »





It took a lot of effort, but I implemented configurable controls!
Supporting controllers is something completely new for me, so it seemed really daunting. In the end it wasn't as much the complexity, but more the integration part that really took a lot of time.
I now created a central place where button presses are caught and checked. When a configured button press or release is detected, an event is fired to listening classes.

Next on the list is UI navigation through buttons instead of the mouse!
Logged
Excy
Level 2
**



View Profile
« Reply #52 on: December 17, 2019, 02:59:34 AM »

Looking awesome man, just read through the whole thing.

Have you thought about different types of delivery points? Like ones that pull boxes in and such?

For your UI buttons, I'd add a lip to the bottom of them, just like 1 or 2 pixels of a darker shade of grey to have them appear raised. Think the highlight may be a little too hard too, try a darker shade of white. Could also try highlighting the actual button instead of the outline.

I actually empathise with a lot of the problems you're going through at the moment haha, I'm working on something almost exactly the same, level editor with tiles/objects and saving/loading plus UI. Keep it up. Coffee
Logged

Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #53 on: December 17, 2019, 03:06:51 AM »

Looking awesome man, just read through the whole thing.

Have you thought about different types of delivery points? Like ones that pull boxes in and such?

For your UI buttons, I'd add a lip to the bottom of them, just like 1 or 2 pixels of a darker shade of grey to have them appear raised. Think the highlight may be a little too hard too, try a darker shade of white. Could also try highlighting the actual button instead of the outline.

I actually empathise with a lot of the problems you're going through at the moment haha, I'm working on something almost exactly the same, level editor with tiles/objects and saving/loading plus UI. Keep it up. Coffee

Thanks man! Haven't really thought of changing the delivery platforms, since I want to keep the difficulty up. But perhaps I can feature a different kind of platform when the demo is out.

I'll take a look at the shading! I'm really limiting myself to a specific palette.
Thanks for the tips!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #54 on: January 02, 2020, 03:27:49 AM »

I've worked on UI navigation for the past 2 weeks. I completely underestimated the work that goes into this.
I expected the navigational part of correctly moving between buttons and such when pressing the right directional keys to be complicated, but I did not foresee the additional complexity of sub-navigation inside a complex element such as a dropdown.
I've created a class that will manages a grid of elements and automatically decides what element to highlight after pressing a directional key based on the element position in the grid.
This element makes my life much easier so I don't have to manually program each directional possibility for each menu.

Anyway. here's some gifs of my progress so far:





Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #55 on: January 14, 2020, 05:55:26 AM »



The biggest point on my to do list was this, a level selection screen.
It's not completely done. I still need to make a sort of switching functionality to switch between main levels and custom ones. But the biggest chuck of work for this is done!

I'm happy how it turned out, but I'm also curious what you think! Perhaps my eyes are deceiving me and this is horrifyingly ugly!
Please tell me what you think!

For showing the completion time I also started work on a savegame manager that saves and loads a save file for each completed level.
After finishing this I will move on to detecting level completion and saving progress!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #56 on: January 15, 2020, 03:17:14 AM »





I posted my last progress on reddit and got some good feedback about contrast issues. Apparently my background color caused poor contrast with soil tiles and menu items.
It had to be darker, which kind of makes sense since it's space...

So, I've found a darker color that still has that nice blue-ish tint, as you see in the gif.

What do you think?
Logged
nkm
Level 1
*


Ludere ergo sum


View Profile WWW
« Reply #57 on: January 19, 2020, 03:48:38 AM »

Looks great!
Logged

Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #58 on: January 19, 2020, 04:14:56 AM »

Looks great!

Thanks!
Logged
Chocolate Pinecone
Level 1
*



View Profile WWW
« Reply #59 on: January 23, 2020, 06:05:23 AM »

I improved my game aestethic, here's the result:


Here's is how I got from before to after.

I posted my last progress on reddit and got some good feedback about contrast issues. Apparently my background color caused poor contrast with soil tiles and menu items. It had to be darker, which kind of makes sense since it's space...
So, I've found a darker color that still has that nice blue-ish tint, as you see here:


While posting about these changes on reddit, a user informs me it would be much better to use a solid inner color for the tiles, cause moving repetitive elements tire the player's eyes faster.
This was new to me and in the following few days this user helps me to create whole new tiles that do not only solve this problem, but look many times better than the previous ones:


Still few redditors inform me there might be some contrast issues cause the tiles a pretty dark. With more help of the privously mentioned user I rework the tiles even more and finally get to this amazing result:


I am ecstatic with the new design. While playtesting I immediately notice a major improvement in game feel. My eyes are directly drawn to the playing field, the star parallax is much more noticable and the overall gameplay feels even more like you're out in space!

Additionally to this I made the grey UI buttons a teensy-weensy bit brighter for that little extra contrast as well.


Even though all this work slowed down my planned work for these days, it was most definitely worth it.

I have updated all game pages with this new style as well, and hope it will draw in some new followers with this new look.

I've also gone ahead and improved the level selection menu in  a couple of ways:
1. The levels are now shown in a scrollable list instead of a grid
2. The player can now switch to custom levels and play them
3. The preview will already update when you highlight a level button. The level will start on click of the button, making the previous "Play" button obsolete.

Here's how it looks (with the old darker button color):

« Last Edit: January 23, 2020, 08:56:48 AM by Chocolate Pinecone » Logged
Pages: 1 2 [3] 4 5 6
Print
Jump to:  

Theme orange-lt created by panic