Intertwining Engines (WIP game)

Planning time!
I’m planning / designing some of the UI, but there are a lot of components so I’m not too confident if it will be easy to use. So here is what I have in mind:

There are 3 menus on the right, to manage different things. On the top there is a bar that I’ll probably put some data (like resources or time of day). In the top right there is a minimize button to make some more room on the screen when you don’t need the menus.

Opening the rail menu will enable the rail editor and open the list of rail junctions. You can drag between nodes to connect junctions, or just press a node to delete a connection. Pressing the actual junction will delete it. I may change this depending on if players could accidentally delete junctions instead of connections.

Placing down a junction requires clicking on one of the boxes in the side menu. Then you can drag the rail where you want it, as well as adjust the slider for rotation. When you’re done you can press the accept button.

These designs have mobile capabilities in mind, so I want it to create as little frustration as possible. For pc there will be handy key-binds so you won’t need to click everything.

So what do you think? I’ll probably start working on it as it is, but I think making adjustments / edits wont be too difficult. I’ve had my fair share of annoying UI in games so I want to avoid that as much as possible. It might be hard tp judge until I get some actual gameplay, unfortunately. I may have to update the system later on, but if the game is fun enough I wouldn’t mind.

Pings

@rcreger @CodeAlpaca @Pixel_Name1 @MrGoose

5 Likes

Update:
I’ve finally made some visible progress. Things having been going much faster lately, mostly because I’m giving up polish and good sprites in favor of progress. So here is what I’ve added:

  • Bigger connection buttons
  • You can now build new junctions from the rail menu. Click on the side bar or press R to access it.
  • Drag the rail from the menu to move the track around. Adjust the position however long you want.
  • Drag the circle around the blueprint to rotate. Or use E and R to adjust by 90 degrees at a time.
  • Press the Hammer icon to build a junction, and the Dynamite to cancel building,
  • To make connections the rail menu must be open.

Feel free to post feedback, or any creations you made! All the UI is only temporary, so I’ll probably end up adjusting it eventually and adding more polished things. I want to get a nice editor laid out and flesh out the other aspects of the game first, or else I’ll never finish this game.

3 Likes

Progress Update:
I’ve been kinda dying recently. I’ve just been trying to keep my grades afloat, and depression is hitting hard this season. However, I have managed to slowly crawl my way through, and made some progress on this forsaken project.

So what progress have I made? well since the last update:

  • I made the tracks in each connection spawn in order. So from the start of a connection to the end the tracks are ordered: 1,2,3, etc.
    I had to do this because the trains have to access the position of each object in order. If they weren’t in order the train would go out of order when traveling on a connection.
  • I’ve fixed a couple bugs with the connections. There was an issue where the straight track code was being activated even though the conditions for it to activate weren’t being met. It ended up being because I had a ‘360 degrees’ value; it needed to be set back to 0. So keep that in mind if you ever use angles in your game!
  • I added some nice(ish) background attachments for the tracks and changed the level background color to look better.
  • I have started making buildings, trains, and routes. All the same time. One thing led to another, and… well lets say you need routes to make trains, and the need building to make trains, and I really want to get the trains working soon.

Here is some visualization of my planning

This is what I hope the routes will look like. I want it so that when you select a train you can select a pre-made route for it to travel. There will be a seperate page for creating and managing routes.

Sorry I’m absolutely terrible at drawing and was too lazy to type out actual example words. The scribbles are meant to represent UI or text that I didn’t feel like making in the drawing.

In this drawing the train UI page is selected, and a specific train is selected within that. The right side is a list of the trains with a + rectangle to add new trains. The top left side has a stats / info page for the specific train. I plan to have it so that the player can upgrade the train from here, change its name, etc.
The bottom left side has the available routes to the train. The player can select a route (that was made in the route page) that the train has rail access to. Then the train will automatically travel the route.

