• entries
68
57
• views
42398

The ups and downs of a self taught programmer.

## In a time for math!

I have probably brought this up before. But I feel the need to share my updates on it. First a little background. I have been trying to get better at math, especially math that pertains to video games and 3D. I kept getting snagged and it was always at the beginning before anything really complex happened. Something was missing, I didn't have something I needed to grasp this. So I decided to backwards on Khan Academy. I started all the way back on his early math section.

I went through early math like a breeze. Got it to 100%. and got it in my head "maybe this is too far back". So I tried a more advanced subject again. Again I was stumped. Then I went through his arithmetic track to 100%. I knew most of it but I also found my major flaws in a lot of my fundamentals of math. HUGE gaps. So I was flying through arithmetic and gaining knowledge now. Then something crazy happened that I wasn't aware that his site would do. It stopped letting me do mastery challenges when I got more then a couple problems wrong. It made me practice. Which at the time I thought was dumb. But then I did I practiced since I had nothing to do for the rest of the day and I didn't want to jump forward again. I learned a lot of concepts about even multiplication and division I wasn't aware of. I learned how to deal with fractions properly. But I felt this was all superficial. I thought ya sure I "knew" this and was just not getting into it. Soon later I mastered this section.

I then started on Pre-Algebra (this was a subject I always loved in school). It was going well and I got to the part on exponents and radicals. Then I started getting scared so I watched a video on negative exponents(a video i had watch awhile ago and it was baffling to me). I watched it and boom it clicked I knew what was going on I could solve this. And I worked through it and it was going well. Same thing with square roots, cube roots, lcm, GCD. They all seem fairly trivial now. I kept wondering "Why does this seem so tirvial now?"

So I sat and thought about this. All that practice on the fundamentals I had done recently had really taught me what I was missing. My roof wasn't leaking, my foundation was cracked and the ground water was coming through. I am not saying I am a master but I am saying that I have a lot more confidence in myself now and I am glad I swallowed my pride and went backwards to even lower math then my kids were doing.

So my TL:DR is go don't be afraid of looking stupid for going back to your foundation skills and fundamentals. If your having problems be honest with yourself and go back as far as you need to it will only help you in the long run.

I am having a ton of fun now and am looking forward to geometry, algebra, trig, calc, linear algebra. And I owe it all to Khan Academy. The way he structures it really forces you to learn even if you feel like maybe it is just letting you blow past. When I was doing early math. I could master 6 subjects from not practiced in one mastery challenge. Now at pre-algebra I am only able to go from "needs practice" to "level one" in a single mastery challenge. It is forcing me to go back and learn and take time. and missing a mastery challenge question really means something if I can't burn through it while also having my challenge locked out. It really does make it feel like a game. I hope anyone who is struggling with math will check out Khan Academy

## A "finished" game!

So I finally finished a game on my own. It is a very simple concept of hang man modified to be more kid friendly. The game is called Word Game for now. The game starts off showing you a plane game with a couple UI buttons. And unfolds through a UI driven interface to play the game.

I really learned a lot on this project. Mostly on staying focused and having a plan. Before I even started i setup a very simple "Design document". Something I have only played around with in the past. I followed this document the best I could. The idea of having a plan really helped me to stay focused on the goal of completing a game. It also helped me know where or what I needed to go to next. It is a step I doubt I will skip again.

I gave myself 2 weeks to make this game. The first time I have EVER done that. I didn't meet my goal of 2 weeks. It did take me almost 2 months because of normal life issues and some slacking off. Thanks to not hitting my timeline though I learned a lot of lessons on time management. Also a few lessons on not getting discouraged.

I know this game is extremely simple but I had a lot of fun doing it and watching my kids laugh while playing it has been awesome!

