Skip to main content

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

DevBlog: GamesForFun

A topic by One Joyful Day created Jun 10, 2019 Views: 1,195 Replies: 27
Viewing posts 1 to 20 of 24 · Next page · Last page
Submitted(+1)

Here are my first thoughts after having seen the picked verses. I had similar thing as last year that there was one specific verse candidate I was at same time hoping and afraid it gets picked. This specific verse was 1 Corinthians 15:33 "Bad companions make a good person bad."

Now instant I saw this verse I could see this verse would be perfect for trying out about AI a bit, which is something I have been wanting to get into. I right away saw two possibilities how the game would work.

1. There would be different colored balls, and one of the balls is players ball that you are supposed to control through AI methods. Idea is, whenever that ball would get near another ball, it would start changing slowly towards that balls color. That lets say that ball is yellow, and then it goes near blue ball, now that ball would gradually start getting more and more blue (making it green first) and same time its original color would keep fading away, making it finally blue ball if it stays nearby long enough. This would have presented the idea that your company makes you alike.

In Each level, you would have needed to change your ball into some certain color, which would have been different in different levels.

Idea had been, that you couldnt have directly controlled your ball or the rest of the balls, but all the balls would have had their own AI, and based upon knowing this AI, you could have persuaded them into doing something you wanted. As a simple example. Put food in middle of screen, and hungry balls would go grab that food, and perhaps one of the colors is even a bully, so when the bully gets there, he tries to get all the food for himself and start fighting with other balls.


Other idea was otherwise similar, except I have this nice graphics pack with sorcerers, knights, thiefs... And then instead of changing your color, you would change your characters class from thief, sorcerer etc.


In both cases after completing the game, it had showed that passage givcing teaching to player of, you just saw how your company makes you alike, now Bad companions make a good person bad.


Because those ideas were basically solid, I was hoping for that verse to be picked. However, I was at same time afraid that one gets picked, since during all these days, I couldnt figure out an actual mechanic on how that game would really work. I couldnt figure out how player would figure out some sensible way of knowing their personalities, or how to control them, or how to make them into meaningful levels. That is why it was bit of  sigh of relief that wasnt picked, since Im afraid I might have been stuck with that verse as being so good sounding to use, but not really figuring out how it should be done.



From these new verses, two verses so far have given me any idea.

First one is Joe 2:7  They run like mighty men, They climb the wall like men of war; Every one marches in formation, And they do not break ranks. 

It sounds to me like he is talking of so called End Times. What catched me in this was description of these heroes:  Joe 2:4  Their appearance is like the appearance of horses; And like swift steeds, so they run. 

Add to that the rest of the description, and I cant help but think that perhaps this is a description of something like these: https://www.youtube.com/watch?v=PBukEnjTJfc

If that is the case, they definetily need an AI to control them, and that keeps making me think of a game where you could be controlling these AI robots and doing those attacks.

Either I could simpy put the verse in use by simply taking the mechanics from it (lazy approach and not really leaving christian message in it), or I could try to do some sort of interpretation of those End Times from this part, and have the message be in "Left Behind" style, that the story itself is interpretation of passages.

Another verse that gives me at least some idea is Rom 15:4  For whatever things were written before were written for our learning, that we through the patience and comfort of the Scriptures might have hope. 

In this case I can see two, one easy way, and other at least bit more clever approach.

Easy approach is that you keep completing levels, and then you get getting scriptures for learning.

At least bit smarter approach would be in having several levels, and each level gives you some specific instruction, like "Avoid red balls, they are deadly", then at last level, you would have all those different kind of dangers/enemies/things on same level, and last levels instruction would be "For whatever things were written before were written for our learning, that we through the patience and comfort of the Scriptures might have hope. "

Other than that, I havent got much idea yet.

I havent even decided yet wether I will make a computer game, or a NES game. For I have this NESmaker I havent given a try yet, one possibility is that I go and make a NES game this year.

Submitted

I look forward to seeing what you create, it sounds like you're looking at some really interesting programming challenges and ideas!

I really enjoyed your game last year.  It'll be interesting to see what you can come up with this time around.

Submitted

Day 02: A solid game plan, but should I change it all?

Good news is that I now have a pretty solid plan for a game. It is based upon the Joel verse, in which i make the interpretation that these are bad forces attacking against people, and that these forces are robots.

Reading Sketche99s blog I noticed I had made too haste an interpretation of the passage actually. I noticed there are at least four different interpretations: 

1. These are Locusts or something similar, as those are being mentioned in previous chapter and there are some characteristics like "a day of clouds and gloominess".  However, I think this is most unlike of these four because it also says "A people come, great and strong, The like of whom has never been; ", this doesnt sound like locusts at all anymore.