Once again, I’ll probably change a lot once I get the full game going, but for now I want to flesh out the whole project. I’ll get nowhere just planning and trying to predict what problems I’ll have later on, so the best option is to make a malleable prototype. If you have any thoughts, ideas, or suggestions please share!

How should the trains be run?
  • Trains should be more automatic; the player sets a route between two POI’s and the train automatically travels between them and completes a specified task.
  • Trains should be more manual; the player has to send the trains from place to place and make sure they get where they need to. Travel times are longer, but more rewarding

0 voters

Pings

@rcreger @CodeAlpaca @Pixel_Name1

2 Likes

I tried to connect those to stations(?) together and it broke

Also

Not crazy about this design.

1 Like

Yeah that’s just because there is no mathematical way to make the connection. Once I finish the editor the player won’t be able to connect nodes that are beyond a certain angle difference.

Edit: wow I messed up that first sentence lol

1 Like

Heyo, its been basically forever but I haven’t given up on this game. While I definitively haven’t made the kind of progress I wish I did I still got at least SOME stuff done. I also, importantly, came up with some more concrete ideas/goals for what I want to game to be about (more on that sometime later).

For now, here is a little progress report for anyone interested.

First, I want to say that everything still looks kind of garbage. The sprites are very basic and there are no animations or anything. It’s killing me to look at it, especially the train tracks. I think once I reach my first milestone that will start to change though.

Progress

The progress I’ve made has almost entirely been on the Routes and Trains user interface. I’ve gotten the Routes to a point where they are usable; I can always go back and polish stuff, which I have several ideas for.
Now, to view the routes I would first recommend connecting some train tracks together. Then go to the routes menu and create a new route by pressing the +. Select it and it will bring up the info for the route.

The top text shows the starting position and the bottom is the ending position.
Click the blue button to edit the route.

image

Each junction will have its own button. Red means it can be selected, green means it is selected and can be deselected, and gray means it cannot be selected. You can click and drag or just click on the individual points to choose the points in the route. Right now there are no splitting tracks so its pretty much just choosing a start and end. Pressing the green button will save the route you set up.

Now you can see the names of the junctions that were at the start and end show up in the menu! (yes I know the icons are not the right size and stuff).
The routes will store the points you put in until you edit them again.

I also started work on the trains. If you go to the train UI and add one, it’ll ask for the starting location.

If you successfully create a train and select it you can see the drop-down menu I made. This is to select the route you want to train to follow. You can click on the bar to drop down the options and then click on the route you want to be saved. There is an option for every route you’ve created so far.

And that basically summarized everything I’ve done. It’s not much, but I’m ever closer to finally getting done.

Plans

Here’s a little roadmap that I hope to get done.

  • Commands for trains
  • General train code, just the basics

Milestone 1: Working trains; moving on train tracks and cool sprite stacking hopefully

  • Better looking UI
  • Naming stuff
  • Complete code for situations the trains will be in
  • Start making buildings / construction UI
  • Other stuff idk yet

Milestone 2: Playable portion of game; players can move resources with trains and complete buildings

  • Upgrades

Milestone 3: Enough content to be judged

Milestone 4: First version is fully playable

Then from there I will add stuff with updates most likely.

Here is a quick layout for what I’m working on next, the train UI

Story

I want there to be story; I have a general concept but I won’t tell anyone until I have more of a plot / conflict laid out.

Alright that is all for this post, if you find anything broken, have suggestions or thoughts please post!

Known Issues:

  • Tracks in opposite directions do not connect properly
  • All trains have the same selected route

Closing off with a few questions:

How easy was the UI to navigate? Did you need to carefully read the post to understand or was it more intuitive?

Does this seem like the kind of game you would like (many buttons and managing stuff)
  • yes
  • yes but it could go in a different direction to make it better
  • no
  • not really, but I’d still play

0 voters

Do you want to be pinged?
  • yes
  • no

0 voters

Pings

@CodeAlpaca @Pixel_Name1 @rcreger @MrGoose

