• entries
68
57
• views
41747

The ups and downs of a self taught programmer.

## 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.

## WoW searched for hours and cant figure it out.

I have gone through my books, searched the net, changed my code around but I just cant get it to work.

I have my engine as one project. then I created Fantasy Battle as another project and Iam including the files. for some reason i keep getting unresolved link errors that all the things on the web say that its caused by declaring your function but not defineing it.. Well I have defined it so Iam doing something else wrong. The only thing I can find is this damn "failure to define your functions stuff" and thats not my problem..

Compiling...game.cppLinking...game.obj : error LNK2001: unresolved external symbol "public: struct SDL_Surface * __thiscall Surface::LoadImage(char *)" (?LoadImage@Surface@@QAEPAUSDL_Surface@@PAD@Z)game.obj : error LNK2001: unresolved external symbol "public: void __thiscall Video_System::DrawSprite(struct SDL_Surface *,int,int)" (?DrawSprite@Video_System@@QAEXPAUSDL_Surface@@HH@Z)game.obj : error LNK2001: unresolved external symbol "class Video_System Video" (?Video@@3VVideo_System@@A)game.obj : error LNK2001: unresolved external symbol "public: struct SDL_Surface * __thiscall Surface::GetSurface(void)" (?GetSurface@Surface@@QAEPAUSDL_Surface@@XZ)game.obj : error LNK2001: unresolved external symbol "public: bool __thiscall STATE_System::HandleInput(void)" (?HandleInput@STATE_System@@QAE_NXZ)game.obj : error LNK2001: unresolved external symbol "public: void __thiscall Video_System::SetProgName(char *)" (?SetProgName@Video_System@@QAEXPAD@Z)game.obj : error LNK2001: unresolved external symbol "public: void __thiscall Video_System::Init(void)" (?Init@Video_System@@QAEXXZ)Debug/Fantasy Battle.exe : fatal error LNK1120: 7 unresolved externalsError executing link.exe.

these errors are in my Fantasy Battle project. The Surface and video function declarartions are in video.h of my game engine project and the defenition is in video.cpp, the state_system is in system.h of my game engine project and the defenetions are in system.cpp ... and so on for the others...

So atm Iam stumped but hope to figure it out soon.

{EDIT} So after furthur testing if I include the .cpp files as well then it will link just fine. But I didnt want to have to include any cpp files. so gota keep looking for how to fix this :/

## WoW Ima take a day off more often

Well I didnt do any programming yesterday. I did think about the event handling system a lil bit but I think I cracked it

I just need to setup a stack/vector or something to hold all the diffrent interfaces that have events.. like menu - playgame - character and all that jazz.. But I figured out a way to hide the implmentation of SDL and still have it work well... Ima think about putting a bind system in so you can bind keys to the diffrent events.. we shall see.

I owe thanks to the event handling article. though iam not doing it the exact same many things taht have been made are modeled after what it did...

## Woot finnally got linux!

Finnally got a linux distro on one of my computers.. now I should be able to have some more fun.

Ya wife gave me her computer because she hardly uses it and my laptop is dead now.
So I threw a second HD in it and installed Linux. Time to go explore the OS

## woot day off

woot after tonights shift i have a day off time to get some work done hooray! lata all gota get this shft done

## well...

Well time sure can fly by when you dont think to much about it. I went to take a lil break to play some WoW with my bro and friend adn man time flew. I realized today that I have spent a lot of time not programming and I wish I hadnt now. Oh well now that iam out of my stupor of playing that mindless game I should get some more work done. Screens and demos to come I hope. peace

## 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

## Ups and Downs...

Well Iam working on my event system today again. Its the last thing Iam having a problem with at the current time and it just dosent seem feasible to do the things I want to do.
Who would have thought hiding the SDL API complety from game code would be this much of a pain.

I have the system right now.. my engine has a video/drawing class, it has a audio class (these work fine the way i want to use them.) Then I have my system class which is going to handle all loading/saving and events and for now thats it but it is open to more.. But that dosent work with what I want to do which is have my player class access the system class event system. but instead my system class event system has to handle all the actions of the game like if w is pressed then do the game class action of move north or drop block(depending on game)

I just had a semi idea .. each part of the game gets its own system event and it jumps into that when the gmae is at that point likeyou have your map.system.event then if esc is pressed it goes to menu.system.event which is really just another message loop of its own... and it handles the event each way in its own way.. of course it seems like it would take quite a bit of wrapper work to hide SDL but this sounds like a pretty good idea...

Man I love these journals just writing that out gave me a idea i feel is good.. Iam going to work on that after work..

What do you all think.. am I just shooting off in the wrong direction? either way Ill find out I guess........ until next time

## Update: Fantasy Battle

I have decided to go with a 2D side view for Fantasy Battle. I have my Legacy engine I have been working on that Iam going to use for this game. So I should have some screenshots here in a couple days.

## Update

Ok an update on my engine.. its a simple one and I want to keep it that way to make making the simple games easier.

Video/rendering - SDL
Surface Class
Can set transparency with ease.

Video_System Class
Can Init the SDL video system
Can Draw to the screen
Can set Resolution width and height
Can also set programname and icon
The Video system as it stands right now is just a bunch of wrapper functions to hide SDL and make things a easy one call.

Plans for the Video/rendering
I plan on intergrating SDL_ttf in the same way as the surface's to make creating and writing text a simple call. not sure about anything else right now

Sound - SDL_mixer
Effect Class:
Music Class:
Sound_System
Can play music/sound effects
Can init the sound system
Very basic set of wrapper functions and I dont think i will get much more into it but we shall see