2. These are bad forces

3. These are Lords forces

4. These are bad forces, but controlled by God, as example, Locusts sent by Lord.


For 3 and 4, there is the Joel 2:11 "The LORD gives voice before His army, For His camp is very great; For strong is the One who executes His word. For the day of the LORD is great and very terrible; Who can endure it? "

However, while this sounds like it is continuation from previous verses, that first these forces are told about, and then pointed out that "His army" as in previous vedses describved, this is not a cure thing. It might just be first talking about Force A, and then says, but His army B.

Anyway, in my game I have decided to stick to 2 or 3, which both work for the game. I originally thought it as option 2, and this reflects on design, as you are trying to kill all the people.

I am at least for now trying to leave some verses interpretations out, like for example it mentions that there is consuming fire in front and leaves desert behind, and take this interpretation of mine in way of, what we might know now. For notice how Joels book says in the beginning: "Joe 1:3  Tell your children about it, Let your children tell their children, And their children another generation. "

Although this is only telling of telling about the Locusts having eaten in past actually, making the Locust interpretation even more unlikely, I also in addition think this means that this whole book is meant to be passed down to future generations, since only future generations can finally understand it. Hence I am making assumption here, that we might not be able to understand it properly yet, and therefore I am leaving some parts uninterpreted and concentrating only on what looks like likely interpretation from todays perspective. Tomorrow they might of course already point out that todays interpretation made no sense since it obviously is talking of thing X.

By the way, if my interpretation of passing for future generations to interpret it is corrrect, then this locust theory would be even more unlikely a pick.


Anyway, to the game.


I played this fellow Christian Developers facebook group members, Cody Reeds game and i very much liked the simple userface of that game that you just clicked on one of the castles, and people came out. Thinking of this simplicity, I decided to try similarly simple approach for my game.

Idea in short is that you are in control of Artificial Intelligence with single consciousness, and my interpretation is that these people who are constantly referred in way of "LIKE the appearance of horses", "LIKE men of war", is referring to some sort of Robots, explaining why word "LIKE" is used all the time.

In each level you will have one or more locations that you can click at. When you click, squad of 10 robots comes out, and total amount of robots is limited in each level. 

Thing is, all Robots in play, will always be doing exactly same thing. That you cant control that group A would go to location X while Group B would go to location Y. Instead, you will be in control of the AI by telling what all robots in play are now doing. That are they attacking: people, buildings, weapons. And then all these robots are trying to do that same thing. You will not have direct control of your robots, but you will just choose as example for them to attack against people, and then all robots will decide themselves how they are going to attack these people.

Basically playing it boils down to sending new group of robots at right time, and also choosing to do right things at right time.

That as example, lets say you send all robots at same time and tell them to attack against people. Well, there might be this weapon that shoots them all into scrap metal. On the other hand, you send all these robots against this weapon and get it destroyed, but at same time some people got escaped.

So that is where the playing part comes. I am not sure it will work out, but even if it doesnt turn out to be fun, I will anyway get to try out some simple AI stuff I been wanting to get to for long time.

Oh, and naturally these robots will climb through windows and walls, and groups of 10 will go in form.


As I already was thinking graphics could be a problem here, I however got an idea. I will be making it sort of graphics from AIs point of view. I have two possibilities for this. 1. I go to google maps, take save a picture from some location and then make it into green shades. or 2. I use black background, make green lines for buildings, and then use different colored balls to tell where there are people etc. Some certain brighter colors could for example indicate bigger amount of people, and when robots keep shooting them, balls color could keep dimming until completely dimmed, and of course bigger bright balls could divide into several smaller dimmer colored balls if group of people scatter around.


So this is the idea, and I think it is pretty solid and complete. Of course cant know yet if it is any fun to play actually, but at least it is doable and complete.


Now comes the problem. I just remembered that last year I was planning to work with one local guy who was interested in joining Speedgame too. Last year I completely forgot him, or actually there were even two then. But now I remembered still in time. Now I am wondering how to do this. At least I am going to talk with him about this. One possibility is that I ask him to do the graphics for this. Thing is, hes style is wrong, so this would not look anything like I meant this to look and would take away a lot from the overall feeling I am having for this game that I am seeing quite clearly in my head, although not sure I am able to pull it off anyway.

Another possibility is that I simply make a new game plan with him, one that suits hes style better.


You could say that unfortunately I have very clear vision right now how this game should look like, since at same time, I want to invite this guy to join this competition so he would be encouraged to join this and it might help him. At least I am going to talk with him today, as long as I can reach him. Then I see what happens with this plan.