5 Likes

Hello all, it’s been a while


I haven’t been working the whole time, but I have made a little bit of progress. I created a save an load function for the junctions, connections, and routes. This will make testing much easier. I did get the pathfinder for the train to work, as seen in the picture. There are a few more things I have to do before I get the train moving correctly, but once that’s done I’ll probably polish some things up.

Once I finish polishing the base mechanics, I’ll probably start making the actual “game” part of the game.
I’ve also been a bit more motivated after the flowjam, I’m also in a slightly better place in life. I think progress will speed up a little.

Thanks for sticking around :slight_smile:

Pings

@ManiacPumpkin @CodeAlpaca @rcreger @Pixel_Name1

9 Likes

Glad to hear you‘re doing better. :slight_smile:

5 Likes

It seems like every update will have more time in between lol

This time I actually have quite a bit of progress. I’ve been on and off with working on the game, but I think I’ve found a good rhythm. I’ll work maybe every other day at the most, and when I do work on it I give my full attention.

Here is what I’ve done:
First, I remade the routing system. Before I had it so that each junction could only appear in the route once. This would not quite work for what I wanted. What I wanted was for the player to be able to make an kind of route they wanted, the problem being how do I visualize that and how do I get the player to specify where the train should go.
Here is how it works now:
image

  1. click on the blue edit button

image
2. Select the starting position of the train by clicking on one of the red things. This will have to be a specific location, not just anywhere on the tracks.

image
3. The green is the start, and the grey is every point that is not the start. Click the arrows on either side to chose the direction of the train.

image
4. Arrows will appear where there is a “junction.” Keep clicking which direction you want the train to go. When you’re done press the green square to save.
I plan to change this later so that you only have to click an arrow when there is an actual decision to be made, like at a y intersection.

You can now properly add trains and make them move too.

image

  1. Click the add train button

image
2. Select where the train should spawn, and confirm with the green square.

image
3. Now a train spawns where you selected, and a corresponding UI is on the right. As of now it looks like a blank tile; That will obviously be changed when I start work on the train visuals. The train right now looks like a striped rectangle just so I can tell where it is and what direction it is facing.
Click on the UI element for the train you created to bring up its menu.

image
4. This is all very bare bones sprites and layout. The name of the train is on top, hopefully I can make it customizable in the future. There is a start and stop button, the “go.” The arrow button will be for upgrades, but right now it does nothing. Finally, at the bottom is where you select the route for the train to travel. Click on that.

image
5. Any routes you have made will show up. If you haven’t made a route yet nothing will happen. Clicking on a route will select that route for the train.

image
6. Now the selected route name is displayed and the go button lights up. Clicking the go button will start the train and it will automatically follow the route until you stop it.

Here are some individual things I’ve added:

  • If a route starts and ends at the same place, there is an option to make it a full loop instead of going back and forth
    image
  • A new junction, the y intersection has been added. Right now it functions just like the first junction, except with three nodes. I plan to make it so that you can’t do the 30 degree turn, as it is unrealistic.
    image
  • You can save and load all junctions, connections, and routes by pressing “S,” and load the saved data using “L.”
  • When connecting junctions a preview is displayed. Any tracks that overlap or have to sharp a turn are marked red and you cannot make that connection. There are a few known issues with this:
    • Attempting to connect two nodes with opposite angles facing away from each other do not actually connect.
    • Sometimes a single track in the middle will turn red when it is not supposed to.
    • Dragging the connection far away, creating a large blueprint, creates a lot of lag.
      image
      image
      image
      image
      image

At this point in development I am getting pretty close to getting the base tools finished. I’m going to keep adding features and polish, and then eventually some better sprites. After all of that, I can make it an actual game and add everything that goes with that. I doubt I’ll finish it any time soon, especially with my last school quarter coming up, but I’ll still be working on it for my own sanity. I may grind out progress once I have spring break or a good weekend though. If I keep with it for long enough, I’ll also work hard on it during the summer.