I struggled with a few things.
UI - I had never really done UI before so I struggled with getting it working right at first. Also I still don't quite have the scaling down for multiple resolutions.
File I/O - Having a high score screen was a must for me. The topic of File I/O has always been sketchy for me(maybe because I don't do it enough). So it took some google but I got it to work but I feel I don't have a deep enough knowledge of the topic and I don't like that.
WWW/PHP requests - Even though I didn't learn any theory on how it works, especially the WWW stuff in C#. I was able to get it working to save/load the high score for the web player version of the game
Texture tiling - I have never really done much with graphics that was not super trivial and the concept is odd to me. So it took me quite awhile to figure out how to tile one image across 4 blocks without having to create separate texture files for each block. I didn't want to have 4x textures saved for every word in the game.

This project has re inspired me to brush up on my math and get to the level I need to be in order to understand the more in depth concepts that I am interested in. I am hoping that my next project won't be as trivial and that I can work towards a simple 2D RPG.

I have the code on github and would love if anyone with time on there hands would like to give me some pointers on the code. I don't have many programmer friends and so I don't get code reviewed often. I feel like it is a huge learning tool though to be able to get the input of someone with more knowledge then you. Here is the link to Word Game Github

You can try the game out on the WebGL version I have setup: Word Game WebPlayer
-WebGL is in a preview phase on Unity and has a lot of quirks. It may take a long time to load. It also will not work on IE.

I hope to have another game up soon. I plan to to post development journal entries now that I am more comfortable with what I can do.

Any and all feedback is encouraged!

## Moving forward

Well I had a opportunity to program a game server for a small start up. It was a simple prototype to prove that the concept could work. It was great working full time being home with my family. We got it done a couple week late but it was done. It WORKED and it worked good after a [...]

Source

## Did I just get played?

So I have been working on a server system for a couple of guys. I wrote a backend game server, a node.js/socket.io middleman client agent server. And then I wrote all the socket.io network message code in the browser to make life easier on the client/webpage guy. It took about 2 months and I worked my ass off. We did our first test and the server kept crashing, I fixed those problems. second test again (UGH!)... third test no crashes but they didn't like the flow. So the client guy and I reworked the flow and did one last test.. game worked perfectly and the guys backing the idea LOVED it.

They were all about the project. But I get a call today saying they want to redesign a lot of things and are going to put development on hold and that they will call me back when they are done with there design phase and they didn't see a need to renew a programmer's contract during this phase.

I have this odd feelign they are going to take my tech demo I made for them and go somewhere else with it. I know it was good experience and all but I was just looking forward to taking this to the next level with them. Oh well life moves on I guess.

## Pay attention to your math!

So this week I have been working on a JavaScript node.js server for a project I am working on. In our project we use socket.io to handle the connection to the web browser(So far best cross compadabilty) and then use a node.js tcp socket to talk to the back-end server. This server acts as a middle man message director between the two. Well I was working on some messaging and I could not get the node.js socket to send a second message for the life of me(or so I thought). I spent hours looking around the web and found nothing similar to my problem.

Eventually the next day on random chance I tried to copy paste my first message(that worked) to the code block I was trying to send my message at. It worked. so I looked, the ONLY diffrence was the len variable the first message used a variable that had a sizeof(message param) summed for all the parameters being sent for that message. The next one had the len hard-coded. So I did the same with second message. IT WORKED!. I had no idea why to me the two should have been identical. I thought it had to be something in the buffer.writeUInt() function provided by node.js.

Being happy I finally fixed my issues I called my wife in(no one else around to talk too about my code). And showed her the issue... my code was as follows.
[source lang="jscript"]message.writeUInt16LE(8, 0); //this was the bad code[/source]
[source lang="jscript"]var len = 2+4;message.writeUInt16LE(len, 0); // this code worked.... [/source]
And my wife replies. "In what world does 2+4 = 8"... DOH! I spent all that time because I was trying to pass 8 instead of 6 as length for the variable. I did the math in my head and was just flying through stuff I thought I was a no brainer. It snagged me for far too long. This problem produced no errors or crashes, and everything reported success in sending/recevivng... I thought it HAD to be something buggy in node.js.

So a little annoyed at myself. But happy I fixed it. I figured I could help others remember that sometimes you need to slow down and check EVERYTHING you did even if you don't think it could possibly be the problem.

Thanks guys,

Eric R.

## The struggle continues.

Well its been a couple months since I was active. When I left I was in the hunt for a job developing games for IOS and Android. It came down to me and 1 other person and they selected the other person due to the fact he had the degree. I don't blame them I understand the importance of the degree and I don't feel my portfolio is strong enough to be able to ignore someone else's degree. Life moves on though and I keep working toward my goal.

I recently was in the hospital for suspicion of a heart attack(I am 29 and not in horrible shape or overweight). This was a major eye opener for me though on the importance of health. I have a much stronger drive in my life now understanding the fragility of life and how quickly it can all change. So it has inspired me to not only work harder on my goals in life but to make sure I enjoy all the moments in life with my children and family.

(Now off the personal not and back to what this blog should be about)
My android game I am working on is taking shape and progressing quickly now. I have rewritten the core systems to function more like a multiplayer message system. This way I can push out a version 2 faster that has multiplayer support with a client-server system. So now the *clients* and *server* pass messages back to each other as if they were all separate entities even though they are part of the same system. I also need to find a good "engine" for droid because I don't really want to do it all by hand if i don't have to. I know about Unity Android but I don't feel like this project is worth the 400\$ out of my money at this time. Overall I am a lot more excited about the project then I was at the beginning of the project. Soon I should have screenshot and more details on the project.

Eric Ranaldi

## SWTOR, work, and programming.

Well SWTOR has been out what a month now? It's been a fun ride. My Juggernaut is level 50 and in full champion pvp gear. I have had a lot of fun and met some new friends in the process. With engaging quest system of SWTOR I hope to have a long run with this [...]

Source

## Life moves on.

Well I didn't get the job with the game programming company. So I'm back to doing my own thing. Hopefully soon I can be a part of something bigger in the software industry. But for now its back to working on my own stuff, which includes a heart game for the Droid and something network [...]

Source

## YES!

Made it through the phone interview got the email yesterday, one last in person interview. I am almost there. It has been a hell of a ride now to keep my head in the game and prepare for the werid task of writing code in front of people. I dont understand why it scares me so much and stresses me out it can't be much different then writing code on a screen in your room. So over the next couple weeks it will be time to write small techinical programs to just help get my head in the game and thinking in the right place. Anyone with any advice on stuff ussally covered in a in person tech interview would be greatly appreciated.

This has been a crazy process, Im not use to waiting for ansewers about a job. Having to wait for a e-mail or phone call to tell me if they liked my interview is rough.. It has been a great expeirence... Thanks to all of gamedev for your support.

## Made it past the programming test

Well good news! I made it past the programming test and now I am on to the phone interview. The process ended up going a little slower then I had anticipated but Im getting closer. It has been such a fun experience and Ill keep you posted but wanted to let you all know I have almost broken into the industry.

On a different subject my android hearts game is coming a long nicely. The whole game logic is there right now the 4 AI's will play a full game against each other. Working on a couple bugs and deciding how I am going to do the gfx part. I hear there are some good android engines out there but haven't really looked into them yet. In the meantime while I make up my mind there and work on my couple bugs in the messaging system I am implementing the human player and the interaction so it can be more of a "game" then a A.I. demo lol.

Hoping to know more about my future by next friday. I would like to give a big thanks to the gamdev community, even though I haven't posted a lot you have all helped me so much in just reading the forums and the articles on the site. I owe a lot of my success to this site and hope to be a bigger contributer in the future.

P.S. for some reason spell check isnt working.

## Made it past the programming test

Well good news! I made it past the programming test and now I am on to the phone interview. The process ended up going a little slower then I had anticipated but Im getting closer. It has been such a fun experience and Ill keep you posted but wanted to let you all know I have almost broken into the industry.

On a different subject my android hearts game is coming a long nicely. The whole game logic is there right now the 4 AI's will play a full game against each other. Working on a couple bugs and deciding how I am going to do the gfx part. I hear there are some good android engines out there but haven't really looked into them yet. In the meantime while I make up my mind there and work on my couple bugs in the messaging system I am implementing the human player and the interaction so it can be more of a "game" then a A.I. demo lol.

Hoping to know more about my future by next friday. I would like to give a big thanks to the gamdev community, even though I haven't posted a lot you have all helped me so much in just reading the forums and the articles on the site. I owe a lot of my success to this site and hope to be a bigger contributer in the future.

P.S. for some reason spell check isnt working.

## Nevous today.

It all comes down to this, I finally may have a interview for a game company working on mobile games here near my home. The owner of the company is going to be calling me in the morning. I am so scared and nervous even though I feel I am ready for the challenge.

It is going to be a complete life change for me that I have been working on for almost ten years now. Currently I work as a crane operator for a sub company of General Electric. I travel all over the US and this is what I know as I have been doing it since my wife got pregnant in college. Easiest choice was joining the union with my dad and make good money. I have worked since then on my programming skills so one day I could do what I love and stay home with my family while I do it. But as this is all I know it is really scary to me to change so much of what I am doing on a daily basis. So lets hope I don't mess this up and I can finally make my move to professional developer.

See you on the other side. And thanks for reading my rambling here.

## Java is not my friend.

While working on this hearts game I have been using Java. I'm not a fan. I like my ability for scope in C/C++. It may be the IDE it may just be the language, but I feel like I have no control over my variables and I'm forced to do it in a manner that [...]

Source

## Site redesign and update.

Spent a lot of time today updating the site with a new theme and adding more content to it that I had not added before. Work with hearts has been coming along necely. I am at a stage now where it starts to get fun, a lot less of the boring part of the development [...]

Source

## Happy Easter Sunday (whatever it means to you)

Well it is Easter today and that means very little time at the computer today. It means something different to everyone and I try to keep it in perspective when I wish all of you a Happy Easter! If your Easter is spent celebrating for religous reasons , or for the candy and the fun of Easter [...]

Source

## No code but cool discovery.

So I didn't really get any code done last night. Which leads me into my cool discovery last night. I was browsing the forums on gamedev.net lat night and read a post where someone linked Stanford Engineering Everywhere. So I talked to my cousin about it and he told me that MIT was doing something simliar so I had to check that out as well. So after checking out both sites I began to watch some of the online lectures and was really surprised. Even if it is just the introductory classes in the CS departments it really is useful to someone like me who has been programming a long time but did it all self-taught. It starts to give you that perspective of a engineer that is hard to teach yourself by just reading books and coding your own random projects.

So along with working on my game and doing the math videos/exercices at Khan acadmey I will now be following these lectures and probably joining the study groups they offer. Hopefully it all works out and helps me with my ultimate goal of getting into the game programming field. I do want to clarify this does not replace a degree and I know this. However with someone in my situation who works 7 12s for my real job and is trying to find a way to work on this dream myself, this puts me one step closer to the goal of getting some kind of 40-60 hour a week programming job where im not traveling all over the US. And at that point I can go to a actual college around my house and get my CS degree and have the piece of paper.

I do recommend to anyone who is trying to teach themselves all they can to be a software engineer and make a real career out of this to check out the two links at the top of this blog as well if you need any help with math, Kan Academy is a GREAT resource for math. Especially with the way the site has been redisgiend and has excercies to test you and a whole achievement system to give you that "game" feeling that we all love.

Well my time is up, the kids are waking up time to go start the day.

[color=#339966]E Ranaldi[/color]

Source

## Got some code done and some ideas on blogging for inspiration

Time: 1am

Music on Pandora: Oceanic by Tranquility Base.

Well I did some work on my game tonight. I feel I took my time and thought it through and did it a lot cleaner and smarter tonight. Trying to think more on readiablity and program flow rather then just banging it out until it works ...

Tonight I worked on some of the stuff my team and I talked about changing in a code review (should have been done a long time ago but I have been lazy). I also worked on some more of the GameState to handled the players being able to choose there card and have the game calculate it. I also did a lot of code rewriting to make it more readable , and more importantly I rewrote the code to use the same data for consistensty checks. I tend to have a problem with creating new ways to check things and I end up with redundent check methods that could potentinally lead to MAJOR problems and unpatronized code that could be hard to trace down because it looks like it should work.

I'm going to try and blog more about what I am doing to see if it helps me get more done and maybe if it helps me be more productive. Nobody reads this blog anyway though so it doesn't matter if I look like a idiot here haha. Well it is time for bed for me 1am and I have a early alarm clock with my kids .

good night for now

[color=#339966]E Ranaldi[/color]

Source

## All moved in.

Well we just got all moved in, and what I mean by that is I just setup my command center in my house for the first time since I moved here 2 months ago. I have been traveling so much its nice to finnally get a minute at home to relax and be with my family. It has also given me the chance to clear my head and get back to my computer and programming. Right now I am working on a game for the android phone that will hopefully be released in the near future.

I have lost a lot of focus recently and need to get it back. So here we go again I'm heading forward with my project. I know a lot of people dont like it but I finnally found a black background IDE layout that works good for me and Im loving it.

Well back to work

Eric Ranaldi

Source

## Time moves on.

Didn't realize how out of practice I am. My new game for the droid has been a great experience for me, the kind of experience I needed to move forward. All things considered I am doing pretty good , working a lot of night shift , some code problems, but over all good. Also Starcraft 2 has released and it is awesome, I can't get enough of that game. Well time to get ready for work.

[color=#99cc00]E Ranaldi[/color]

Source

## Back to work.

Well I am back at my real job working the 7 12's again. Which is good for my bank account. Good news though I've decided to work on some stuff for the droid , so that is going to be a really fun experience and a new challenge I look forward too. Well time to get my nose to the grind stone

[color=#00ff00]E Ranaldi[/color]

Source

## Tired.

Well today was a long day. Kids ran around like crazy while I worked hard getting this site up as much as possible and even throwing out a couple applications!.. Its about time. I also made the decision to use UDK (Unreal Development Kit) for my new memory game. This should be a fun and exciting experience. Ill keep you all updated

[color=#99cc00]E Ranaldi[/color]

Source

## Memory type game.

Well I have taken some time off from programming. And I have been thinking of plenty ideas for a new game. In my search to try and find something that would motivate me that I can have fun with I have decided to make a memory style game for my children to play. It has the potential to add a lot of aspects you can see in a every day video game and still be soemthing I can have fun with my family doing. So keep checking in for updates on the game.

[color=#99cc00]E Ranaldi[/color]

Source

## Welcome to my portfolio

I will be updating with my portfolio of projects, random info about myself , and my life. There is a lot of work to do and little time to do it (for me atleast) so stay tuned.

Source

## Game Client is coming along

As of 11PM tonight The game client I am working on can now Login -> enter chat -> enter game -> enter back into chat... Today we tested with 2 players running around on our map and all went very smoothly. Really getting excited hopefully soon we have some screenshots we can show people. Looks like tommorow will be some refactoring and code cleanup so our gameplay guy and get in there and play with the backend system I built for this.

Btw Unity3D is so nice for easier development of games. I haven't used too many engines but of the ones I have Unity3D is my favorite. And iam slowly starting to like C#.

Well peace for now
Eric Ranaldi

Well its been a long road. But as of 2 days ago my team and I have created our chat client (with Unity engine) , got the server online and ready to handle our chatrooms and gamerooms.. I would post some screens but our artist doesnt approve of his qaulity yet. It was a major milestone and a great learning experience for me , working 7 12s made it hard to have time to code and it finnally came together with our chat client working flawlessly so far.

In the next few weeks I will be working on getting our gamerooms working. First step is to just get a couple players into one world and get them moving around wtih each other properly. I m excited for this stage being as its finnally actual gameplay which is really cool to see.

We are hoping to have a working demo by may/june and hopefully our artist gets his art where he likes it soon so i can post some screenshots.

Super excited for the upcoming project and I will try to keep this updated with info and post even more info on what our game actually is once we get all the details worked out on what we want to talk about and don't.

peace,
Eric