Interesting plan, Samuli, hope it works out! Hope all works out with you and the friends you're thinking of inviting as well.

Submitted

Day 03: Called the friend, he basically said he could be interested in joining the speedgame, but wants to think about it. Well, time is running, so I am proceeding with my current plan at least for now, for I am bit afraid he might be thinking about it for too long time. I am also thinking about possibility of could I make this current plan inside a week, having a chance to make another quick doable with that friend? Maybe, since I have somewhat clear vision about lot of thing in this.

Yesterday I happened to play this game called Atom Zombie Smasher: https://www.youtube.com/watch?v=YL1p57PdkCU and what a good thing it was, since the gameplay in this game, is graphicswise very similar to what I had in my mind. And playing this gave me couple of ideas on how to do some things, as they had been done on this already.

I think I am tomorrow actually going to start from something else than I usually start from, I will start from graphics, since graphics basically decide how I should do the rest of the game.

I have currently three different ideas for graphics. In previous devblog mentioned Google maps. I think this would make the game look very good, and graphics would be easy to do. However, there could be two problems here. One is in fixing how AI runs around the map, as I would need to tell AI where are walls etc. And walls might not always be easy squares etc.

Another problem would be level design. I would have less control on that, since the levels would be decided based upon what the map happens to look like in reality, and I would have only limited control over level design. However, I would really like that attacks to be closing towards Jerusalem level by level.

Third option would be to use same style as Atom Zombie Smasher in that levels are built from tiles. This would make AI part so much easier, graphics could either be those green lines i mentioned in earlier devblog, or they could actually have some graphics like the Atom Zombie Smasher has.

Second option would be something between the first and third. Idea being that I would use the green lines, but have freedom in deciding where they go, instead of being tiles. However, the Pros and Cons compared together, I see only very little benefit in this compared to useing Tiles approachs, versus the Cons on using it, I think option number two is pretty much out of question, since I can pretty much do it with third option and make my life easier.

Maybe I have tomorrow something to show. Might not have a single line of code, but maybe some graphics.

Submitted

Day 04: Sometimes it is easier to just test out to see what is wrong.

Today did not do much. However, I opened google earth (that i was errorenously referring as google maps in earlier posts) and I tried my idea for a level using this method. It didnt take me long to figure out it was almost certainly not the way to do it. Almost certainly since if there would be no time limit to speedgame, I might actually do it, since at same time I saw all the problems coming in makingwise, I also could see how great it would actually be to solve all those problems.

As example of a problem. Comparing to Atom Zombie Smasher, the people are actually all giants in that game. When I was looking at google maps, I would either need to zoom very close, or people would be more like dots in that map to be able to move naturally. But then at same time I was thinking, whoa, wouldnt it be great if there be 10 000 dots moving around in there? yes it would, but whole load of trouble too. All of them 10k dots making AI decisions, all they need to be checked somehow if they become targets etc. oh boy, I have never tried putting over hundred, perhaps even hundreds of things moving on screen at same time, so that can potentially be a problem already, and I definetily dont want to increase that problem 100-fold.

So scrap the google earth version, unless i have at least a week of time left after game is already finished.

Current plan is taking the easiest road - Tile based map with clear squares all around.

Here is anyway the small test pic I did, just to get the idea and notice it was not a good idea for speedgame competition timeframe:



Just to point out, I wouldnt call this day a waste despite i was working (the little i did, maybe 30 minutes)  in vain in some sense, since this helped me a lot in my plan. So far I have been thinking three different ways and everytime reviewed every idea on all three of them. Now I can finally concentrate on just one of them, the tile based approach and how it should work.

Submitted

Day 05: Plan is complete.

I still havent done any real work, but right now plan is basically complete in my head. only one thing missing there anymore.

I am taking approach from, hmm.. I wonder was it BurnerKnight who used this term in one previous speedgame of "Minimum Viable Product". Well, I dont think that term suits completely in this case, because I am more of aiming at minimum product that is good enough for speedgame release.

Minimum version is following:

Map is tile based.

Robots can attack buildings, weapons, humans.

Robot AI works with idea that it checks closest targets, and then randomly picks one of them. Closest as in plural meaning, since I mean to calculate the distance in squares, hence it is likely there will be several targets to choose from in same distance, which actually makes it seems like slight more random and intelligent, when it is actually the opposite of intelligence.

As example take this character explanation:

B . . . .

B . . . .

B. R . B

B . . . B

. B . B .

R is robot, B is building.

each dot surrounding robot is distance 1.

Next dots and Bs are all of distance 2.

For this reason, Robot could choose to attack any of those Bs as due to this square counting way, all are of same distance.


The human minimum AI is basically pretty much Pacman Ghost AI.

