Kingdom sim - PC game dev [Break a leg (i rather not)]

Hey guys.
Some time ago, back in the first i believe challenge, I entered with a basic game idea.
I went way over my head and way ahead of my capabilities. Of course, I did not finished it, since I lack the skill.
This time around, I am entering the current Break a leg (i really rather don't) challenge, with another basic game idea. The difference is, I made this one before, so I am capable of finishing it.
The basic premise can be found here:
Quick summary :
You are a king in a middle age fantasy land. You have your small Kingdom and your most trusted heroes - Knights, Spies, Wizards, etc... And you send them on missions to gain riches and glory and defeat your enemies, etc.

The website hints on some other ideas, like interconnected character communication, trading system, factions, city building elements, etc, but that is in the far future.
My basic idea, story wise is, that the world will have randomly generated events, and based on your reactions and your heroes execution, you will see what the history books remember your Kingdom for in that age.
Here is the thing: AI is something a bit too complex for me. So for this challenge, I will only do the random path generation, character relocation, etc. Only the basic stuff I have done before, so for now, I will do only the basic stuff again.
I will do a YouTube playlist with every step of the process. But for now, this is the basic premise of the "game".
The engine of choice is Game Maker Studio. Being familiar with it's capabilities and having used it before, I know I can do that project using that engine.
Special thanks to @anarekist, who helped me in the last moment to obtain Game Maker Studio. You, my friend, are going right in the credits section of the game.
Anyways, what do you think, guys?


OK, so i started reminding myself the Game maker things...
Decided to use Reiner's Tilesets for free graphics.
And in a couple of days i will start work on the actual movement system and what not. Once i actually gather enough graphics and remind myself the basics, i will start coding, and this will be the easy part. Game Maker Language is really nice and easy to use.
1 Like

This is some great quality man :) look forward to further updates.

1 Like

I haven't properly started yet :D Still, I want to find some free human templates with some customisable hairstyles and clothing and stuff... But once I found this I will start the coding. I want to have some randomization in the character visuals...
That's the main thing, that have stopped me like 9 out of 10 times... The visuals.

The compliment was mostly towards the effort put into the video, other compliments come later upon being earned lol :P

Some more stuff! (turn down the volume first)

Best wishes! :)


I need content on the channel anyways. So why not. Next month challenge could be the random generation of the map and quests and characters and what not... And there will be both me doing something in the forum amd on YouTube...

This second one I didn't know. I'll look into it :) Thank you :)

1 Like

Quick update.
I found basically most of the graphics I needed. So what is left is setting up the project and coding. Here is the thing, though...
There are 2 ways I can do this.
1 - the internal "view" functionality in game maker. That is the easiest to code and fastest way to complete the challenge. Also, it's least versatile. The engine allows a total of 8 view ports, meaning I can have a total of 7 characters on the screen, exploring the world, and the 8-th view port will be the world screen. This is limiting, because I want to make this into a fully fledged game, meaning I am planning on having a lot more than 7 people on the screen. This also means I need to build each dungeon by hand and physically send each character wandering in there like a mouse in a maze. Hand crafted dungeon is all fine, but that also mean huge and I mean huge amount of processing power, since each frame all dungeons and everything in those dungeon need to be recalculated and simulated, etc.
2 - this is what is holding me back. I will not use views and will not physically have the dungeons pre-built. An algorithm will build them on the fly, meaning only the visible part of the dungeon will be calculated and simulated. This will free up an enormous amount of calculating power for all other stuff. Since there will be no view ports limitations anymore, I can have as many characters on screen as the system can simulate. That will also help out with quest lines and what not, since I don't have to manually pre-built the dungeon to suit any possible quest. Being generated on the go allows enormous amount of flexibility when it comes to item discovery and enemy encounters.
I'll explain that better visually in the next video, that I will try to put up tomorrow.
Still, I wanted to say why is it, that the big update is late. It's entirely because of the tiles functionality of game maker. I need to wrap my head around it in order to generate dungeons on the fly the way I want to. Still, I'll try to put out a video tomorrow, explaining the basic idea and showing the progress I have made.

1 Like

Quicker update - don't ever use Reiner's Tilesets. They are so badly aligned, you have no idea...
Anyways, the video will take a couple more days...

1 Like

Drag'n'drop system in Friday, hopefully, meanwhile i'll try and setup the basis for the game. May have to change the graphics source. Reiner's are really bad...

