Status Update #1
10 years ago
Thanks to an inspiring note, I've decided to start updating here again, especially since its probably not very clear what I've been doing. Be forewarned, this journal is probably going to ramble a bit, but I'll be sure to leave a tl;dr at the bottom.
It should be said that the journey to Heavy Dust, the game that I ultimately failed to deliver, was a long one. While I had toyed with the idea of a WG-based game well before I knew how to program properly (was using Gamemaker and such), the idea for a large scale, serious game started with a homework assignment. The assignment was to make a text-based game centered around a bear getting enough food for hibernation. I recall taking that assignment and extending it into something a little more interesting, and then thinking about how far I could take it. That evolved into various other projects, the skeletons of which can be found scattered on the internet.
Then my first serious push, the WGRPG. It was a "game" made hastily, with half-hearted attempts to make it extendable for future updates. It was not my finest work, but I'm glad I posted it (after all, it did lead me to meet my wonderful boyfriend). I doubt I really need to explain much about its external appearance and functionality, but the code itself was an absolute mess (as some people that decompiled the code can attest to). I don't apologize for the shoddy codework, I was still learning (still am), but I will apologize for the path that that set me on. People might recall the journals of me complaining that I had to abandon the WGRPG because it was ultimately unstable, certainly way too unstable to use as a base. That caused me to become obsessed with "doing it right" the next time. Thus, the idea of Heavy Dust was born.
HD was going to be done by the books, using all of my knowledge of software engineering. It was going to be well documented, based off of use cases, UML class diagrams, the whole shebang. I was very focused on doing it from a topdown perspective, meaning that I often had to look at the project, which was immense, as a whole. This led me to become incredibly depressed (my other, much more serious depression at the time not withstanding) and nervous to make any decisions about the project because, what if I was wrong? What if I made a mistake about some key design element that would propagate all throughout the project? I had to consider every possible outcome, every possible use case, everything that might occur. Worse yet, any code I did get to work on was so abstract and removed from the core functionality that weeks worth of work would seem pointless. I had nothing to show for it.
There were at least 3 distinct attempts at this, at least in regards to HD. The first two were just direct attempts at creating something halfway resembling what I had promised, but I would always get mired in the fear/depression spiral I described above. The last one, I attempted to create a library just removed from everything else, a library not just for HD but for everything, something I called "Future Proof." Future Proof was supposed to save me from the fear that I could mess up at the top level design by adopting a purely modular approach, which every aspect of the library could be replaced with relative ease. However, Future Proof still failed because I was still attempting a top down design, still doing the UML diagrams, still trying to plan out every little aspect. When I realized this, I made the call, that I was finished trying to work on HD, and that I was going to work on an app based on Dragon Ranching.
The Dragon Rancher app was mostly because I was working on an Android app for my legitimate work, but also because I thought it could be successful. I actually had every aspect of the app detailed out, and was in the process of doing my usual design, when I started feeling the same feelings I had with HD and everything else. It was at this point that I had to ask myself "I program professionally. That's how I pay the bills. I design and implement software solutions for clients with no trouble what so ever. So why can I not do the same for my own projects?" Then it hit me. At work, I take a problem and apply a dirty version of the Agile process, which can be summed up as "produce a demo-able result as quickly as possible." Its very much a bottom-up design, and while it can lead to deleting a lot of code, you always have something to show, something to be proud of. I'm extremely successful at my job because of it, though, for some reason, it had never occurred to me to do things like that for my own projects.
At that point, I quietly stopped working on everything else, and started working on something I've been calling the Arrautza Engine. For anyone familiar with the Basque language (which is an awesome language, by the way), it should mean 'Egg,' assuming Google isn't lying to me. The idea with it is that I will "grow" it from the bottom up to a legitimate engine I can use to test and create my game ideas, and thus far it has been going great.
Arrautza is still written in Java (though it could easily be written with C++), but it utilizes LWJGL (Light-Weight Java Game Library) for rendering and other purposes, meaning I have access to OpenGL for rendering purposes. I've already created a layout manager for managing GUIs written with the engine, implemented text rendering, and an event (such as keyboard and mouse events) listening framework. This all means that I can now create new interfaces with absolute ease and control, which in turn means that I can prototype/implement pretty much any game interface I want. While it isn't much to look at, you can see the images in the following links:
Layout Manager Demo:
https://pbs.twimg.com/media/CUIlfet.....R5cR.png:large
Text Rendering Demo:
https://pbs.twimg.com/media/CUc-uKT.....FeTE.png:large
I also got the soft body simulation working in Arrautza. The following link shows it working in the first version of HD, though it works the same in the new engine:
https://pbs.twimg.com/tweet_video/C.....vLUsAAChT-.mp4
I'm now working on the comprehensive design for the side profile system that will utilize the soft body simulation to allow users to see their character in a dynamic and interactive screen that updates as the character eats or gains/loses weight. People might remember me promising this in HD a long time ago, and we can all agree that the design then was...complicated, to say the least. The new design, while still nebulous, is vastly simplified. A diagram of the higher level design elements can be seen at the following link:
https://pbs.twimg.com/media/CVV4Edh.....iHac.png:large
Now, you might be wondering, where am I going with all of this? Arrautza will be made with one game in mind, which is basically going to be a series of tech demos of all of the ideas I want to incorporate. It will be an actual game (not like the non-game that the WGRPG was), and the "tech demos" will be fully fleshed out, but it will ultimately be a series of tests on the viability of all of those ideas. The game and the world it creates will grow with each successive update, piece by piece, bottom up. I will utilize the lessons learned from my previously failed attempts, utilize the programming style I've been cultivating with things like "Future Proof." I will utilize the vast canon I've been compiling for things like HD and other projects. I will not let any of that go to waste.
Most importantly, the game I will make will have fat things in it, fat things getting fatter. And it will be awesome. I've never felt better about working on a project than this one. I'm excited instead of scared to add new features, because I get to see the results instantly. Which means you all will get to see results as they happen. Which means you all will get more updates and actual products, actual games.
Arrautza will hatch.
So yeah, the long and short of it is, I realized why my other projects failed, stopped doing the things that caused me to fail, and am blazing through with the new project of mine, the Arrautza Engine, which I intend to use to create an experimental game that showcases many a fat thing.
Sorry if this journal was hard to follow, I will probably post more journals (depending on if anyone is even interested in what I have to say at this point), and of course will answer any questions.
Thanks for believing in me, those that do.
It should be said that the journey to Heavy Dust, the game that I ultimately failed to deliver, was a long one. While I had toyed with the idea of a WG-based game well before I knew how to program properly (was using Gamemaker and such), the idea for a large scale, serious game started with a homework assignment. The assignment was to make a text-based game centered around a bear getting enough food for hibernation. I recall taking that assignment and extending it into something a little more interesting, and then thinking about how far I could take it. That evolved into various other projects, the skeletons of which can be found scattered on the internet.
Then my first serious push, the WGRPG. It was a "game" made hastily, with half-hearted attempts to make it extendable for future updates. It was not my finest work, but I'm glad I posted it (after all, it did lead me to meet my wonderful boyfriend). I doubt I really need to explain much about its external appearance and functionality, but the code itself was an absolute mess (as some people that decompiled the code can attest to). I don't apologize for the shoddy codework, I was still learning (still am), but I will apologize for the path that that set me on. People might recall the journals of me complaining that I had to abandon the WGRPG because it was ultimately unstable, certainly way too unstable to use as a base. That caused me to become obsessed with "doing it right" the next time. Thus, the idea of Heavy Dust was born.
HD was going to be done by the books, using all of my knowledge of software engineering. It was going to be well documented, based off of use cases, UML class diagrams, the whole shebang. I was very focused on doing it from a topdown perspective, meaning that I often had to look at the project, which was immense, as a whole. This led me to become incredibly depressed (my other, much more serious depression at the time not withstanding) and nervous to make any decisions about the project because, what if I was wrong? What if I made a mistake about some key design element that would propagate all throughout the project? I had to consider every possible outcome, every possible use case, everything that might occur. Worse yet, any code I did get to work on was so abstract and removed from the core functionality that weeks worth of work would seem pointless. I had nothing to show for it.
There were at least 3 distinct attempts at this, at least in regards to HD. The first two were just direct attempts at creating something halfway resembling what I had promised, but I would always get mired in the fear/depression spiral I described above. The last one, I attempted to create a library just removed from everything else, a library not just for HD but for everything, something I called "Future Proof." Future Proof was supposed to save me from the fear that I could mess up at the top level design by adopting a purely modular approach, which every aspect of the library could be replaced with relative ease. However, Future Proof still failed because I was still attempting a top down design, still doing the UML diagrams, still trying to plan out every little aspect. When I realized this, I made the call, that I was finished trying to work on HD, and that I was going to work on an app based on Dragon Ranching.
The Dragon Rancher app was mostly because I was working on an Android app for my legitimate work, but also because I thought it could be successful. I actually had every aspect of the app detailed out, and was in the process of doing my usual design, when I started feeling the same feelings I had with HD and everything else. It was at this point that I had to ask myself "I program professionally. That's how I pay the bills. I design and implement software solutions for clients with no trouble what so ever. So why can I not do the same for my own projects?" Then it hit me. At work, I take a problem and apply a dirty version of the Agile process, which can be summed up as "produce a demo-able result as quickly as possible." Its very much a bottom-up design, and while it can lead to deleting a lot of code, you always have something to show, something to be proud of. I'm extremely successful at my job because of it, though, for some reason, it had never occurred to me to do things like that for my own projects.
At that point, I quietly stopped working on everything else, and started working on something I've been calling the Arrautza Engine. For anyone familiar with the Basque language (which is an awesome language, by the way), it should mean 'Egg,' assuming Google isn't lying to me. The idea with it is that I will "grow" it from the bottom up to a legitimate engine I can use to test and create my game ideas, and thus far it has been going great.
Arrautza is still written in Java (though it could easily be written with C++), but it utilizes LWJGL (Light-Weight Java Game Library) for rendering and other purposes, meaning I have access to OpenGL for rendering purposes. I've already created a layout manager for managing GUIs written with the engine, implemented text rendering, and an event (such as keyboard and mouse events) listening framework. This all means that I can now create new interfaces with absolute ease and control, which in turn means that I can prototype/implement pretty much any game interface I want. While it isn't much to look at, you can see the images in the following links:
Layout Manager Demo:
https://pbs.twimg.com/media/CUIlfet.....R5cR.png:large
Text Rendering Demo:
https://pbs.twimg.com/media/CUc-uKT.....FeTE.png:large
I also got the soft body simulation working in Arrautza. The following link shows it working in the first version of HD, though it works the same in the new engine:
https://pbs.twimg.com/tweet_video/C.....vLUsAAChT-.mp4
I'm now working on the comprehensive design for the side profile system that will utilize the soft body simulation to allow users to see their character in a dynamic and interactive screen that updates as the character eats or gains/loses weight. People might remember me promising this in HD a long time ago, and we can all agree that the design then was...complicated, to say the least. The new design, while still nebulous, is vastly simplified. A diagram of the higher level design elements can be seen at the following link:
https://pbs.twimg.com/media/CVV4Edh.....iHac.png:large
Now, you might be wondering, where am I going with all of this? Arrautza will be made with one game in mind, which is basically going to be a series of tech demos of all of the ideas I want to incorporate. It will be an actual game (not like the non-game that the WGRPG was), and the "tech demos" will be fully fleshed out, but it will ultimately be a series of tests on the viability of all of those ideas. The game and the world it creates will grow with each successive update, piece by piece, bottom up. I will utilize the lessons learned from my previously failed attempts, utilize the programming style I've been cultivating with things like "Future Proof." I will utilize the vast canon I've been compiling for things like HD and other projects. I will not let any of that go to waste.
Most importantly, the game I will make will have fat things in it, fat things getting fatter. And it will be awesome. I've never felt better about working on a project than this one. I'm excited instead of scared to add new features, because I get to see the results instantly. Which means you all will get to see results as they happen. Which means you all will get more updates and actual products, actual games.
Arrautza will hatch.
So yeah, the long and short of it is, I realized why my other projects failed, stopped doing the things that caused me to fail, and am blazing through with the new project of mine, the Arrautza Engine, which I intend to use to create an experimental game that showcases many a fat thing.
Sorry if this journal was hard to follow, I will probably post more journals (depending on if anyone is even interested in what I have to say at this point), and of course will answer any questions.
Thanks for believing in me, those that do.
FA+

Point to make, though, glad to hear of the update, the changes being made to make it all work in your favor again, and maybe - JUST MAYBE - I can actually take this inspiration of yours, and apply it to my ability to draw. I only say that because, much like your explanation of previous attempts at this project, tackling on everything at once, I too did the same with my artwork by skipping the rough draft, and trying to do the final product from the start, no base to shape things with, nothing.
Long story short, I quit most drawings I started on because something, somewhere, either didn't look right or didn't match up right with how I mentally pictured it - much like how, in previous attempts, you tried to do everything from the start, plenty of it complicated and complex stuff, trying to make the final product from the start. It hasn't worked for either of us, clearly, but we've both picked up on things through our errors of the past to apply to what we do today.
So, I wish you the best in whatever you do, Vil.
Maybe I'll get around to actually drawing sometime, and not try to make the final product from the start this time.
Cant wait to play your new game when its ready :)
Best of luck.