Event System:
This is a variatey of classes that make the event system not bound by the API but by a defined list of events.
Right now its very primitive and the keyevents have to still be set but the game code is not in the Message pump instead hte message pump dispatchs events to all registered interfaces. Those interfaces then check there list of events and see if they have something defined for that event and if they do they perform the event.
As of right now I have 3 problems Iam working on. Right now each interface is sent every event so say if someone uses the up down left right keys as movement in there game interface and then want it to do something in there menu interface like scrolling the options it will try to perform all of those.
I also want to setup a keybinding system so that the events bound to a key can be variable and change at a glance without going into the engine code.
And the 3rd problem is tied directly into the second in the fact that each event is hardcoded to a key and I would like to change that.
This is where iam working right now and will be for awhile and Iam actually having fun here.

For the future
In the future I plan on adding a mapping system. My goal would be to make it versitile enough to have a simple map that can be used as a board for a board game and it will also be able to do a fairly complex based tile map/Isometric tile map.. we shall see

Also as I learn more about it collision detection, animation, physics as I will eventually be making a RPG or shooter or something that requires atleast collision detection..

A Timer system for the various issues of timed abilities and FPS counters and all that jazz...

As well give the engine file i/o capabilities for the maps and settings of keybindings and whatnot... in the end i would love to go from a simple engine that can do things like tictactoe and conect four to do a RPG..

With this approach iam hoping to be able to be able to change to say OGL or D3D or something in the future with very little changes for the games...

This my friends is the Legacy Engine. As soon as I get off work ill make up a lil demo so you can see it (even though it is so simple)

As well Iam making a hangman game with what I have right now.

## Update

Well I didnt like how I was handling the game loop. I wanted the game to have control of it and not my engine. But I still wanted the engine to handle all keypresses and whatnot. So I took my while loop out of it and made a Run fucntion in my Test_Game class that calls the new HandleInput() function from my event/state management class.

I know this project is going to look ugly at the end(as much as I try hard to keep it clean and commented) but it is helping me learn so much about the way a full featured game will run and progress. Even though it seems as if it is more then I can chew at times I eventually work through it... Well I have aprenticeship training in the morning so I better hit the bed for the night.

Night,

## Unix Network Programming Volume 1

So I finally stopped procrastinating and started teaching myself network programming (where I eventually want to end up). I am reading Unix Network Programming, and its a good book but I feel the choice to write the book filled with wrapper functions. Me personally I feel it makes it harder for someone to learn. I understand how it makes it easier to make IPv4 and IPv6 code simousltly. But so far its going well and hopefully ill have some codes to post up for all of you.

peace
Eric Ranaldi

## Unity

Just stumbled on a tool/engine called Unity. It seems really cool and to be able to do 3D in a web browser is really intresting. My cousin and I have decided to use it for our development on our current game. So I plan on keeping everyone posted on Unity and our trials and tribulations with it.

peace.

## Transplant.

Well my wife is giving my father a kidney and the surgery is tomorrow. I have been sitting here all day and been browsing around so I figured I would come here and post a journal entry.

This surgery has really opened my eyes in my life to show me how short it is and can be if you sit on your butt and don't work for your dreams. I have the same disease as my father and this is a reality check to me to see this process and to see my dad in the condition he is in. So in the last few months I have really picked up on my efforts(I never stopped just was messing around a lot) to get a portfolio and start getting towards working as a programmer. And it has gone very well. I have been working on my math skills(which are in dire need of help).as well I have been not only working on programming theories and syntax I have been working on making sure that I use good style and clean code that is reusable and portable. And I actually have been programming A LOT in both C++ and python. Started working on network programming in unix and windows. So I am very excited for the future. Actually right now we are working on a project for my cousin a spaceship 3D shooter, and its coming along nicely. After that we have decided to work on a game engine for the practice and for our portfolios. I will be keeping this journal more up to date on what we are doing with our projects. I hope to get some good feedback and maybe even help some people.

So keep checking back in and read what I got. I may not have all the savvy programmer terms for stuff and it may seem weird how I describe things but I will still try and keep a log and journal of my adventures for your amusement.

Peace
Eric Ranaldi

## Tired. but maybe

Well Iam tired as hell long day at work.. but I did a lot of thinking today about my engine and if I wake up on time I should be able to get some good stuff in.. I dont know whats up but the last couple days I have had a very clear head about all this... Iam loving it.. it will be gone soon though lol

## 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

## 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

## 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

## SUCCESS

The transplant went great my dad's new kidney is working awesome and my wife is getting out of the hospital today. So all is good and its time to get back to work!. Thank God that is over and all went well. more to come

Peace
Eric Ranaldi

## Start work today

Well as is my current career a seasonal job I start today again. this job is 6-10s with sundays off(atleast its not 7-12s) so my programming is cut down majorly.. I was thinking about taking some paper and pencil to work and on break writing code and such but I dont know. We shall see how it goes hopefully my engine development still goes smoothly as it has.. maybe it will give me a chance to clear my head each day and I will be able to see new things I didnt see before. well Iam out gota get ready for work

## Sleep!

Man these first few days of long hours are rough.. I hate the feeling like I didnt sleep after 7 hours of sleep. Oh well work goes on as normal hopefully this sunday I will be able to have a good enough version of my engine for a simple test game.. who knows well goodnight/goodday whichever you call it. take it easy.

## Sleep

Days at work are getting longer and longer... hopefully I get some more done tommorow.. well good night

## 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

## Ponders

I dont want to give up on anything i start with programming cus that just lets me take the easy way out. But I just dont know how revlevant making a event system is to wnating to become focused on network programming. It is probably fairly invloved but I dont know. I want to get into the network programming and such and work on that but I dont want to give up on what I have set for my goal as of right now... just dont know what to do... maybe take a break and work on the network stuff for awhile then come back to this? I dunno any advice would be great