About this blog
Corman spends most of his time with his head buried in code or in a pillow.
Entries in this blog
Well I seem to find myself slipping on posting anything or keeping up with the whole social thing time and time again. Things change, friends come and go, and personal interests seem to wax an wane. Right now I do not know how active I will stay here but I will continue to support the community and gamedev.net itself. I am looking at giving this whole social thing another go but I do not know to what degree and where and if I will still keep an up to date blog. All I know is my day job keeps me busy and my hobby focus have seemed to lean more towards the art aspect of life, still with a technical focus, than the raw code I have been so used to doing. So this is not really a goodbye but more so a quick drive-by update as there are changes brewing and I will still pop in here from time to time.
My article submission has been selected for the next Game Programming Gems 8... AGAIN*!
* Yeah, yeah, I know you heard this all before and I bet you find yourself asking "Didn't this happen before? Where is his last announced article for that Game Programming Gems 7?". Well to make a long story short it wasn't just 7 I was going to be in but 6 as well. With 6 I had to pull my work because of a potential conflict with a client at that time and was just safer to drop it than get into any legal battles. Now 7 was harder to deal with for the pure fact I had to withdraw my paper because my father was just then hit with cancer. I would have liked to said I could of handled all the pressure and kept on working but I am only human. There was a lot of rough times ahead but I dropped just about everything to be with my father as much as possible. No amount of professional glory would be worth the time left that I spent with him through all his trials. I could stake my life on the fact that I became closer to him in that short span than I ever have over all my years and it saddens me that it took me even that long. Even though it has been many months since he passed away early in this year I still can't help but cry as I write this. For the man that helped make me who I am... this book is for you dad.
What exactly is "red matter" in the Star Trek movie?
I believe this might be some miss guided, artistic license, play on quantum chromodynamics and the strong force. There is what is known as color charge that is formulated to explain quark confinement and the residual of this why protons/neutrons can bind together to form larger groupings. The reason why it is called "color charge" is because it has three aspects so the primary colors red, green, and blue were chosen even though it has nothing to do with color. Gluons (what "glues" it all together) only come in "color" pairs of a color/anticolor. So this "Red Matter" can't be a Gluon but it can still leave the possibility of it being an exotic form of Quark matter. When Quarks combine to form say a Proton (two Up Quarks and a Down Quark) the Proton is "color" neutral since each Quark is a different color. But these Quarks are constantly changing color by exchanging Gluons. The possibility is that this "Red Matter" is some large mass of singularly "colored" Quarks of the Red charge. Of course this is by name only and by some miss guided, artistic license, running off a bit too far and made it ACTUALLY red. Being all the same color charge they would want to repel very strongly and explode. But even then they would start to exchange Gluons and change colors and color confinement would kick in. Because of this and the explosion in progress it becomes more energetically favorable for a new quark/anti-quark pair to spontaneously appear out of the vacuum. One would now have possibly a runaway chain reaction of mass/energy in a relatively small region warping space and time into a black hole. But of course this is just idle speculation on a movie plot device that wasn't talked about more than its color and that it makes black holes.
I probably should have posted this some time ago but that whole trying out a second job ended out being a bust. The exact reasons I was given for them letting me go was that they just didn't see it working out and no amount of me questioning would my boss expand on that. It came rather much as a shock to me because my reviews up to then were rather good and encouraging. I was not the only one surprised as it seemed no one else knew of me being let go until I was packing up my things to leave. I guess with such a small company they have to be more picky and make sure their pegs fit more snuggly into their respective holes when you have little wiggle room to work with having such a small staff. In the end I guess this was to be expected since I was hired through a head hunter and was on a trial basis to begin with them having to pay the finders fee if they decided to keep me. I guess it wasn't all that blinding since just before this happened another worker who I became reasonable friends with was let go as well just before his trial period was up as well. I can't really pin point who was more at fault here in this whole scenario but I do know I will make a learning experience out of this and keep on moving forward working that much harder.
My article submission has been selected to be included in the upcoming Game Programming Gems 7!
Me and my associates submissions are in so wish us luck!
I like to dedicate this journal entry to a very special occasion. Last night on Christmas Eve my younger brother proposed to his wonderful girlfriend. I am usually a person of many words but nothing right now can truely express my over joyous feelings for them. I love both of them very much giving a big congratulations and a wish for all the best of luck. I have never seen my brother so happy in all his life and I am sure his fiance feels the same way too. I personally believe they are really the most perfect match for each other. I just hope I can be as fortunate and lucky as them some day. Congratulations!
I was originally going to talk about my possible future book article but the above news was just too important. Not wanting to steal all the steam away from them I will save that for my next entry. Even with that said I would still like to share a little on how my holidays have been.
For many years now I have always donated myself every Christmas season for a good cause. Again this year I spent my time as Santa Claus for the local children with disabilities. This would be at least my 8th year bringing joy and happiness to these wondeful kids. Like I always do I have have included a picture of me all dressed up below. Sadly enough I am unable to post a picture of me with any of the cute little ones but hopefully this one will still give you a good idea. Merry Christmas everyone!
Me as Santa Corman:
"Extra ball! Extra ball has been lit." is sadly what popped into my mind right after I wrote that topic for this very journal post. I guess I just played way to much of The Who's Tommy pinball in the past for that tune to still be stuck in my head. But now that I have got myself sidetracked a bit I am going to share some of my miscellaneous musings here before getting back to the point of this post that I had in the first place. Being a programmer myself I am quite used to the typical low quality "programmer art" we commonly do but I still love to draw anyways. So recently with my projects' compile times becoming longer and longer I am finding myself filling this usually wasted time sketching and doing art more and more. Below are just a few samples of what I have done lately while waiting for the usual ding from my speakers telling me that a build is done. I hope you like them but I really should get back on track here since we all know you are only here for my talks on development stuff anyway. Well it is about that time again to start thinking about my next book article submission. For those who have read my works listed in the header above I would like to get some feed back and ideas of what you thought so far. This is going to help me improve the quality of my writting style as well as give me some ideas on what to cover next. All ideas and suggestions are welcome currently even if I already have a good idea of what I want to talk about. Even if you have not read my articles I am sure you can get an idea what they are about so feel free to post your comments. This will be an on going process that may span several journal entries. I want to know your thoughts and please keep them coming.
A picture of some anonymous girl:
A drooling monster from my dreams:
Well me and ApochPiQ have been talking back and forth about his homebrew console and it has gotten my juices flowing again. About 4 years ago I was working on my own console as well and I have decided to take all my previous work and research and pick it up again during the spare time I do have. I have also offered him help were I can thinking that it may hopefully spawn some friendly competition that will keep the both of us pushing forward. With me in the hardware developer mood again I started drawing up some plans for a custom enclosure for my current components. I was doing this while I was at the local coffee shop when people started asking if I was some sort of artist and if I would draw them something. So I quickly gave a shot at drawing a character of Cory who is one of the workers there. It turned out pretty good for just a few minutes of scribbling so I decided when I got home to do an inked version of it which I have included a copy of below. I ended up doing the final version on a transparency and framing it. So the other night I gave it to him as a gift and he really linked it. Actually every one there liked it and is now on my case about doing a character of everyone who works there. Damn you ApochPiQ, it is all your fault!
Cory as a cartoon:
It has been quite a while since the last time I made an update so I guess I have some catching up to do. Last I left off I was having back problems and going through physical therapy. Since then I have finished all of my treatments and my back is doing verry well now. I have included a picture below of the traction machine I was put on daily to help increase the spacing of my vertebrae to stop the nerve pinching and pains. Shortly after going through all that I started getting really sick and I was not getting any better. After many tests it was discovered that I have become diabetic. This came as a no real surprise since diabetes runs very strong in my extended family. The good new is that I do not need to take insulin and can control this by diet alone at this point. What I really like about this is that in the past 2 months alone by cutting out the carbs I have lost nearly 30 pounds. But just when I thought I was done with any possible problems I started having serious pains in my left leg. Over a short period of days I had a vein about the size of my pinky finger sticking out of my leg running its whole length. I had developed a very bad varicose vein. So after seeing a specialist and having many ultrasounds it was decided that I needed surgery. So last Tuesday I underwent a procedure called endovenous laser ablation. Besides being sore and having the typical after pains of surgery I am doing well now. Hopefully this will be that last of my medical issues for a long time. On the lighter side of things work is going well and I will be flying out to Denver tomorrow on business. I have also included below a picture someone made for me based on the last photograph of myself that I had posted. It feels good to be back on GDNet again.
The DRS traction machine:
My very own stamp:
I am sorry to let everyone know that I was rushed to the Emergency Room late last Sunday when my back gave out and I fell to the ground with major pain. Between the pain and drugs I am having a hard time understanding what is going on. Because of this I am currently staying with some family as they help me move around as well as take care of my apointments and medications for me. I just got back from the specialist and I am going to have to go back to hospital again to get an MRI to see what is going on. From what I can gather they believe I may have a herniated disk in my spine. I will post again when I know more and when the pain killers do not cloud my mind so much.
Many people have started to contact me with much concern for my health and wellbeing since I have not written in my journal for some time now. I would like to thank these people for carring enough to check in on me and let everyone else know that I am very much alive and doing well. The short explanation for my long absence is that I have been very busy and have had my hands full with all of the contract work that I do. It is also hard for me to write at times because I have so much going on in my head that it is hard to find the words to explain it all without taking long hours or even days to bring someone up to speed on my thoughts. I believe that it is this, besides my business obligations, that prevents me most from writing and documenting things more. My way of thinking seems to be a neverending run-on thought that shows up when I do write. Now that I have personally identified some of my own shortcomings I will try to work on writing more and formatting it better. Besides the previously mentioned health inquires I have recieved many requests for more information on planet construction. Hopefully the two are not related.
For the astute among you that read my journal the above picture will give you a clue on what I will be talking about in this entry. The main focus will be on rendering geometry and becuase the scale of a planet sized terrain is so huge only a level of detail algorithm can be used. The big problem is that there are many wrong LOD systems for this job. Most systems stick with the old slice and stack spheres and just map a grid of height values on them using polar coordinates. These sort of solutions lead to problems because of overly dense triangulations, distortions, and singularities at the the poles. Other methods hide or get around most of these issues but are usualy difficult or inefficient with texturing. This leads me to the LOD model that I use, pictured above, and is a Gnomonic map projection on a expanded spherical cube. This expanded cubic grid is basically a quadtree on each face and should not really need much further explanation. This setup is well suited for cube mapping, has a more regular and greatly simplified structure, and is faster in generation and visualization. This LOD has a 1:1 mapping for almost all of the system but has a maximum distortion of about 1:1.73 near the face edges. Even with this slight distortion I believe the overall benefits of this system outweighs most of the problems inherent with other LOD approaches. A similar approach that would lessen this distortion, a conformal expanded spherical cube, does have a more quasi-uniform grid structure but does not scale as well this Gnomonic expansion does.
Earth as an example:
Click for larger image
A long time ago I thought I would never need or want to register my birth name as a domain but that thought has slowly changed over the years as I make a name of myself. Even when I ran the idea through my head time to time I always said to myself that I could always register it later. It is my name after all and like who else would have a use for it. Then came the long era of the cybersquatters. My name, Shea Street, can not only just be a name but also a location or whatever. The feeling of someone else out there owning my name just made me feel sick and used. But I been patient and I have finally snatched back my name. I have many plans for my domains but for now they will all point here. So now you can reach my journal by www.SheaStreet.com, www.SheaStreet.net, and www.SheaStreet.org.
It has been some time now since my last journal post and I really should keep this habit going otherwise it will just get lost in the clutter of my mind like so many other things. Now that you all can see that I am still very much alive I should tell you what I have been up to. For the lack of a better saying I have been stuck in the tool shed. I have working on so many things for a long time that I really had to get down to fixing and updating our tools. For like the past two months there have been some very obvious bugs in the tools that we have just been working around but it finally got to the point where these bugs were preventing any real work from being done. So I been cracking the old whip on myself and burning the midnight oil to hammer out these problems and sharpen up all the tools again. There is really nothing much more to report on this other than I have been very physically and mentally exaushted lately. On another note I am thinking of getting back into robotics once I feel like I have enough freely available funds to do so comfortably.
I am usually not an attention whore but this view count only happens once and I wanted to celebrate with everyone here who made these numbers possible.
Most of my programs always start out with a console in one form or another to monitor data and to edit and update variables while the program is running and is usually in some sort of shell window or the program itself. This is all fine and good but I felt that it was very limiting to me. I could of just left things internal to the programs and do my own gui to edit things and such but this can be such a development and maintenance nightmare just for tweaking and debugging. Move over consoles since I would like to introduce panels. My idea comes right from the realm of cPanel and Plesk for website maintenance. I now included a small library into my projects that puts a small HTTP server in my programs that now gives me a nice web interface for all my data, options, and commands. It is simple and secure but gives me so much more than my old consoles could ever do. Not only is is good locally but since all of my clients are remote I can now edit, tweak, monitor, and debug a program live while on the phone with them as well as making reports that much easier. Right now for everything it sits at around only about 80k of memory usage total. Here is a link to a dump of my Debug Control Panel as it would look if you connected to a program. Options and files have been renamed or removed to protect the innocent. Feel free to ask any questions you many have.
Well friday the 13th has come and gone and I have survived quite well. This day out of all dates is one I would have not chosen to schedule a demo presentation and investor meeting on but one of my side contractors did just that. I have to admit my personal stress level was a little high then but it is slowly coming back down and it will soon be well within the normal acceptable range. So with all of the current events I have decided to take a little rest and relaxtion from hardcore research and development and vegetate a bit on vegetation. Thus far the planets have been relatively bare of detail objects on the close ground level and because we need this detail anyway I chose to work on this to keep productive while I take a break from the other brain draining chaotic systems. The current plans have this detail vegetation system to go from weeds, flowers, and other small ground coverage to full trees and forests taking full advantage of the already available climate data. The only real question I have for myself is whether or not I should go the extra step and take soil types into consideration.
It has always amazed me at how much effort it really takes to get started again at the start of a new year when nothing truely has changed other than the rolling over of the date. So here I am full steam again with my contracted work and all that fun research and development here at Tantrum Games that everyone here has come to love. The close up terrain detailing system is in the process of getting a makeover making the finer details of Protomajor even that more interesting. Usually at this detail level some sort of noise is just added to the heightmap and textures are then blended based on different weighting rules but we are taking the step towards the use of prototextures. With this technique the textures control the fine details versus the previous other way around. Prototextures are still like regular detail textures but with added embedded microgeometry. This system still uses weights but the microgeometry determines how the textures are blended plus the added detail to the final terrain shape. I hope to make screenshots availabe here later. On another note I have always been interested in old world astronomy and nautical equiment such as astrolabes, sextants, telescopes, and globes and I have been on the search for some time for a "globe" that is a Gnomonic projection on a cube. If someone finds one or can point me to were I can acquire a finely crafted one a reward may become available.
Several people have made their interest known that they wanted to know more information on how my planet creator generates its ecological data. The math and equations behind all of this is very indepth and I am unable to share them at this time but I will go over some simplified ideas to help figure the general rules. The focus here will be on the calculation of the different biomes that are the major regional biological communities, such as a desert or forest, defined mostly by their dominant forms of plant life and prevailing climates. These climates consist of their temperature, precipitation, and wind conditions but for our goals we only need the temperature and precipitation. Using these two pieces of information and the simplified chart below you can predict what biome a region may have but first we need figure out this information. Temperature is very closely tied with latitude and altitude and a general rule of thumb is that temperature drops 3 degrees Fahrenheit for every 1,000 feet rise in altitude from sea level. This temperature change is what allows different biomes to be in the same region because every 1,000 foot rise you will have a similar biome that you would find for every 600 miles traveled towards a pole from the equator. Precipitation is the wetness of an area and finding it out is a little more complicated involing temperature, altitude, geological boundaries, and convection zones. Since I cannot cover this now a simple gradient can be used. This gradient starts at the equator with maximum precipitation and moves towards the poles decreasing with distance and altitude like our previous temperature map. Now you can find out the biomes with your temperature, precipitation, and the chart below. Hopefully someone will find this information useful and if so drop me a line. Have a happy and safe new year.
Simplified Biome Chart: