Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - OrderNexus

Pages: 1 ... 5 6 [7]
91
I just got the book today, skimmed threw it at work. Lots of content and some advance game programming techniques looking forward to going back and following it threw and studding the content.

I didn't like how the code was smushed together, being still a novice I like to see the pattern more clearly, but like I said there was lots of content and you can easily open up an example and see it more clearly.

I really liked how it walked you threw the system / pattern and keep adding to it. So like for the ECS you get a more clear understanding of how the ESC works and later shows you adding more components and systems adding even more.

Overall I'm really excited and I'll be sure to post more :D
Thanks for showing your support! I hope you enjoy the rest of the book. :)

92
With the exception of smart pointers, all of the code used in this book is modern. I have made a decision quite early on during the writing stage to stick to raw pointers for educational purposes. If you're picking this book up, it's fair to assume that you have at least a decent knowledge of C++, hence you probably have used smart pointers or at the very least have heard of them. At least to me, it seemed that learning how to properly dispose of dynamically allocated objects was more beneficial than using a feature that does it for you, especially since so many newbies have problems with memory leaks. Instead of using smart pointers and swiping the problem under a rug, I attempted to tackle it in a way that seemed the most fit. I guess we'll just have to wait and see how it works out in the long run though. :)
I would argue that the correct way to manage dynamically allocated memory is with RAII and smart pointers. Teaching manual memory management seems misguided to me - especially since it's incredibly hard to get right and code te ds to get pretty ugly with lots of try-catch blocks if you really want to handle all possible leaks and smart pointers solve the whole problem quite elegantly.
I'd have written that line from the book cover as
auto texture = std::make_unique<sf::Texture>();

I agree, it is a more elegant solution. Not sure I'm on the same page about teaching manual memory management being misguided though. It's a useful skill to have, hence a subject worthy of being taught, as you yourself said that it's hard to get right. At the end of the day, it came down to a simple choice: Do I want a more elegant yet educationally lacking solution for non-production code, or one that is unjustly so looked down upon by many C++ modernists, but with a purpose of teaching something. I chose the latter, obviously, with relatively little negatives to show for it. Performance wasn't impacted in any way, which should always be your number one concern. Whether it was the right choice for the book remains to be seen, so I guess we'll just have to let time do its thing. :) Besides, we shouldn't be judging usage of raw pointers too harshly. The source code of SFML itself has lines like this in it:
m_impl = new priv::ThreadImpl(this);
...
delete m_impl;
m_impl = NULL;

On a side note, it wouldn't really be a huge task for the reader to utilize smart pointers while reading this book, should they choose to do so. The rest of the code is fairly modern and uses C++11 standards. With that said, I think we should wrap up this discussion, since it's really just a matter of opinion at this point. :)

93
(... and uses modern C++)

This is why I asked about the source code, because if you look at the cover (I know you shouldn't judge a book by it's cover) you will see the following line of code blended into the background...

sf::Texture* texture = new sf::Texture();
With the exception of smart pointers, all of the code used in this book is modern. I have made a decision quite early on during the writing stage to stick to raw pointers for educational purposes. If you're picking this book up, it's fair to assume that you have at least a decent knowledge of C++, hence you probably have used smart pointers or at the very least have heard of them. At least to me, it seemed that learning how to properly dispose of dynamically allocated objects was more beneficial than using a feature that does it for you, especially since so many newbies have problems with memory leaks. Instead of using smart pointers and swiping the problem under a rug, I attempted to tackle it in a way that seemed the most fit. I guess we'll just have to wait and see how it works out in the long run though. :)

94
It's probably caused by a scaling factor being not close to an integer and smaller than 2. The higher it is, the less noticeable are some misaligned rows. With a scaling factor of 1.5 every second row is inconsistent, with 2.0 all are perfect, with 2.2 only every tenth(?) row is affected, etc.

It's nothing critical, but rendering looks inconsistent.
You're right. Like I said, if Packt allows me to make further revisions, it will definitely be resolved. :)

