Tumgik
fireboltgames-blog · 9 years
Text
Progress Update
I’ve been doing a poor job of updating this as I go. I got a little distracted trying to think of what project I was going to do for February and when I finally figured it out I totally forgot to write about it. I’ll probably do a proper post when it’s finished but I can talk a little about what I’ve learned so far and how things are going.
First of all, it’s a terminal you can use in VR... which is probably the coolest sentence I’ve ever written. Essentially when I discovered VR I really wanted to use a terminal inside of it. Imagine, as big as you want it! Also being isolated inside of vr could reduce visual distractions while working (something I suffer from, peripheral vision be damned).
So progress has been great, and much like DANKTRiS I vastly underestimated how difficult this would be. There’s a lot that goes into terminals, like bash escape sequences for instance. Those have been interesting and tricky to parse but I’m starting to get the hang of it (the code is not pretty what-so-ever though).
I lucked out because there is an existing SSH library written in .NET called SSH.NET. You have to use the .NET 3.5 version (that’s all Unity supports). There’s also a really specific regex the library uses that requires you to dump the whole .NET framework into the runtime as opposed to a subset which makes booting on an Android device much slower.
The terminal itself is composed of a slim 3d rectangle and a text object. The text object was another interesting problem. Using standard text objects in unity won’t work because they start to look weird as you change your perspective. To remedy this you have to use something called Signed Distance Field Rendering which translates to svg like text objects that will adjust based on the camera position. Smoother text can totally be achieved this way! I was able to use the great and open source library Typogenic to accomplish this.
Finally, tonight I implemented scrolling which is super hacky and I’m not proud of it, but it works. Here’s a sneak peak of the progress I’ve made so far, let me know what you think.
youtube
0 notes
fireboltgames-blog · 9 years
Text
1 month down, 11 to go.
Last month I released DANKTRiS and I was super thrilled. I made a resolution this year to ship something every month and while I cut it very close I managed to arrive at the end of January with a game. One of the rules for shipping something every month is it must be downloadable and available for use to the public.
This month I’m hoping to release something on a store of some kind. Whether it’s one of the app stores or another software marketplace doesn’t matter but I would like whatever I make available in a main stream software channel. 
What’s next?
Well I’d like to focus on an area that originally piqued my curiosity with Unity, VR. VR is an amazing and interesting space. The implications of transporting users into a virtual space with almost all of their senses available are enormous. One area of interest to me is building a workspace environment. I write a lot of code and so I’m going to start pouring energy into building something that I would enjoy using to write code. The first piece of that is of course the ubiquitous and irreplaceable terminal emulator.
I’d like the terminal to be as full functioning as possible so I’ve decided to require it to reside on a *NIX machine of some kind. Connecting to that machine is important and an obvious route seems like SSH. I’ve successfully got SSH working right now thanks to SSH.NET (you have to use the 3.5 framework version). The next step is rendering the actions of the computer you are talking with in a realistic way. 
This is where things get tough.
VT100 and ANSI escape sequences allow terminals to do a wide array of things such as coloring text, moving the cursor, or even clearing the screen. Making a realistic terminal will require being able to parse and interpret these sequences. That’s where I’m at and I have to admit, I’m a little daunted at the task. But anything worth doing is never easy so it’s time to dig in and start pushing that invisible boundary what I can do farther and farther.
0 notes
fireboltgames-blog · 9 years
Text
DANKTRiS [release]
youtube
Whelp, I did it! I made my first game. It’s not amazing or very polished but it works and it’s playable. I ran into 2 massive hurdles. The first was I had to completely rewire how I was doing composite pieces. Each block needs to be able to disappear so each piece is actually composed of multiple pieces, giving their appendages autonomy.
The other stumbling block was a massive bug with how I was clearing rows. I almost gave up but jumped into the debugger and was able to find it. Turned out to be a simple fix! 
Download links are:
Mac Windows Linux
I used Unity and I have no idea if the Windows or Linux executables work. Ping me on twitter at @taterbase if you’re having trouble. 
Or even just to show me your highscore ;) Have fun!
0 notes
fireboltgames-blog · 9 years
Text
Danktris 2016-01-31 11:50
Discovered something interesting with the Unity editor. You can defined a public List/Array of Colors and it will give you a gui tool to assign them with a fancy color picker. Pretty nice.
Tumblr media Tumblr media
Unfortunately they come in with an alpha value of 0. Took a second to figure out but as you’re pulling colors out just make sure you are setting the alpha value to 1 so they appear :).
0 notes
fireboltgames-blog · 9 years
Text
First Global Game Jam (Entry 1)
youtube
I decided to participate in this year’s global game jam (http://globalgamejam.org/) which I’ll also be using as my submission for the game a month jam. I’m as green as it gets for game development so what I’m making won’t be incredible but it’s been a lot of fun for me. I’m making a tetris-like that has aspirations for some fun multiplayer aspects but my progress is slow and I’ll be lucky if I can make something that’s even fun to play alone. We’ll see how it goes :).
I started this dev journal late and was just taking notes in a google keep file so I’ll just transcribe that to start things off. 
Danktris 2016-30-01 14:40
I've been really needing to start a game dev diary and I guess there's no time like the present. I've been working on a tetris like game for about a week in earnest now. It's amazing how much you realize you don't know when you go from following tutorials to actually building something. I think I've changed how collision works 3 times now. The most recent revelation is my blocks don't actually need rigidbodies. Previously I was using triggers (which require at least one of the objects to have a rigidbody) to detect when I landed on the floor, but then I realized I needed to detect walls to the left and right of the blocks. A simple trigger isn't going to help. Using tags on the walls could work but it would be weird to have a left_wall tag and a right_wall tag. I decided to go back and look at the rogue-like tutorial unity3d has (http://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial) and saw that they were actually using raycasting before moving. Of course! I should look where I'm going before I go. So now I'm converting the collision detection over to linecasting instead of triggers. I keep sitting down hoping to make progress but I often find I have to rework existing stuff quite a bit. 
Danktris 2016-01-30 19:47
So I've got blocks working mostly (although they're still square). I moved on to making them clear a row when they are lined up and discovered something interesting. I assumed when you called Destroy on an object in Unity it was removed immediately. However, it is delayed (but within the same frame). This was causing some weirdness and blocks above weren't shifting down because they thought the block below them was still there. So weird! Apparently there is a function called DestroyImmediate that you can use but it has a bunch of warnings about not actually doing that ha. So I guess I should think of something more clever to move pieces off of the board...
0 notes