If you have any suggestions, thoughts, or feedback feel free to comment!
Thanks everyone for reading.

Pings

@ManiacPumpkin @CodeAlpaca @KiwiLeaf_Entertainment @JaneWind

Do you want to be pinged?
  • Yes
  • No

0 voters

6 Likes

I like the UI design and the whole premise of the game seems amazing and also looks really great!

(I don’t need the ping, I’ve set this topic to Watching.)

2 Likes

I also forgot to say:
Here is a some general ideas for a story. I don’t really know if it’s interesting or whatever. I’m open to suggestions for changes or totally different ideas.

General theme: Environmentalism, Consequences of Capitalism, Workers rights

At the beginning of the game I was thinking of having a tutorial with some pre-made layouts / resources, before they are taken away and the player has to start from scratch. To fit this into a story, I was thinking of pulling what a lot of base builder mobile games do, where the player is a leader that went missing for a long time and is finally coming back. They would fix some things and face the basic mechanics before being put fully in charge. To end the tutorial phase I planned to have workers go on strike (because they’re being overworked or something, possibly because of the player or because of the leadership while the player was gone) and eventually destroying everything and leaving.

This could set up an interesting mechanic of having prevent your workers from revolting later in the game. It could appear as a forewarning, and then the player can decide to champion workers rights or essentially union-bust.

The other big theme I want to fit in is environmentalism. It shouldn’t be too hard to imagine how to do this lol. Basically have the game start out with a beautiful wilderness / natural feeling; as the game goes on and the player builds factories and industry everything becomes more polluted, dark and dreary. I could make this into a player decision too; have more productive forces, but pollute the world, or sacrifice that production to preserve the world.

Another idea I had was that the goal of the game could be to dig to the center of the world. It sounds random but hear me out. Deeper in the earth are better minerals. The profit and usefulness of these minerals drive the player to go deeper underground. As the player goes deeper, they face more environmental threats. I’m not sure if realistic threats like natural disasters or more sci-fi stuff like monsters would work better. I was thinking of making an analogy; the player going deeper is like the capitalist exploiting the Earth for more wealth; the repercussions and challenges for the player are like climate change and natural disasters for the capitalist.

The underground idea also gives more of a full picture of the game. There could be an end where you reach the middle of the planet and something dramatic happens, and it could depend on your actions throughout the game.

I’m still not sure if any of this would work or be realistic to program. The whole worker idea would make me have to create more advanced logic for workers, something I’m not sure I’d want to do. The underground portion could be difficult; If there are going to be trains traveling through different heights then each layer of depth would have to be rendered at once; or it could be like levels where there is no inter connectivity between the depths. Perhaps that is something else that could be used as a metaphor for something.

Also if I do the depth idea I could make a better name, here are some of my ideas:

  • Earthly Engines
  • Underground Railways
  • Terrible Trains
  • Tera form Trains
  • Expanding Enterprises
What do you think of these ideas? (1 = Come up with something else, it doesn’t really work or isn’t practical) (10 = These ideas are perfect)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

0 voters

What scope should I aim for the game?
  • Smaller scope - Game would be done sooner; I could still add on more later, but there would be play-ability wayyyy sooner. The overall product would not be a masterpiece but I think it would be good
  • Bigger scope - Keep adding ideas, inter work multiple themes and ideas, make more mechanics and add complexity. It would take a longer time to finish; there would still be playability but it would not feel complete for a while. I would be working on it seriously for longer than a smaller scope project.

0 voters

5 Likes

I think working on a smaller scope with lots of flexibility is good. Getting the core fundamentals of the game is really important but also making sure that if you wanted it to be expanded everything wouldn’t be completely set in stone and really hard to change.

3 Likes

Don’t get a big scope or you could get “Scope Creep” example on how it could ruin a cool game.

Video

How Scope Creep Killed My Game - Devlog - YouTube

1 Like