OK, so here is how I started doing the drag and drop things. Since this is going to be my main gameplay mechanic - dragging characters from one place to another, I need to make this mechanic as solid and stupidity resistant as possible. So here we go.
I made one object in the game, that stores basically all hard coded information - the zones locations, names, etc. This data will be filled later on automatically when I do the procedural generation of the world. It's really simple, the procedural generation, and once done - it's done. The data object will also store all global variables, that needs to be used in the different objects. That way if I need to change any variable I will not
dig through (later on) hundreds of different objects, searching for one stupid variable.
Now I made an object Banner, that will represent our hero (later on heroes), for testing purposes only. Then I made a small zone placeholder objects. One parent with a few child objects.
The coding in this part is strictly connecting the mouse events and variable changes between the Objects.
I can draw a flowchart if you are interested (please don't be), but basically the thing is:
I move the banner from location A to location B, all objects, involved with this basically report back to object Data, so the changes in the data are made.
Video is in the making with all the code, a lot of bug and issues fixing. I still have some minor bugs with all the connections between objects, but I know how to fix them and I am expecting the video to be done in a couple of days.

It's 4AM here now, but i finally fixed all glitches and bugs and everything. I will try and put out the video tomorrow, but can't promise, since i need to re-record some audio, because... yeah...
OK, i am going to bed now, when i wake up i will try and finish the video and put up the code and everything.

1 Like
1 Like

OK, here is the final entry to what i promised i will do...
Anyways, tomorrow i will add some graphics to actually make this thing looks like something tangible. Currently it's just squares and circles, and for testing purposes, that is fine. Anyway, i can also test with better visuals, so i will try and add the visuals tomorrow and upload another video showing the basic idea of what i am doing.
1 Like

Raise from the dead, thread, raise... Rice and vegetables...
Anyways, man, I'm rusty...
I tried some coding today and wow. I knew I would struggle a bit until I remind myself exactly what to do, but damn...
OK, in the next few days there will be at least one video... I have failed to show how easy it should be to make a linear handcrafted dungeon, but still... I think I will still upload it. I'm curious as to what I did wrong, cause I couldn't figure it out.

1 Like

Yeah, i re-recorded the video, will upload probably tomorrow or the day after... Need some editing and some extra voice overs, but i fixed all the issues and this time it got way way better than the first attempt. Worked fine, found all the bugs fast and fixed them... So yeah. I'm getting better at this.
Will upload the final result in a couple of days.

1 Like

OK, introduced the character of our first Knight, after which i made him a couple dungeons to walk around in.
next time around i will actually set up a small data base for some things and automatically generate dungeons without having to hand build whatever.

1 Like

For those of you, that are following my hobby, you may have seen the pre-built design I did in the last video.
Now I have recorded the new video, with a new way of doing the dungeon designs.
Now I think this needs a bit more explanation, so with nothing else to do at the moment I Dec to try and explain what I will be showing up in the next video.
Now, the way I will be building the dungeons visually is by abusing the draw event in game maker. Basically I will draw things in different order, so it will look like the banner is just a window in the dungeon. Basically the character will be still, but the background will be moving.
I will break down the wall sprite to manageable pieces of sprites. Will draw them moving in certain direction with certain speed. All creating and destroying walls will be hidden by the banner, so the movement and everything will be seamless.
Later on I will create a small dungeon generation algorithm, bit for now the visualisation of an array of dungeon walls will be the primary goal.
I think tomorrow the video will be up. I will re-record some voice overs and do some editing and will upload it.

1 Like

Video up...
Lot of mumbling. I think i need to explain stuff better.

Anyways, next time i will create a dungeon in different object, that will allow me to later on proceduraly generate it later on. This means, that i will have to move data from one array in another array and align some visuals in order for them to fit properly on the screen. Fun times ahead...
1 Like

So I am currently working towards the next episode and next milestone in the development, which basically is actual dungeon creation.
So I have the banner giving the illusion of movement. The banner however, shows only 5 tiles at any time.

But the dungeons aren't going to be 5 tiles, are they? So I want to make a huge array of dungeon times, that is basically going to store the map of the dungeon.
From that array I'm going to take 5 at a time, draw them behind the banner and do the illusion...

That will allow me to also code encounters, loot, different visual effects and so on later down the road...
The episode is going to be up in a couple of days or so.