Whenever Human comes to a junction, it will randomly choose one of the directions, except for the direction it came from. If they happen to hit the safe zone (possibly out of screen), then they disappear and are saved from robots.


Only thing left here is to think about the defensive weapons, that how do they target robots and what kind are they.



If there is time, then I start making following changes:

Human AI: 

Humans will know the route out of time and choose their direction based upon that. Humans would also be able to see if Robots are ahead of them attacking, if they see robots ahead, they turn around the opposite way. If all ways are blocked by robots, then they would choose the direction furthest from robots. Some Humans would also be inside a house. Inside house there would be 50/50 chance that humans stay inside house, or get out and try to flee the map. Also, all humans would start from walking state. When they see robots or other running people or something similar, that is when they would start running. That would also give chance for things like alert sounds, that when robots cross some certain guard, there would come alert sound, and people close enough to alert sound would react and start running out of screen.

Robot control: In addition to just basic possibilities, I am thinking of being able to pick options like if Robots should be faster or more cautious, three options there. Cautious, Fast, and half-way. When being cautious, this would give them some sort of defence system, that if they are under fire from something, then they would survive for longer under fire. This would make player decide if he kills more people by losing more robots, or he saves more robots for next level by playing more cautious. Also, I am thinking of "shoot anything" option, which makes no difference between humans, buildings and weapons.


And naturally the weapons that defend cities and attack robots. This is part I dont have clear thoughts on yet, as I have been thinking how should this be done. One thought I was thinking is that there should be trap locations in cities, that some humans are hiding in building with rocket launchers and when Robots come close, they suddenly come out seeable and start shooting. Some humans could actually be even baits for these, that instead of trying to get out of city, they would try to get robots to come to these traps.

Anyway, I have been thinking of fixing other things in place first, since these weapons are probably easier to figure out and set in place, after I know how much AI humans and Robots have. For example, no point in making a weapon where idea is you have to play with fast-caution idea, if there is no fast-caution in controls.


Levels will be maybe 8 levels and they will go complete level 1 get to level 2. Minimum version is this.

Aim is that still go like a train, but surviving robots get to next level, and some more robots come too for next level. Then you could play previous levels again in hopes of being able to save more robots for other levels. In addition, I am also thinking that you get XP based upon how many kills you get. When you have enough XP, you can level robots up. Maybe with options like "more powerful weapons", "better accuracy", "faster", "+10 robots".


Graphics wise the minimum I am going to use is by using two different colored rectangles, maybe yellow for robots and light green for people. My hope would be to change people into different colored balls, depending upon how many people are inside that ball, and even sizes could be different, and robots I would like to have some sort of actual robot animation for them. Weapons I havent thought about yet, maybe red rectangles or something.


Basically thats it. Now if I just get on to making it actually.

Oh, and that reminds me. I came to conclusion that Hollywood languages basic options might not offer enough power to make possibly hundreds of rectangles moving around screen at same time, hence I am also going to take my first steps into trying out one of Hollywood Plugins, either RebelSDL, or GL Galore (Open GL) to do the job. Good it is so flexible as to offer these plug in options, just have never used these, so I wonder how much extra difficulty and time these will make me having to learn them from beginning.

Submitted

Day 06: Testing speed and RebelSDL

Yesterday I spent mostly on checking RebelSDL manual and before that took a little while to find out about Open GL and SDL and came to conclusion that SDL sounded like the better option.

I was very happy to find out that using RebelSDL was much easier than I thought, I was expecting to be having to learn new commandas to use SDL, but actually, it was much much smoother. In best case only difference you need to do in Hollywood to use RebelSDL, is to simply add one line: @Required "RebelSDL"

After that Some of the commands are overtaken by SDL instead of Hollywood.

However, I did need to read the manual since there were some things to take into consideration. Luckily there was no need to learn any commands, but there were some commands, or rather things, I should avoid doing. And also if I was planning to use SDL brushes, I had to use DoubleBuffer. So basically biggest two things were those two lines, to require RebelSDL and to turn on double buffer (which I might had done anyway) after that rest is only about avoiding doing certain things, which I found out in my testing.

So today I took some test to see how many moving things there can be on street.

I started by putting 100 rectangles on screen, and that went completely smoothly, and then i started increasing the amount. To my surprise, even Hollywood itself was well able to handle 1000 filled rectangles on screen smooth. But at 10 000 I noticed Hollywood started becoming bit slow, not bad however, while RebelSDL handled it still well.

I also noticed the draw back of Rebel SDL, when i switched from hollywood to RebelSDL mode, I first forgot to switch the doublebuffer on, and that resulted in boxes drawn somewhat slow, that even drawing 100 boxes was very visible thing without using double buffer and flip. Hollywood without doublebuffer was well fast enough even with 1000 boxes still, that you didnt notice them being drawn.

