Twenty sixth step complete:
Saturday, May 30, 2015
Client Server Communication Protocol in Progress!
Using some new chat commands I have created, I have been able to establish a basic client server communication protocol so that packets are sent in the right order and ensured to be in the right order; otherwise, the client will disconnect.
Twenty sixth step complete:
Twenty sixth step complete:
Friday, May 29, 2015
Path Finding in the Works!
Another developer friend of mine, who I will refer to as Chakra, has been developing a path finding algorithm for usage in Fragile. He has been doing it in a simpler language, in order to develop the actual theory and logistics of the algorithm first, but he is making good progress and this may very well end up being used in the game!
Currently, the code reduces a polygon field to a graph and then traverses that graph in order to quickly calculate a unit's path, and it functions properly regardless of the size or shape of the unit and the obstacles that it is maneuvering around. It seems this will be very speed and memory efficient and may even be able to handle a much higher number of units than we needed, but further attempts may nonetheless be made to improve its speed and capabilities.
Here is a picture of the graph that his code generated in order for him to inspect its output. Twenty fifth step complete:
Currently, the code reduces a polygon field to a graph and then traverses that graph in order to quickly calculate a unit's path, and it functions properly regardless of the size or shape of the unit and the obstacles that it is maneuvering around. It seems this will be very speed and memory efficient and may even be able to handle a much higher number of units than we needed, but further attempts may nonetheless be made to improve its speed and capabilities.
Here is a picture of the graph that his code generated in order for him to inspect its output. Twenty fifth step complete:
I told him the yellow looks ugly, but he seems to like it. :)
Monday, May 25, 2015
Fully working alpha!!!
This is exciting news: I have been able to get alpha fully working, with, behind, in front of, and around opaque blocks! I used some sneaky tricks, but hey, it works!
I also added scaling capability to all blocks, which is just as simple to use as position and etc.
Lastly, I added 3 new "block" types: horizontal, vertical, and lateral (in the Z (forward/backward) direction) sheets (planes)! This will prove useful for things like floors, walls, and ceilings that don't need thickness, and these block types don't induce "jitter" no matter how they're stretched (unlike the other block types), which is nice.
Twenty fourth step complete (the higher blue, yellow, and purple blocks are transparent, the "world border" sheets are also transparent, and the rest of the blocks are fully opaque (4 X white, red, blue, and 2 X green)):
I also added scaling capability to all blocks, which is just as simple to use as position and etc.
Lastly, I added 3 new "block" types: horizontal, vertical, and lateral (in the Z (forward/backward) direction) sheets (planes)! This will prove useful for things like floors, walls, and ceilings that don't need thickness, and these block types don't induce "jitter" no matter how they're stretched (unlike the other block types), which is nice.
Twenty fourth step complete (the higher blue, yellow, and purple blocks are transparent, the "world border" sheets are also transparent, and the rest of the blocks are fully opaque (4 X white, red, blue, and 2 X green)):
Thursday, May 21, 2015
Added Chat Style Text Input and Game Icon!
The title says it all. Twenty third step complete:
I am extremely close to adding multiplayer functionality and game modes and testing it out.
I am extremely close to adding multiplayer functionality and game modes and testing it out.
Monday, May 18, 2015
Integrated Shatter (Direct2D) into Fragile (Direct3D)!
Shatter (Direct2D) is now integrated into Fragile (Direct3D)! For now, this means that text can be drawn on top of all of the blocks. This also means that in the future, a GUI (Graphical User Interface) can easily be drawn on top of everything as well.
Also, I added a screenshot taking feature with the Print Screen key that saves to a file name based on the date, time, and in-game time. Two things that are nice about it are:
Next step: add Durable (client/server networking) code to Fragile.
Also, I added a screenshot taking feature with the Print Screen key that saves to a file name based on the date, time, and in-game time. Two things that are nice about it are:
- it doesn't capture the window frame,
- but it does capture the entire D2D and D3D frame.
Next step: add Durable (client/server networking) code to Fragile.
Saturday, May 16, 2015
Complete text style parsing!
After a lot of work in a little time, I have created a full text style parser for Shatter, Fragile's GUI (Graphical User Interface)! See the images below for what it now supports.
Twenty first step complete:
Twenty first step complete:
Friday, May 15, 2015
Chat-like Text Display!
DirectWrite chat-like text display has now been coded! I am now introducing Shatter, Fragile's Graphical User Interface. Currently, it only supports uniform text, but that will soon change!
Twentieth step complete:
It needs some color; that will come soon...
Twentieth step complete:
It needs some color; that will come soon...
Thursday, May 14, 2015
Safe and Simple Packet Serialization and Unserialization Complete!
Another long delay since the last post, but there hasn't been much to show (certainly no eye candy). After much research, planning, and development, I have finally implemented my own safe and simple solution for packet serialization and unserialization. For the less technical, I just wrecked a major chunk out of Durable's (Fragile's server's) networking for multiplayer (client and server) capability.
Unfortunately, primarily for safety purposes, I won't be demonstrating its functionality, but it's fully working and extremely fast. Nineteenth step complete.
On the plus side, I did create a favicon icon (website icon) for the blog. :)
Unfortunately, primarily for safety purposes, I won't be demonstrating its functionality, but it's fully working and extremely fast. Nineteenth step complete.
On the plus side, I did create a favicon icon (website icon) for the blog. :)
Subscribe to:
Posts (Atom)