Hello again.
For me things, has been getting in the way and since there is more things coming up during the weekend and early next week, I'm not gonna set up new goals right now but I can talk about the previous ones
Update SFML to version 2.1
The version of SFML has been update for my game. Didn't have any problems
Look into how to make the building phase code "nicer"
I have an idea now of how that code is going to work, haven't had the time to implement it
Implement a resource system
Didn't have the time to work on this, but I'm not expecting this to be a hard things to do.
Thanks for sticking with me
Friday, November 29, 2013
Wednesday, November 13, 2013
Part 10 - Back on Track
Hello again. I'm really sorry for all the silence, but my studies have consumed much of my time, combined with a couple of other things happening for me. But now, it finally looks like I can start putting more attention into this project. That in term will get hindered a bit since I'm going to move at the end of this month,
Goals to be completed before the end of the month:
Update SFML to version 2.1
Implement a resource system
Look into how to make the building phase code "nicer"
I don't expect that it's going to take much time to implement a resource system in the game. I don't either expect that updating the version of SFML will be a problem for me either (as 2.1 is mostly a bug-fix release). The challenge is going to be how to make the code for the building phase nicer. Currently, everything is happening when you check for input, which is something that doesn't look very nice. It can take a while, but I have a rough idea of how it is going to work.
Thanks for sticking with me, and you can follow what's happening in my studies at my university blog
Goals to be completed before the end of the month:
Update SFML to version 2.1
Implement a resource system
Look into how to make the building phase code "nicer"
I don't expect that it's going to take much time to implement a resource system in the game. I don't either expect that updating the version of SFML will be a problem for me either (as 2.1 is mostly a bug-fix release). The challenge is going to be how to make the code for the building phase nicer. Currently, everything is happening when you check for input, which is something that doesn't look very nice. It can take a while, but I have a rough idea of how it is going to work.
Thanks for sticking with me, and you can follow what's happening in my studies at my university blog
Sunday, October 13, 2013
Part 9 - Report about the project
Hello Everyone.
Sorry it has been so long since I posted anything here, but first sickness prevented me from doing much work on this game, and after that university has consumed much of my time. Sorry for the delay, but I'm happy to announce that some progress is being made to the game. I now have a first, rough and "inelegant" version of how the building phase is going to work code. I will keep working on the project as much as I can, but I suspect that my studies will consume lots of my time in the upcoming month.
Thanks for sticking with me
Sorry it has been so long since I posted anything here, but first sickness prevented me from doing much work on this game, and after that university has consumed much of my time. Sorry for the delay, but I'm happy to announce that some progress is being made to the game. I now have a first, rough and "inelegant" version of how the building phase is going to work code. I will keep working on the project as much as I can, but I suspect that my studies will consume lots of my time in the upcoming month.
Thanks for sticking with me
Sunday, September 15, 2013
Part 8 - More about the future of this project
Hello again. Sorry it has been so long since the last post, but my first week at University has taken more of my powers than I initially thought, and as a result this hasn't been the top-priority at the moment. I wanna work more on this game, I'm so close to having an alpha version of this game ready, but for the moment I had to prioritize other things.
Anyway, I've made my decision that from now on, there will be a new blog post every other week. Overall, I feel that this will be the better choice to make.
The reason why I'm not setting any new goals this day is because of a combination of that I'm sick at the moment (and many people here at Uppsala University Campus Gotland are sick as well), I've had two stressful (but fun) weeks and I need to sort out some personal stuff
Anyway, I've made my decision that from now on, there will be a new blog post every other week. Overall, I feel that this will be the better choice to make.
The reason why I'm not setting any new goals this day is because of a combination of that I'm sick at the moment (and many people here at Uppsala University Campus Gotland are sick as well), I've had two stressful (but fun) weeks and I need to sort out some personal stuff
Monday, August 19, 2013
Part 7 - Weekly review 13-19 august + the future of this project
New week, time for a new review
I was able to test it and it seems to work as intended for me
Begin working on a class for "the target" of the enemies
The health of the base is also working now, all I need to do now is to make the code look nicer
Begin designing a proper cycle system (build-phase, attack phase etc)
I might also permanently switch over to one blog post every other week instead (instead of just this one time) of once a week, because I've feel that it will be better for everyone this way. You will (hopefully) get to read more contently posts, and I'll be able to have some "bad productive days" without feeling too much pressure.
My studies will soon resume as well, but since the main purpose of this game was so that I could learn to make a new type of games (tower-defense), I won't work myself out with this game, at the moment my studies are more important for me.
But once again, I won't give up this project. I will keep working on it in my spare time. Thanks for still sticking with me.
Last week's goals
Finish the spawn systemI was able to test it and it seems to work as intended for me
Begin working on a class for "the target" of the enemies
The health of the base is also working now, all I need to do now is to make the code look nicer
Goal for the next two weeks
The reason why this deadline is set to two weeks is because I'll be busy with moving back to Visby at the end of this week and the beginning of the next week.Begin designing a proper cycle system (build-phase, attack phase etc)
The future of this project
Even if I haven't show you much of the game and it hasn't gone as fast as optimistic me wanted it to go, I still don't have any plans of giving up this project any time soon. After I've gotten all the basic mechanics in place, what I will to will be to add new content to make the game interesting.I might also permanently switch over to one blog post every other week instead (instead of just this one time) of once a week, because I've feel that it will be better for everyone this way. You will (hopefully) get to read more contently posts, and I'll be able to have some "bad productive days" without feeling too much pressure.
My studies will soon resume as well, but since the main purpose of this game was so that I could learn to make a new type of games (tower-defense), I won't work myself out with this game, at the moment my studies are more important for me.
But once again, I won't give up this project. I will keep working on it in my spare time. Thanks for still sticking with me.
Monday, August 12, 2013
Part 6 - Weekly review 5-12 august
Another review, but a day late because I've been busy watching The International 3. But anyway, last week's goal
Long story short, I was able to get the theoretical part of this done. Now, what I have left to do is to test it and fix it.
In the image above, Enemy A is worth one point, Enemy B three points and Enemy C two points. What I would do here is that I would randomize a number between 0 and 6, and spawn the proper enemy into the track in my game. Assuming that the random number generator doesn't suck, Enemy B should spawn half of the time, Enemy C two sixths (or one third) of the time, and Enemy A one sixth of the time in theory. Now since it is random, it could very well not be like this, but in the long run, this is how the distribution of enemies should look like.
But does it have to be numbers in the range of 0-6, couldn't it be in the range off 0-0.6 or 0-6000000 as well? Absolutely, the only thing that is relevant is how big each enemies value are in relation to each other. Even if I would multiply all values above by 100000, the distribution of enemies is the same (once again, as long as the random number generator doesn't suck), because how big each part is in relation to each other is the same.
And that's it for this week. I'm hoping to have more to show of the game soon.
Last goal + how did it went
Begin working on proper a enemy spawn systemLong story short, I was able to get the theoretical part of this done. Now, what I have left to do is to test it and fix it.
Goal for the week
- Finish the spawn system
- Begin working on a class for "the target" of the enemies
How does the spawn system look like?
With some help of MS Paint, here is the idea of how the enemy spawn system will work in my gameIn the image above, Enemy A is worth one point, Enemy B three points and Enemy C two points. What I would do here is that I would randomize a number between 0 and 6, and spawn the proper enemy into the track in my game. Assuming that the random number generator doesn't suck, Enemy B should spawn half of the time, Enemy C two sixths (or one third) of the time, and Enemy A one sixth of the time in theory. Now since it is random, it could very well not be like this, but in the long run, this is how the distribution of enemies should look like.
But does it have to be numbers in the range of 0-6, couldn't it be in the range off 0-0.6 or 0-6000000 as well? Absolutely, the only thing that is relevant is how big each enemies value are in relation to each other. Even if I would multiply all values above by 100000, the distribution of enemies is the same (once again, as long as the random number generator doesn't suck), because how big each part is in relation to each other is the same.
And that's it for this week. I'm hoping to have more to show of the game soon.
Sunday, August 4, 2013
Part 5 - Weekly review 29 july - 4 august
Hello again. New week, new review.
Eventually, I was able to get this done, and I was able to write a placeholder-tower class as well to test the functionallity
Still, thanks for sticking with me. I won't stop working on this game. Once this goal is done, I don't have many big artifacts (aka artifacts that will take time to code) left to do in the game.
Last Goal
Begin working on the class for towerEventually, I was able to get this done, and I was able to write a placeholder-tower class as well to test the functionallity
Next Week's goals
- Begin working on proper a enemy spawn system
Still, thanks for sticking with me. I won't stop working on this game. Once this goal is done, I don't have many big artifacts (aka artifacts that will take time to code) left to do in the game.
Sunday, July 21, 2013
Part 4 - Weekly review 15 -21 July
Another week has ended, and it's time to look at what was supposed to get done.
This was finished as long as it is possible without the tower class
Improve the back-end structure of the code
This is an ever-ongoing task, but I was able to improve how collision was handled back-end.
Of some reason, VS2012 still doesn't always want to co-operate with me. It works better since downgrading the driver for my graphics card, but when VS2012 is the only program that I really has problems with on my computer, it becomes frustrating to work with the game, and working frustrated is not a good idea.
But with that said, I'm planning on keep working on this project even after my studies has resumed. Once I get all the basic functions in the game ready, it essentially comes down to keep adding content to make it more varied.
Last week's goals + how did it went
Begin looking at collision between projectiles and enemies.This was finished as long as it is possible without the tower class
Improve the back-end structure of the code
This is an ever-ongoing task, but I was able to improve how collision was handled back-end.
Of some reason, VS2012 still doesn't always want to co-operate with me. It works better since downgrading the driver for my graphics card, but when VS2012 is the only program that I really has problems with on my computer, it becomes frustrating to work with the game, and working frustrated is not a good idea.
Next week's goals
- Begun working on the class for towers
In other news
I've come to the realization that having a full game ready for when I return to university is no longer a reasonable goal, because real life has consumed my time this summer. I'm personally not upset over this, as I initially did this to learn myself to do a tower defense game.But with that said, I'm planning on keep working on this project even after my studies has resumed. Once I get all the basic functions in the game ready, it essentially comes down to keep adding content to make it more varied.
Sunday, July 14, 2013
Part 3 - Weekly review 8-14 July + Quick introduction to Boost
Hello again. Now it's the end of this week and it's time to look at what have happened with the game and the goals.
Begin looking at collision between projectiles and enemies.
Currently, there is code for both projectiles and enemies for handling collision. The thing that is missing is making it work together (and test it)
Improve the back-end structure of the code
For those of you who are programmers as well and are reading this, yes I know, this could mean a thousand and one things and it is a very wide term. But since I wasn't sure how much time I could have this week to work on this game, I said so in order to "be safe". But if I'm going to be more concrete, without going heavily into technical terms and C++-specific principles, here are the two most important points that I want to achieve back-end
Boost contains lots of different libraries of code, and I think it's easier to ask what Boost doesn't have than what is does have.
Here are the libraries that is currently used, or will be used, in my game
How did things go this week.
This week, I've been busy with some personal stuff and I hadn't slept very well some days, so it didn't go as fast as it could go. But still I was able to get some work done and could at least start working on what I was supposed to work with.Last + Next Week's Goals
Because I could work as much as I hoped with the game (although I know that it could happen), last week's goals is also carried over to the next week.Begin looking at collision between projectiles and enemies.
Currently, there is code for both projectiles and enemies for handling collision. The thing that is missing is making it work together (and test it)
Improve the back-end structure of the code
For those of you who are programmers as well and are reading this, yes I know, this could mean a thousand and one things and it is a very wide term. But since I wasn't sure how much time I could have this week to work on this game, I said so in order to "be safe". But if I'm going to be more concrete, without going heavily into technical terms and C++-specific principles, here are the two most important points that I want to achieve back-end
- Optimize the code. This is an ever ongoing process, making it so that the code works more efficient. Even small things can give a big improvement for the game in the long run. I did some improvements to make existing code more efficient (Can't mentioned any specifics without going in on C++-specific stuff).
- Make the game flexible to add new content. I want to make this code flexible, so that I can easily add content to the game in the future (because I'm planning to keep working on the game even after the summer) and so that I don't have to write overlapping code for every enemy, tower, projectile and so on. Currently, enemies and projectiles has their own base code, that all enemies and projectiles shares. Towers will also have their own base class as well.
Quick introduction to Boost
I've decided to give you all a quick introduction the Boost C++ library.Boost contains lots of different libraries of code, and I think it's easier to ask what Boost doesn't have than what is does have.
Here are the libraries that is currently used, or will be used, in my game
- Boost.Foreach. In programming, there are several ways you can loop over a certain part of your code. I'm not going to go over every single one of them, but a foreach-loop is one of them. This kind of loop exist as a part of the language in other languages, but not in C++ before C++ 11 (I prefer to use Boost.Foreach over the built-in loop, as I think that it is more readable). So this library can be used to create a foreach-loop in C++, if you are not using a C++11-compiler.
- Boost.Multiprecision. Currently doesn't see any use in my game, but this can be used for integer values larger than what C++ can support natively
- Boost.Random. A library for generating random numbers.
- Boost.Smart_ptr. Here is explanation of C++ pointers for dummies, as this library works with simplifying the usage of pointers for the coder, and adding more readability to the code as well.
- Boost.UUID. This library is used to give each object in the game a universally unique identifier (UUID)
Sunday, July 7, 2013
Part 2 - Weekly review 1-7 July
So it's now the end of this week, and it's time to see what the goals for this week was.
This was something that I was able to achieve, but not a big challenge as I've done this several times before in SFML
Make it so that enemies travels down the track properly
After some frustration and a bit of ugly hacking I was able to make this work to 99%. The thing that's missing is what to do when the enemies has reached the end of the track, but I'm gonna fix that later.
Make Boost 1.54, which will be released next week, work properly within the game.
So far, Boost 1.54 seems to be working properly for me, nothing has changed for the worse as far as I've noticed. And even though I'm not using any libraries that requires compiled .lib-files, I managed to compile those as well without any problems.
And here is a screenshot of how the game currently looks like
As a result of this, unsaved files when Windows 7 froze got corrupted, but luckily I hadn't written to much and they could be restored via Dropbox. And at one time, the project file in Visual Studio got corrupt, so I had to re-setup the project. It wasn't the source files, those were safe, however setting up a new project will all the right settings took some time.
Last Week's Goals
Make it so that something is rendered on the screenThis was something that I was able to achieve, but not a big challenge as I've done this several times before in SFML
Make it so that enemies travels down the track properly
After some frustration and a bit of ugly hacking I was able to make this work to 99%. The thing that's missing is what to do when the enemies has reached the end of the track, but I'm gonna fix that later.
Make Boost 1.54, which will be released next week, work properly within the game.
So far, Boost 1.54 seems to be working properly for me, nothing has changed for the worse as far as I've noticed. And even though I'm not using any libraries that requires compiled .lib-files, I managed to compile those as well without any problems.
And here is a screenshot of how the game currently looks like
How did everything went?
At this point, I have to say slower than I expected it to go? Why you might ask? The reasons for this spells Technology. After updating my Nvidia Graphic Card's driver to the latest version, it would not only freeze Visual Studio, but also the entire Windows 7 as well (For various reasons, I'm not upgrading until I get a new computer). This made me frustrated and I know that solving problems frustrated is not a good thing.As a result of this, unsaved files when Windows 7 froze got corrupted, but luckily I hadn't written to much and they could be restored via Dropbox. And at one time, the project file in Visual Studio got corrupt, so I had to re-setup the project. It wasn't the source files, those were safe, however setting up a new project will all the right settings took some time.
Next Week's goal
For the next week, the goals is:- Improve the back-end structure of the code
- Begin looking at collision between projectiles and enemies.
Subscribe to:
Posts (Atom)