My estimation is that RebelSDL came perhaps only double+ speed difference, so Hollywood did handle things pretty well, however, it seems like when amount of boxes is increased, SDL gets more edge.

Then I turned to brushes. Even they were 5x5 rectangles, with 1000 brushes, it was already pretty slow. However, 100 brushes while did show slowness compared to boxes, was still quite smooth. Therefore this means that I have chance of executing my plans mostly fully.

That one thing I will forget it different colored balls for people, since for that I would need to use brushes, and unfortunately SDL had no support for drawing circles.

However, Since I am able to move 10 000 rectangles on screen without any problem, Ball humans are not necessity really, since even more fun having more moving objects on screen and also faster to do as i dont need to think how to split the balls, fading the color etc.

On top of that, since my aim is there to be around 200 robots at max (and there is possibility to make that half if i sent them in groups of 5 for example, instead of 10s), it seems RebelSDL can handle that amount of brushes, giving the possibility that instead of rectangles, robots would actually look like robots with some animation.

Anyway, good thing is that drawing is not going to be the problem. However, will the actual moving of 10 000 rectangles become a problem. That might well be. I might have to figure out some ways to reduce their load, like perhaps just move them towards same direction for 10 cycles all the time, and only every 10th cycle do some checking if they reached junction or should change their direction for some other reason. That way I would only need to deal with 1000 people each cycle.

Well, that will be seen when i get map done and put people in there to see how much it slows down if everyones situation is checked every cycle. I am also thinking that perhaps instead of keeping them independent, i could keep them attached to cycles. That way I could for example look it in way of checking each title that robots can be seen from. Then each of these tiles people are woke up to check if they should change their direction away from the robot.

Tomorrow and day after I am plannning to use a lot of time for programming, unless I have boardgame playing or something instead. Today I will already start doing some programming, basically hoping to get the map system at least done.

Submitted

hmm.. Just went back to testing and noticed I had made one mistake. I had forgot to tell Brushes to be hardware brushes, which makes them take the advantage of SDL. By doing that, 10k rectangles when drawn took 9886 of time to move the test distance, while moving 10k similar sized hardware brushes with SDL took only about 8900 units of time. That was surprising, didnt expect using brushes to be faster than using plain drawing.

Submitted

Day 07: People are moving around.

Yesterday I got basically bit farther or shorter than expected. On one hand I did have map done... somewhat. Perhaps not to state i basically wished, but that is what I have still been using. On the ohther hand, I also got people being randomly spread around city based upon numbers.

Today I continued from that and now humans are walking around the city using roads I have set up. I am currently thinking of hiding roads from players, that they are invisible roads that AI humans follow. They Currently consist of 4 different pieces. Roads where you can go left or right, roads where you can go up or down. Junctions, and escape tiles.

Basically people are places at random around city at start, with some locations having higher probability than others, this way each play has some randomness and it saves me whole load of time not having to figure out where thousand people should be placed at beginning of level.

Depending upon their location, they pick direction the start moving. As example, left-right road piece, they ether start going left or right. Then they continue until they come to junction or escape tile. Escape tile and they disappear. Junction, and they look at possible ways to go and choose by random to go on one of the available directions that is not the same way they came from.

There is actually small possibility that some human might turn back to same way it came, due to how i check the direction.

Basically to make it as light as possible, human movement is fairly simple. It moves X amount and Y amount in each cycle. This X and Y amount is decided when new direction (as example in junction) is checked. Basically I look that if X distance to new location is 123 and Y distance is 45, then i sum these up = 123 + 45 = 168 and then I simply do xmove = 123 / 168 and ymove=45/168.

When at junction i compare xmove and ymove numbers, the one that is bigger to other, tells wether it is going left-right or up-down direction. 

However, there is small chance that if two junctions are right beside each other, that as the co-ordinates for new tile are picked by random, that if im moving right, but i happen to be at right edge od current tile, and then it randomly pick left edge of new tile, and at same time I am at bottom of old tile, and new co-ordinate is top of new tile, then Y-move becomes actually bigger than X-move, and in this case the direction is errorenously decided to be coming from wrong direction.

However, this is rare occurence, and, perhaps it seems even more intelligent that some rare times, AI decides to get back the same way it came, although it is actually in error, so let it be.


Tomorrow I am going for the Robots. Have to first figure out how to make a spawn point for them, and then the control buttons, after that they can start looking for targets.