95
You misunderstood me. I love retro-games (and still enjoy playing old NES/SNES era games). But compare the width/height of pixels. Some rows will be higher than others, which can create a very inconsistent look.
Ah, I see what you're saying. Sorry about that. It may have something to do with the zoom value of the view being used, in addition to the texture not being smoothed, which results in "nearest neighbor" being used. It may also have to do with the view's center or size not being integers, since this effect is different depending on where the player stands. This might be something I could address in an errata, if it ever comes to it. Thanks for pointing it out :)

96
General discussions / Re: SFML Game Development by Example - 4th SFML book
« on: December 31, 2015, 11:51:47 pm »
Ah!!! Waited for it for 6 months now :D, thanks a lot  ;D
Thank you! I can't believe someone has been waiting for it to come out for so long :) I hope you enjoy it!

+1 alone for a fitting cover image rather than some generic and unrelated thingy. :)

I'm not sure about the screenshot in your post, though. That nearest neighbour stretching has some very noticeable amount of inconsistent pixel sizes (reminds me of the latest Final Fantasy PC ports).
Thank you! It felt like a book about game development should have a cover that can't be mistaken for something else :)

As far as the graphics go, I suppose it's a matter of taste. To me personally, it felt more like an old school RPG with texture smoothing disabled. To each their own, I guess :)

97
General discussions / Re: SFML Game Development by Example - 4th SFML book
« on: December 30, 2015, 11:26:27 pm »
Awesome looking foreword to adding it to my collection :D
Great! I hope you enjoy it :)

98
General discussions / Re: SFML Game Development by Example - 4th SFML book
« on: December 29, 2015, 11:40:28 pm »
Thank you for all of the nice comments, guys!

Is the source code available on github as with some of the other SFML books?
I will make it publicly available soon, just as I make sure the publisher has no problems with me doing so. Until then, the source code can always be downloaded from their website: https://www.packtpub.com/books/content/support/21835

As the book is on sale I just grabbed a copy and gone through the TOC. Looks very interesting, some things seem familiar from previous books, but some things look very interesting. Thanks for the work, I look forward to read and test it ;)
Thanks for your support! I really hope you enjoy it. :)

99
General discussions / SFML Game Development by Example - 4th SFML book
« on: December 29, 2015, 10:06:08 pm »
Good day, fellow SFML developers!

I'm extremely happy to announce that the fourth book in the SFML series has just been published! It's called "SFML Game Development by Example" and can be found here:

https://www.packtpub.com/game-development/sfml-game-development-example


I have put a lot of work and effort into this project, and I really hope that those of you who decide to purchase it will enjoy it. Since this is a "by example" publication, I've tried to explore some additional aspects of game development and programming, such as game programming patterns, implementing a flexible G.U.I. system, utilizing the entity component system paradigm, and much more. This is also the first SFML book to tackle the topic of networking, as the final project is a small RPG-style multiplayer game, where players can duke it out by using very basic combat. It looks a little something like this:


I think I have managed to produce a fairly smooth learning experience throughout the book, by addressing most of the issues a beginner game developer might face in a carefully compartmentalized manner. The book will guide you through three projects in total. The first one is a snake remake. Why snake? Well, it's simple and awesome. :) The second project is a side-scrolling platformer, which you can see on the cover of the book. It introduces a lot of common concepts of game development to the reader and serves as an intermediary project, which leads them nicely into the last project. Sound and music management, G.U.I. and ECS are all implemented here, along with the grand finale of networking, which spans the last two chapters.

With that said, I hope you enjoy the book if you do decide to purchase it. I'd like to express the deepest thanks to Laurent, without whom I wouldn't have had this opportunity. Also, feel free to contact me if you have any issues or questions. You can leave a message here or contact me via e-mail at: order.nexus.dev@gmail.com

Have a nice day!

Pages: 1 ... 5 6 [7]
anything