I also just less than hour ago realised there is one potential problem I am not sure how to solve yet. For basically when robots go attack against people, they should target one of the closest ones, but actually the closest one keeps moving all the time, so who knows where the robots end. Not sure how to fix this yet. Of course they could keep looking at who is the closest, but this could be quite resource hungry. But then again, I have loads of moving people and speed havent slowed down noticably at all. So perhaps max? 200 robots could go through more demanding AI. Hopefully I will know more tomorrow.

Host

Verbose as always Samuli :D

Looking like some good progress. Would love to see some screenshots.

Submitted

I am more of thinking posting a video. When I get next stage working, I might make one.

Submitted

Day 08: short update as im heading to sleep.

Started working on robots. Figured out lots of things already, they come and move in lines, which in practice is done so that 10 robots come out each time, and one of them is leader. Leader has some actual target where he is heading, while rest are just targeting to get on their place in line behind leader.

I did some unnecessary work by putting robots into 8 different direction forms, until i realised they will actually both go better, and easier, if i just use them to go same direction as leader, but behind co-ordinates. what a waste having done that other subpar thing, luckily it didnt take long at least.

Right now I am having trouble in my pathfinding, it is starting to look too many unnecessary pathways, but I do havea  solution in my mind already, just need to queue each recursion (i think that is what they are called in english), since right now it first checks everything to left, then up and when at corner, it gets to right and after hitting that corner too, it goes one down, and then all left and finally right again etc. and does whole load of needles work.

By queueing recursion, it will basically do one step at a time each time, this way avoiding doing same tile several times in different combinations.

As last thing, I finally got permission to use one places video material. I asked from three places, and at least one replied. Luckily it is the second best option from those three, so I should be able to get at least somewhat what I am wanting with this material i have permission now to use.

I supposed they were free to use in the first place, as they were under Media/video tab, but as they didnt explicibly say it can be used, decided to check just in case.

Host

If you use Unity 3D, they have built-in pathfinding.

Submitted

Day 09:  First video.

Basically I was hoping to get my game one step further before making this video, but here you are, made it anyway.

Currently you can see the map drawn and people moving around the roads. If they hit one of "escape" tiles, they disappear, these escape tiles are all at edges of screen.

You can also see red dots (humans) that keep going where ever, these are people who start inside buildings, I havent done anything to handle people inside buildings, so it is not actually a bug that they keep flying around, it is just that I havent done anything to them. But rest of people keep walking on roads.


You can also see first robots squad coming, red one is leader, and rest are following him independently. I decided not to use robotx = leaderx * 2, but instead made it so that robots target is leaderx * 2, and he tries to get there independently.

Leader checks every 10 cycles hes target again, this is in case building gets destroyed for example, so he then sets toward next closest building.

When leader reaches the tile he is targeting at (in this case, closest tile next to closest building tile), it will then stop and change the mode of itself to be independent and it also changes every followers state into independent. After that everyone is independently lookin for closest building tile.

I am planning to have it so that only for example three robots would aim at same tile, and if more are about to come, then they would already target some other tiles closest to them, excluding the already occupied ones. This step i had hoped to achieve still before making the video, but right now they are just all going at same tile, creating enough of yellow rectangles on top of each other.


Host

So does the player control the red dot?

Submitted

No, Red Dot is just the leader of the robots, I changed its color since I noticed my robots were going wrong way around, that leader was last in queue instead of first, so changing its color to red I could see if things were as they were supposed to be. There is actually still some error there, but I might not fix it since it is not that critical. Basically they should be in nice line all, but for some reason, and I am not even sure what I did, but for some reason that leader suddenly started to go apart from the rest. That is however minor issue and might take a lot of time to find out, so I might just let it be, anyway, as it is the leader that is apart from the rest, it anyway makes sense, although in reality it is accidental.

Submitted

Day 10, 11, 12: 15 minutes is like two days and two days is like 15 minutes.

On Day 9 I made the video, but it was still missing taht one feature i had wanted before making video, that robots would go to different tiles if tiles are already occupied, in that video they were still all basically going to same style. I however figured it might take a while to implement it, so i save dit for next day.

On day 10, i had worked about 15 minutes and was looking "huh, so it was this easy to implement, should have done it yesterday", I clicked run, and notice dit didnt work. After a long time looking for error and seeing absolutely no fault in code, I finally realised I had been watching from wrong place. Code was basically working just fine and there was no actual bug in it, it was just that I didnt realise I was looking at wrong tile all the time.

My pathfinding had a system where it looked for closest building tile, when that tile had been found, then it looked from which direction they were going to come to that tile. that if they were going to come from left, then it would check if first tile to left of that building tile is a legal tile to go, if yes, then it would set target tuile to be this one.

Problem with my checking was, that I was checking if the building tile was occupied or not, when I should have checked the tile beside it. This naturally led pathfinder always reporting target tile to be free, since building tile wasnt legal ground for robots, keeping it always non occupied, and in the end they all ended up going to same tile.

When I realised this, I also realised I had to rethink the whole thing. In the end, adter having thought about it for rest of day 10, I came up with a solution that I would do pathfinding twice. First to look for the clsoest building tile, after this I would do pathfdinging starting from that building tile to find first legal tile (which is usually right besides it, unless those are occupied, as occupied ones are not considered legal ones).

After this, in day 11, that part was finally working.  Well, basically working. For now I noticed there were still some bugs in other places in codesand rest of day went in fixing them, for there were lots of those, and I didnt realise them until I had this part working, since before that they werent really tested.

Day 12 I was already implementing some new small things, and noticed some more bugs too. So main of day 12 went on figuring out more bugs. However, both day 11 and 12 I didnt get to work much as I had other things to do and I didnt really have peace to code, nor do I expect to have much peace today either.

I am actually bit worried how this game will end up. I have very reasonable plan, but now it looks like I wont have much time during this second week at all to work on this. I have already set a new lowest standard for game which I will implement first. After that, if there is still time, I will try to implement more things to it.

This lowest standard however probably means that the game is not going to be very good, but then again, I set out mainly to practice this year, and basically even if I wouldnt finish anything, I have given a good test for AI programming, so this have definetily been useful to me. However, if I am not able to get anything workable submitted, I feel unsatisfied. Just not sure if submitting the lowest possible will satisfy me either, but at least it is worth a try.

Today might be my last day that I might be able to work on this project several hours, Just not sure I am able to do it undistracted. Hopefully I get as much as possible done today, since from all the days from now on until the end of competition, this might be the most important day in deciding how finished this product will be in the end.

Submitted

No time to comment, but here is the latest progress.

Looks promising that I will be able to submit something worthy of submission. Game itself will probably be boring, due to not having enough time to make it good, but at least it shows what I had in mind. Perhaps tomorrow I will have a minimum quality game ready at least. Then it would be time to add features and make the game itself better.


Submitted

Today is likely the last day I am able to work on my game efficiently anymore. I will be able to do some small things tomorrow too, but nothing extensive.

Today I aim at getting game ready and upload the version what I have already at evening. Then tomorrow, if I have time, I might do some more still and then resubmit my game. Right now I have some decisions to make. Like do I aim at making more features, which would actually make the game perhaps fun to play, or do i play for sure and already make the levels with what i have, which is not very fun.
Problem is, if i now make levels, and then later add more stuff, then basically levels should be redesigned too.

I also have some questions about couple of bugs, wether to fix them or not. If i fix, it gives more possibiltiies, on the other hand, they are only small nuicances right now.

Submitted

tricky things with copyright... Havent got answer for permissions for two video footage. Have to think wether to put them or change them. Problem is that especially one of the videos is basically the best part of that video, and I am pretty sure they would give the permission, but when I said message to that place, autoreply said  it might take even two weeks before they reply, and now it is bit less than two weeks. Still hoping for them to reply and give permission, but I could perhaps go under fair use too which I believe it actually is, just would rather have permission to make sure.

Submitted

Last day and after Submission:

Last day I had only couple hours to work with game, so focus was on making three more levels, and this focus even failed in the end. When I finally started testing them, I noticed they had some problems that would give crash bugs to slower machines, since slower machines would think for too long finding a path and then due to how i do things, things could get out of their places.

Main problem is that people simply move certain amount each cycle, depending upon how much time have passed, and then it check if target tile is reached or not and actually, unfortunately i added it to do certain amount of steps too before really reaching and looking for new target. Now it might happen that when slower machine thinks, the time passed is so long, that they simply move to next tile already, after which check on arriving to target tile always fails and they just keep moving on to their direction. Most of time this is pretty harmless, biggest problem being that there might come invisible man to map as they move out of grid and then when finding tilenumber from minus co-ordinates can result them being where ever in the map, although graphics are still drawn outside of screen.

This was pretty much a shame since i was first happy getting those three more levels done and getting game complete.

In the end  I came to solution that yes, I leave the last three levels there for faster machine,but I do so that already after level 2 it will open the button which completes the game. Idea had of course been that you would need to complete all 5 levels before this button comes and in order, but this way slower machines should be able to complete first two levels, and then faster machines can try next three too.

What I had hoped during yesterday all the time was to implement two features. There are currently people with guns running around among rest of people, but they dont actually shoot. They were  meant to be bit of a random factor and create more chaos around by being all around and then doing tiny damage to robots all the time. This would have basically made weaker weapon towers more dangerous, since right now many of them do only small damage, but this small damage accumulated with people with guns damage could have become fatal for robots during a level, now this is missing from game.

Another thing mostly missing is coders. Levels 3-5 actually have them, but they are just randomly placed currently and could be even a problem. I meant to have them at fixed locations each level. I also am not sure if they currently have a kill goal or you have t kill them all. I dont remember which way i did. Plan was to have kill them all or dont pass, but originally i used kill goal for them too.

I was also hoping to clean unnecessary information away, like kill goal for coders still reads there, although it might not be valid anymore.

Such small changes, some just remove one line of code, some couple of lines more, but when time runs out, it just runs out and have to prioritize on what to focus, and my focus was levels, which unfortuately even failed in the end. There are too long paths to nearest buildings or weapons, and computer counts for them too long and problems come.

What also is unfortunate is that I didnt have time to test the levels. I believe potential was there, that I could have made this into real good game had i had good amount of time to use for each level. Right now they are pretty much getting an idea, makin git, and hoping it works with only very little fine tuning. First level is actually accidental. It is just the test level i did to trying out the code, and in the end it seems to work quite fine actually, although in reality i put it there just to save some time from making actual level. It bothers me a bit that one of the houses is partially on water, as I basically wanted spawn points be so that robots are coming from beach line  in that level.

At morning when I woke up moment ago, i was thinking I should have emphasised it more clearly, like displaying a message at beginning of game that after level 2, rest are playable but not necessary, since now it probabaly creates confusion to some players, but with only less than 20 minutes left of submission time, i decided not to risk it making a new build with a message.


All in all, I think my game came out to retty good shape. It looks good etc. just lot of bugs, some minor but unfortunately some crash bugs, and those levels 3-5 failing, unfortunately dims the greatness of the game greatly. But all in all, I think when taking into consideration that it didnt really get properly finished, it is pretty nice entry. Basically biggest fall being lack of fine tuning levels, since that would make the game much better. Level 1 is half accidentally okay, and level 2s idea worked quite well right fromk beginning, so there isnt much I would have changed, mainly would have made corner houses look different, since right now they give one bug where robots might get through corners to the middle even they are not supposed to, but that is minor issue. Levels 1 and 2, they are okay, although by purpose easy, making them bit boring, as it was later levels that were supposed to be harder, not these two yet, but for many those might be the only levels they get to play.

Submitted

One Day after submission:  It is hard to see from inside

One day later, and not being in doing and in hurry, you suddenly see some things so clear and it makes you wonder how come it is so hard to see some things from inside when they are so obvious from outside.

One of the things I decided right at beginning was that I wouldnt use my time to make a save game feature. I figured it would take too much time (not sure why i thought so) and I also figured I would make game short enough that it wouldnt really need one.

In last day as I noticed I had problem with my levels 3.5, I was wondering how to do with them, wether to include them or not, and then Finally I came to idea of after completing level 2, all levels become available. I am not sure that was a good idea at all, since due to lack of time in putting any proper instructions to player, this might create even more confusion, but I was just really wanting to show what I was after basically.

Now thinking from outside it really annoys me to notice how easy the solutions (yes, i figured two of them) had been.

Solution 1: I am using this "timepassed" variable which takes the amount of time passed during each cycle and based upon that it counts how much each unit moves. This is connected to the problem. When it takes too long for a cycle to perform, things might move too far and pass their targets, and therefore when it keeps checking if target tile is reached, it never returns true, as they already passed it.

Simple solution: If timepassed is more than 0.1 seconds, then change timepassed variable into 0.1 second. This way game would slow down on those spots, but at least everything would be working otherwise fine. Especially since most times this problem was that when you changed a command, and all Robots did new pathfinding, that is why it took so long. So likely it had most of time made just that one slow cycle, and after that things had been running usual speed again. So not that big a deal actually from players point of view, and time to take to implement, well, one line of code: "If timepassed>100 then timepassed = 100" .  So so annoying to notice such a simple and obvious solution but too late.


Solution 2: Save game. I just dont get it how was I thinking save game as being too difficult and time taking. I have done save game before, so I must have been thinking something difficult there.

Had I stopped to think about it, all I had to do was to save if some level is available or not, and with how many robots to play it with. That had been all needed. Like 20 minute job to add it. This way even if game had crashed at level three, you would have just restarted the game and continued from that level. Annoying and minust points from stability-sure, but it would have made the game better still since you would have actually needed to play all five levels and only after level five had "execute plan" appeared,  and it wouldnt have been so confusing to the player.

I am posting couple other posts too, decided to make them separate topics.

Viewing posts 1 to 20 of 24 · Next page · Last page