Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Kiwa

1
General Discussion / RMMV Mobile Games
August 04, 2016, 11:34:11 pm
I thought I'd make a quick post on this because I think many may be curious how it works out.
Get ready...this post will probably be long like every other post i make.

A Brief history: (not directly related)
Spoiler: ShowHide

I've always been interested in gaming on the go. I had every hand held I could think of. Even those lame Tiger games that beeped and had character outlines that changed position on screen when you moved them.

I dreamed of making gameboy games when I was young. Then Smartphones came out much later and I dreamed of making fun games for people to play. Not this pay to win stuff. they are gind fests that almsot force you into paying.

So naturally RMMV was REALLY exciting.


I picked up RMMV to focus on making mobile games.
RMMV is nice. There are tons of improvements made to it that I love. I think it's a great program.

I spent a few months making a game for a select group of people. I wanted to give the game out for free and experience the features of RMMV so it's all stock materials that are used except a few free scripts, original generated characters and my map designs (which were also simply designed for time sake).

I converted the project using intel XDS (cool program by the way).

First thing that happened is I used the *Import only materials used by the game* feature.
compiled it. played it on my tablet and found It didn't include a few important materials such as battle ANIMATIONS and CHARACTERS! lol.

So I recompiled the ENTIRE RTP with the game.
YAY! it worked!
I was happy.

I decided to play through the entire game on my tablet to make sure it felt right and was easy to navigate.
and this is where the more serious problems came in.

The game go SERIOUSLY laggy as i played. especially after playing for a good 10 minutes. the battles were moving so slow that I could see each frame.
I was using YANFLYs camera zoom script..so when i cast a spell it zooms on the caster. The spell animation showed a flickering over lap of the transparent parts of the casting image animation.
It could be due to the script that this happened.

My tablet got EXTREMELY hot. to the point of concern. and it remained hot long after and even slowed my OS and other apps.
The final problem was suden crashing. The game suddenly crashed a few times some in battle and some jut walking on the map. no particular reason that i could find.

***EDIT***
I made a quick video linked to one of my google drive. its about 8mb recorded with my phone so you could see the odd layering. I couldnt catch any screenshots.
***EDITED AGAIN***
Created a quick Youtube acount with that google account and uploaded it to youtube instead. Figured its more trustworthy. lol.



I'm unsure if this is because:
- i changed the resolution size to match Samsung galaxy phones / tablets.
- i used a nice zoomy battle script.
- XDS doesent convert well.
- samsung phonese / tablets are sensitive (i dont think thats the case really tho. I've played more taxing things and didnt have this issue.).
- This is the result of a crossover using a scripting language which isn't close to a machine language..so a lot of processing is nessisary and it cant be helped.

I'm more inclined to believe tha latter of the 5.
I don't want to discourage anyone from getting RMMV. I really like the program. I'm just disappointed about the mobile feature.
But the good news is this is more reason to learn a more powerful language like JAVA,  C++ or C#

Could you share your experiences with this feature (mobile only) to spread more information on this topic?

Thanks,

Kiwa.

I just wanted to relay this information for those who are curious about it
2
Thanks for the offer.
I have a lot going on with my own projects and real life. I don't have time to invest in other peoples projects.

If you don't mind some unsolicited advice.
You may want to show a mission statement, a story, character designs, maps or something. You should want to prove some investment in this.
I don't think you'll find anyone of value by saying "I wanna make a game. I need artists, scripters, and some story writes" kinda sounds like you want a free ride on other peoples efforts.

I'd suggest making a basic story including a protaginist and an antaginist and explain their convictions and some backstory leading to their current actions.
make a sprite sheet of those two and a short demo or a video with some randomly made scenes to draw attention.

I don't mean to come across as course but it's a reality of the 'indie developer' scene. People come in with pure hearted intent and flake often due to loss of motivation. They bite off more than they can chew and make NO progress and become overwhelmed, eventually trickling off and forgetting it ever happened.
Everyone has seen it. Some of us have done it.

A lot of people are more than willing to help mod scripts and tweek your project to make it suitable for a demo.
Good luck finding people and don't give up!
3
Blizzard's ABS comes with a wonderful piece of software called 'Blizz-ABS Config 2.84.exe'

Drag this into your project file with you GAMENAME.rxproj and Game.exe
run it.
It's important that it's in that folder because it needs the resource files from your index.

go to the tab 'Animation & Sprite Control'

Select the animations and sprite control options you desire.

then make your hero with some swing animations.
- if your hero is alexus..modify him to have swing animations (or download the sprite set from XAS ABS to play with or use Sir Lag a lot from BABS Demo)

the hero needs an underscore tag with each image such as
Alxus_atk.png
Alxus_def.png
Alxus_skl.png
ect...
You can learn what you need from the error messages  "missing Alxus_atk.png" for example.
Then make that sheet.

Blizz ABS is a sweet deal. But it's A LOT to learn and you need a lot of resources that you have to make yourself.
pay attention to the errors. They are your best friend.

Good luck and enjoy Blizz ABS.
4
General Discussion / Re: new custom Sprite sheet maker
January 02, 2016, 07:18:24 am
This looks pretty cool.
I hope its better than game character hub. I got it with a humble bundle luckily. GCH was ok, but in the end I often had to adjust things to make it align and delete lines and add new lines because the stuff didnt line up properly by default.

Then use something like Paint, Gale  or Photoshop to modify them to make them work with BABS or even just to make minor modifications. Maybe I wasnt using it right...idk.
But this bone structure thing looks cool.
5
RPG Maker Scripts / Re: MV Window_Selectable
December 18, 2015, 11:32:54 am
Thanks for the reply Soul!

Btw. I really like your scripts and your youtube stuff. I'm gonna have to watch all the videos from the start.
Thanks for taking the time to look into this.

I found that method before and tried changing some things. I got the rect to change but if i click on the rect it wont select.
I found it's due to the Window_Base.lineHeight

If I increase the line height from 36 to 72 it fFITS, IT works!!! But ALL text is now screwed up and has MASSIVE gaps lol.

I was thinking about using a conditional to set the line height in Window_Base.lineHeight. but I think there has to be a better way with OOP.

Window_Selectable comes from Window_Base which comes from Window...I believe.
So if this inherits from Window_Base where the 'lineHeight' method is build. can't I use "this.lineHeight = 72;" inside of createSkillWindow.
it doesn't give me bugs but it has no affect.

I'm inexperienced with programming so I may just have a misunderstanding of how/if functions inherit or only objects. (i still have trouble telling those apart too lol)

I have to crash since I have to work in a few more hours. But I'm itching to get this programming stuff down.

Thanks Soul

:D
6
RPG Maker Scripts / MV Window_Selectable
December 18, 2015, 04:14:14 am
Hey fellas.

I'm still working on understanding RMMV and how it works.

I want to make more custom windows but this time I want to control the selecting.

My goal is to make my current script into an icon only script. Why? well...for practice and maybe it will work well for an android game.

I've managed to expand the size of an icon. not stretch it but expand the pixels from 32 to 64.
of coarse it now shows 4 icons but that's ok. I'll Fix it later.

the selectable box behind it is still regular size. I changed some code around and got the cursor rect to get bigger but i cant click it still. i need to click where the original row was.

I found another method which allowed me to do as I wanted but all text was screwed up.


Here's a failed image of my attempt. Any Ideas?

Spoiler: ShowHide


7
RMMV Script Database / [MV] Custom Battle Windows
December 08, 2015, 06:05:57 am
Kiwa's Custom Battle Windows
Authors: Kiwa
Version: 1.2
Type: Battle Plug in
Key Term: Battle Add-on



Introduction

This Script is an Alternative to the default window design. It re positions the windows and removes the battle log.


Features


  • New Layout

  • Clear Status Window

  • Removes Combat Log

  • UPDATE Removes Party Command Window and adds Escape to Player Command Window




Screenshots
Spoiler: ShowHide














Demo
N/A


Script

Spoiler: ShowHide
Quote

/*********************************************************************
* Kiwa's Custom Battle Windows                                      *
* KiwasCustomBattleWindows.js                                       *
* Version 1.0                                                       *
*********************************************************************/
/*:
 *@plugindesc Changes the Combat Menu position.
 *@author Kiwa
 *@version 1.2
**********************************************************************/

// This command runs the Function automatically without being called.
(function() {
/***************************************************************************
* We are going to overwrite methods that have inharitade from object to   *
* object. The order of the inharitance is as follows:                     *
*                                                                         *
* Window.js < Window_Base.js < Window_Selectable.js < Window_SkillList.js *
* < Window_BattleSkill.js                                                 *
*                                                                         *
* These methods already exist. RPG maker will run them before running     *
* the plugins. By typing them again they will overwrite the old methods   *
***************************************************************************/
//======================Skip party Command Window===============================



//=======================Battle Status Window Size==============================

 // Window Width
 Window_BattleStatus.prototype.windowWidth = function() {
   return  624;
 };

// Window Height
 Window_BattleStatus.prototype.windowHeight = function() {
 return this.fittingHeight(this.numVisibleRows());
 };

//==========================Enemy Select Window Size.===========================

 // Window Width
 Window_BattleEnemy.prototype.windowWidth = function() {
 return 624;
 };

 // Window Height
 Window_BattleEnemy.prototype.windowHeight = function() {
 return this.fittingHeight(this.numVisibleRows());
 };
//============================Party Command List================================

 // Window Width
 Window_PartyCommand.prototype.windowWidth = function() {
     return 192;
 };
 Window_PartyCommand.prototype.numVisibleRows = function() {
   return 4;
 }

//==========================Player Command Window===============================

 // Window Width
 Window_ActorCommand.prototype.windowWidth = function() {
   return 192;
 };

 // Visible Selectable Command Rows
 Window_ActorCommand.prototype.numVisibleRows = function() {
   return 4;
 };


//======================Battle Status Window Position=========================

 // Refreshes the window.
 Scene_Battle.prototype.updateWindowPositions = function() {
   /*var statusX = 0;
   if (BattleManager.isInputting()) {
       statusX = this._partyCommandWindow.width;
   } else {
       statusX = this._partyCommandWindow.width / 2;
   }
   if (this._statusWindow.x < statusX) {
       this._statusWindow.x += 16;
       if (this._statusWindow.x > statusX) {
           this._statusWindow.x = statusX;
       }
   }
   if (this._statusWindow.x > statusX) {
       this._statusWindow.x -= 16;
       if (this._statusWindow.x < statusX) {
           this._statusWindow.x = statusX;
       }
   } */
     this._statusWindow.x       = 190;
     this._statusWindow.y       = 0;
     this._statusWindow.opacity = 0;
     };

//==================Create the Player's action select window===================

 // Creates the Actor's window.
 Scene_Battle.prototype.createActorWindow = function() {
   this._actorWindow = new Window_BattleActor(0, this._statusWindow.y);
   this._actorWindow.opacity           = 255;
   this._actorWindow.setHandler('ok',     this.onActorOk.bind(this));
   this._actorWindow.setHandler('cancel', this.onActorCancel.bind(this));
   this.addWindow(this._actorWindow);
   };

//========================The party's Command window============================

 //Skip Party Command Window
 Scene_Battle.prototype.startPartyCommandSelection = function() {
     this.refreshStatus();
     this._statusWindow.deselect();
     this._statusWindow.open();
     if(BattleManager.startInput) {
         this.selectNextCommand();
     } else {
         this._partyCommandWindow.deactivate();
     }
     this.startActorCommandSelection();
 };

 //Party Command Window Position
 Scene_Battle.prototype.createPartyCommandWindow = function() {
   this._partyCommandWindow = new Window_PartyCommand();
   this._partyCommandWindow.x                 = 624;
   this._partyCommandWindow.y                 = 444;
   this._partyCommandWindow.opacity           = 255;
   this._partyCommandWindow.setHandler('fight',  this.commandFight.bind(this));
   this._partyCommandWindow.setHandler('escape', this.commandEscape.bind(this));
   this._partyCommandWindow.deselect();
   this.addWindow(this._partyCommandWindow);
 };

//=====================The Actor's Command window update=====================

 // Add New Command via 'this.addEscapeCommand'
 Window_ActorCommand.prototype.makeCommandList = function() {
     if (this._actor) {
         this.addAttackCommand();
         this.addSkillCommands();
         this.addGuardCommand();
         this.addItemCommand();
         this.addEscapeCommand();
     }
 };
// Creates the Method 'addEscapeCommand'
 Window_ActorCommand.prototype.addEscapeCommand = function() {
     this.addCommand('Escape', 'escape', BattleManager.canEscape());
 }

 Scene_Battle.prototype.createActorCommandWindow = function() {
   this._actorCommandWindow = new Window_ActorCommand();
   this._actorCommandWindow.x                = 624;
   this._actorCommandWindow.y                = 444;
   this._actorCommandWindow.opacity          = 255;
   this._actorCommandWindow.setHandler('attack', this.commandAttack.bind(this));
   this._actorCommandWindow.setHandler('skill',  this.commandSkill.bind(this));
   this._actorCommandWindow.setHandler('guard',  this.commandGuard.bind(this));
   this._actorCommandWindow.setHandler('item',   this.commandItem.bind(this));
   this._actorCommandWindow.setHandler('escape',   this.commandEscape.bind(this));
   this._actorCommandWindow.setHandler('cancel', this.selectPreviousCommand.bind(this));
   this.addWindow(this._actorCommandWindow);
 };

 // Rewrites the commandEscape method
 Scene_Battle.prototype.commandEscape = function() {
     BattleManager.clearActor(-1, '');
     BattleManager.processEscape();
     this.changeInputWindow();
};

//=================Creates the Enemie choice window Position===================

 Scene_Battle.prototype.createEnemyWindow = function() {
   this._enemyWindow  = new Window_BattleEnemy(0, this._statusWindow.y);
   this._enemyWindow.Opacity          = 255;
   this._enemyWindow.setHandler('ok',     this.onEnemyOk.bind(this));
   this._enemyWindow.setHandler('cancel', this.onEnemyCancel.bind(this));
   this.addWindow(this._enemyWindow);
 };

//=========================The Skill window position===========================

 Scene_Battle.prototype.createSkillWindow = function() {
   this._skillWindow = new Window_BattleSkill(192, 0, 180, 624); // (x, y, h, w)
   this._skillWindow.opacity          = 255;
   this._skillWindow.x                = 0;
   this._skillWindow.y                = 100;
   this._skillWindow.width            = 816;
   this._skillWindow.height           = 525;
   this._skillWindow.setHelpWindow(this._helpWindow);
   this._skillWindow.setHandler('ok',     this.onSkillOk.bind(this));
   this._skillWindow.setHandler('cancel', this.onSkillCancel.bind(this));
   this.addWindow(this._skillWindow);
 };

//===================The Item window size and position=========================
 Scene_Battle.prototype.createItemWindow = function() {
   this._itemWindow = new Window_BattleItem(192, 0, 180, 624); //(x, y, h, w)
   this._itemWindow.x                = 0;
   this._itemWindow.y                = 100;
   this._itemWindow.width            = 816;
   this._itemWindow.height           = 525;
   this._itemWindow.opacity          = 255;
   this._itemWindow.setHelpWindow(this._helpWindow);
   this._itemWindow.setHandler('ok',     this.onItemOk.bind(this));
   this._itemWindow.setHandler('cancel', this.onItemCancel.bind(this));
   this.addWindow(this._itemWindow);
 };

//=======================Create the Help window================================
 Scene_Battle.prototype.createHelpWindow = function(){
   this._helpWindow = new Window_Help();
   this._helpWindow.x                = 0;
   this._helpWindow.y                = 0;
   this._helpWindow.height           = 100;
   this._helpWindow.width            = 816;
   this._helpWindow.opacity          = 255;
   this._helpWindow.visible          = false;
   this.addWindow(this._helpWindow);
 };

//=====================Log window Position and size============================
 Scene_Battle.prototype.createLogWindow = function() {
   this._logWindow = new Window_BattleLog();
   this._logWindow.x                = 0;
   this._logWindow.y                = 444;
   this._logWindow.height           = 100;
   this._logWindow.width            = 816;
   this._logWindow.opacity          = 255;
   this._logWindow.visible          = false;
   this.addWindow(this._logWindow);
 };

//==================Finish the opening automatic Function================
})();




Instructions

Plug and Play with the MV Plugin manager.


Compatibility

No incompatibility unless something else tries to modify the Battle_Scene.


Credits and Thanks

  • Special Thanks to everyone on the forum who has regularly helped me out with questions and helped me with prior scripting.

  • Karberus from the RPG maker forum who made a script I used to understand what was happening.




Author's Notes

This is my first script I've put out. I know it's simple but it was a milestone for me.
I learned a lot from it. Hopefully you can learn from mine.
8
Script Troubleshooting / RMMV Battle Scenes
December 07, 2015, 08:48:44 am
Hey friends,

Today I worked really hard to produce a simple script.
I was so happy to finally make something so that I too can contribute to the forum.
I've been working on this all day. Literally all day. more than 8 hours.

I used another script as a guide to help me.
But my script won't work.

I am disappoint....
All I wanted to do was flip the battle windows (for now).
But I can't seem to get it.

Can anyone offer some advice?
Spoiler: ShowHide


/*********************************************************************
* Kiwa's Custom Battle Windows                                      *
* KiwasCustomBattleWindows.js                                       *
* Version 1.0                                                       *
*********************************************************************/
/*:
  *@plugindesc Changes the Combat Menu position.
  *@author Kiwa
  *@version 1.0
**********************************************************************/



// This command runs the Function automatically without being called.
(function() {
/***************************************************************************
* We are going to overwrite methods that have inharitade from object to   *
* object. The order of the inharitance is as follows:                     *
*                                                                         *
* Window.js < Window_Base.js < Window_Selectable.js < Window_SkillList.js *
* < Window_BattleSkill.js                                                 *
*                                                                         *
* These methods already exist. RPG maker will run them before running     *
* the plugins. By typing them again they will overwrite the old methods   *
***************************************************************************/

//=======================Battle Status Window Size==============================

  // Window Width
  Window_BattleStatus.prototype.windowWidth = function() {
    return  624;
  };

// Window Height
  Window_BattleStatus.prototype.windowHeight = function() {
  return this.fittingHeight(this.numVisibleRows());
  };

//==========================Enemy Select Window Size.===========================

  // Window Width
  Window_BattleEnemy.prototype.windowWidth = function() {
  return 624;
  };

  // Window Height
  Window_BattleEnemy.protorype.windowHeight = function() {
  return this.fittingHeight(this.numVisibleRows());
  };
//============================Party Command List================================

  // Window Width
  Window_PartyCommand.prototype.windowWidth = function() {
      return 192;
  };
  Window_PartyCommand.prototype.numVisibleRows = function() {
    return 4;
  }

//==========================Player Command Window===============================

  // Window Width
  Window_ActorCommand.prototype.windowWidth = function() {
    return 192;
  };

  // Visible Selectable Command Rows
  Window_ActorCommand.prototype.numVisibleRows = function() {
    return 4;
  };


//======================Battle Status Window Position=========================

  // Refreshes the window.
  Scene_Battle.prototype.updateWindowPositions = function() {
      this._statusWindow.x = 0;//624;
      this._statusWindow.y = 0; //180;
      this._statusWindow.opacity          = 255;
      this._statusWindow.contents.fontSize = 28;
  };

//==================Create the Player's action select window===================

  // Creates the Actor's window.
  Scene_Battle.prototype.createActorWindow = function() {
    this._actorWindow = new Window_BattleActor(0, this._statusWindow.y);
    this._actorWindow.contents.fontSize = 28;
    this._actorWindow.opacity           = 255;
    this._actorWindow.setHandler('ok',     this.onActorOk.bind(this));
    this._actorWindow.setHandler('cancel', this.onActorCancel.bind(this));
    this.addWindow(this._actorWindow);
  };

//==================The party's Command window position========================

  Scene_Battle.prototype.createPartyCommandWindow = function() {
    this._partyCommandWindow = new Window_PartyCommand();
    this._partyCommandWindow.contents.fontSize = 28
    this._partyCommandWindow.x                 = 0;
    this._partyCommandWindow.y                 = 0;
    this._partyCommandWindow.opacity           = 255;
    this._partyCommandWindow.setHandler('fight',  this.commandFight.bind(this));
    this._partyCommandWindow.setHandler('escape', this.commandEscape.bind(this));
    this._partyCommandWindow.deselect();
    this.addWindow(this._partyCommandWindow);
  };

//=====================The Actor's Command window position=====================

  Scene_Battle.prototype.createActorCommandWindow = function() {
    this._actorCommandWindow = new Window_ActorCommand();
    this._actorCommandWindow.x                = 0;
    this._actorCommandWindow.y                = 0;
    this._actorCommandWindow.opacity          = 255;
    this._actorCommandWindow.comtent.fontSize = 28;
    this._actorCommandWindow.setHandler('attack', this.commandAttack.bind(this));
    this._actorCommandWindow.setHandler('skill',  this.commandSkill.bind(this));
    this._actorCommandWindow.setHandler('guard',  this.commandGuard.bind(this));
    this._actorCommandWindow.setHandler('item',   this.commandItem.bind(this));
    this._actorCommandWindow.setHandler('cancel', this.selectPreviousCommand.bind(this));
    this.addWindow(this._actorCommandWindow);
  };

//=================Creates the Enemie choice window Position===================

  Scene_Battle.prototype.createEnemyWindow = function() {
    this._enemyWindow  = new Window_BattleEnemy(0, this._statusWindow.y);
    this._enemyWindow.content.fontSize = 28;
    this._enemyWindow.Opacity          = 255;
    this._enemyWindow.setHandler('ok',     this.onEnemyOk.bind(this));
    this._enemyWindow.setHandler('cancel', this.onEnemyCancel.bind(this));
    this.addWindow(this._enemyWindow);

  };

//=========================The Skill window position===========================

  Scene_Battle.prototype.createSkillWindow = function() {
    this._skillWindow = new Window_BattleSkill(192, 0, 180, 624); // (x, y, h, w)
    this._skillWindow.content.fontSize = 28;
    this._skillWindow.opacity          = 255;
    this._skillWindow.setHelpWindow(this._helpWindow);
    this._skillWindow.setHandler('ok',     this.onSkillOk.bind(this));
    this._skillWindow.setHandler('cancel', this.onSkillCancel.bind(this));
    this.addWindow(this._skillWindow);

  };

//===================The Item window size and position=========================
  Scene_Battle.prototype.createItemWindow = function() {
    this._itemWindow = new Window_BattleItem(192, 0, 180, 624); //(x, y, h, w)
    this._itemWindow.content.fontSize = 28;
    this._itemWindow.opacity          = 255;
    this._itemWindow.setHelpWindow(this._helpWindow);
    this._itemWindow.setHandler('ok',     this.onItemOk.bind(this));
    this._itemWindow.setHandler('cancel', this.onItemCancel.bind(this));
    this.addWindow(this._itemWindow);
  };

//=======================Create the Help window================================
  Scene_Battle.prototype.createHelpWindow = function(){
    this._helpWindow = new Window_Help();
    this._helpWindow.x                = 0;
    this._helpWindow.y                = 0;
    this._helpWindow.height           = 100;
    this._helpWindow.width            = 816;
    this._helpWindow.opacity          = 255;
    this._helpWindow.content.fontSize = 28;
    this._helpWindow.visible          = false;
    this.addWindow(this._helpWindow);
  };

//=====================Log window Position and size============================
  Scene_Battle.prototype.createLogWindow = function() {
    this._logWindow = new Window_BattleLog();
    this._logWindow.x                = 0;
    this._logWindow.y                = 444;
    this._logWindow.height           = 100;
    this._logWindow.width            = 816;
    this._logWindow.content.fontSize = 28;
    this._logWindow.Opacity          = 255;
    //this._logWindow.Visible          = false;
    this.addwindow(this._logWindow);
  };

//==================Finish the opening automatic Function================
})();




For now I wanted to flip the screen so that the Status and commands are at the top and the log is at the bottom.
Eventually changing everything to Variables so that I can set up 4 or so default designs.

Any help would be appreciated.
Thanks fellas.

************************EDIT*************************

As of now I've got it working as intended. I discovered the debug f8 key and solved my issues almost immediately.
I had an extra close bracket and I spelled a .prototype wrong.

I'm trying to add a few extra things. But I'm excited to finally contribute something (even small) to the forum :D

I'll Hopefully post it up a bit later today. got some stuff to do before I can finish it.

Thanks Friends.

9
General Discussion / Re: Being a Programmer
October 28, 2015, 02:20:32 am
I found this artacle online. I thoguht people could take from it.
I'll link the page and spoiler the list.

Source:
Ten Tips for Young Programmers
http://flip.it/Z4pvN

Spoiler: ShowHide

Writing code is like doing magic. Just say the right words, and amazing stuff happens. Or, horrible things happen. Becoming a great programmer isn't easy. It takes time. For young coders, I'm going to give ten tips to help you along that path.

1. Take Your Time

It takes years to get good at coding, so be patient. Your first projects will be weak, no matter how smart you are. If you're coding every day you'll be decent after five years, and good after ten. And after twenty years you may become great.

2. Write Code, Write Code

There's a myth that superb coders are born. Yes, you need talent, yet above all you need practice. Code every spare minute. You need to practice for years, alone and with others. It won't make you rich, it will make you better. Coding is like playing music. Play the same tune a hundred times, and each time you will learn something new.

3. Develop Your Strengths

Discover what you are good at: everyone is different. Maybe it's problem solving. Maybe it's teaching others. Maybe it's long, deep focus on difficult concepts. The best sign you're good at something is you enjoy doing it. Over time you'll become better at other aspects of coding.

4. Learn to Work With Others

Alone, you'll always be mediocre. Only when you work with others can you really shine. Learn to let others compensate for your weaknesses. Look for teams that need you and that can challenge you. Join open source projects. Learn open source culture. Learn from others, and especially their mistakes.

5. Use Science, not Magic

Most of the software industry is plain wrong. Learn to recognize and reject magical arguments. Science is about solving real problems with wild, irresponsible answers, and harsh error correction. Don't follow fashion. Take the next most urgent problem. Write a minimal plausible solution. Test that, and keep it only if it seems to work.

6. Trust Your Instincts

We're born with good instincts for working with others. Education and work beat these out of us. Most of all we learn to accept discomfort and pain. Learn to trust your instincts. If something you're doing seems wrong, fix it. Even if it takes a decade: write it down, understand it, and fix it.

7. Work With What You Have

Work with the problems, tools, and people you have at hand. Focus on getting it right, minimal, and modest. Don't wait for tomorrow's technology to arrive. Don't try to invent the future. Just get to work making real solutions to real problems. The future will invent itself.

8. Embrace Criticism

Lose your ego. When someone criticizes your work it can hurt. Yet it's far worse to be ignored. Ask people for critiques. Make your work public and open source, when you can. Now and then you'll hit a troll who really tries to hurt you. It's never personal. Learn to shrug that off.

9. Keep Your Costs Low

Cheap is important. Learn to use Linux, and a cheap or second-hand PC. Learn the command line. Stick with small languages like C, instead of massive languages like C++. Learning a larger language does not make you a better programmer.

10. Publish Your Work

Put your code out there, using your real name. Become a contributor to open source projects. If they don't want you, find projects that do. Build up your public profile, e.g. on GitHub. It's your future resume.
10
General Discussion / Re: Being a Programmer
October 14, 2015, 11:37:21 pm
Thanks for that input KK20. Id love to hear what you reccomend, as i value your opinion. I think JS still feels linear to me. so i feel comfortable and dont feel as confused by OOP. I understand the basic idea of OOP but theres something that just doesent click yet.
I'm one of those really difficult students....My mind functions in odd ways. My friend who got me into programming used to laugh at my code when I started.
he said "how does this even work? It doesent make sense...your code is all over"
but the truth is i didnt understand it but got the results.

one day while staying up over night trying to make an RPG battle system in TI-89 Basic. I spent hours and hours and hours. around 4 AM. the sun was coming up. my room had a nice orange glow to it.
I ran the game...
CLICK!
It all made sense.

I made so many programs and games for TI-89. I understood that language so well. It was technically my gateway language.
It takes time and expermentation. and fiddling with other peoples code.
That was the first and the last language I invested that kind of time in.
My point is i havent invested enough hours in this to fully understand it.

What do you guys reccomend as a first OOP language? many webpages say Python.
11
General Discussion / Re: Being a Programmer
October 14, 2015, 12:05:11 am
Thanks Soulshaker!

I havent tried out CSS at all. but i often see  it paired with HTML and JS.
I have to look into how they work together.

I really enjoy JS tho. I think It's taught me the most about OOP (tho ive heard people say its not a REAL OOP language).
12
General Discussion / Re: Being a Programmer
October 09, 2015, 01:07:38 am
Thanks for the addition Soulshaker.

This is proof of what I had mentioned.

I'm so glad that it could work out for you. It may not ever have worked out if it werent for your own effort.
What languages do you use most of all as a web designer?
13
General Discussion / Re: Being a Programmer
October 08, 2015, 03:35:02 am
Well, I pointed it out and we had a good laugh.
I didn't say anyhting bad nor did the boss.
I'm not calling him names either. I think it can be seen that way from my comment earlier about the useless people with degrees.

He and I became friends.
He also stopped working on cars after a year or so at the shop.

my point wasnt to belittle him. but point out that a studied individual doesent equal a superior individual.
A lot of people come out of universities in the states believing they can make in the 70k range and get a huge house.
have  a 9 to 5  work no over time.

this belief causes a lot of sour reception by other employees and the employee himself.
he may resent the job and the company and it will reduce his performance.

not to mention a large percent of students who graduate get a job in a completely unrelated field. as did my mechanic friend.
14
General Discussion / Re: Being a Programmer
October 08, 2015, 12:08:30 am
Thanks Ryex,

Even tho you are not a programmer professionally at the moment doesn't mean your not a programmer. you have proven yourself to many people on this site alone.
your story is really good. congrats on the work with the radio station. that will be a wonderful addition to your resume!

I know a lot of places out there deny people because they don't have the academic exp. but these days it seems companies are getting in influx of people with degrees who are basically useless.
a degree seems to be less and less valuable these days and even a liability in many cases. seeing that he person has no experience and believes he or she is entitled to a great salary with their own terms and conditions.
all of their big scary requirements are probably acting like a noob ward to scare away the entitled nubs.

there's a nice message in your story I'd like to bring out in a quote from someone else.
"Have the courage to follow your heart and intuition, they somehow already know what you want to do."
-Steve Jobs

tho I don't like apple. he had a great philosophy for business and even life.

a quick story about degrees.
I used to be a mechanic. I  made trash for pay. but I was really interested in doing it. I studied hard to get everything I could.
in my area was a very famous automotive school. it cost as much as a 4 year University degree for a 1 year program.
I didn't join. I thought "I can do it by my self" and I did. slowly but surely.

in my company we hired a graduate from that school. he came in like he owns the place.
proud and boastful about his turbo Mustang and Mitsubishi Eclipse that he put the turbo in all by him self. and he street raced those civic losers..blah blah.

one day, shortly after his starting day, the dude drained the oil from a car and replaced it with windshield wiper fluid.
I managed to catch it before he started the car because I saw the washer fluid bucket on the engine block and the oil cap off.
I walked over and asked him to hold on a  second. took a look and...vuala ....Wiper fluid in the engine.

a graduate from one of the most prestigious automotive schools made a huge mistake and the day was saved by a loser dropout who learned from exp only.

anyway sorry to hijack your story with another. but I wanted to highlight that determination > paper
on top of the point that you should follow your heart, which you brought up in your story.

Thanks Ryex.

I hope others can join in on this. I'm enjoying everyone storise! :D
15
General Discussion / Re: Being a Programmer
October 03, 2015, 08:15:27 pm
Thanks for the addition Mark.

I  think it's fantastic you can keep the dedication to your hobby and your dream!
Something I have noticed in life is that External motivators get you started and often passionate.
But that passion fades without action.
without action we never invest and gain an internal motivation.

I think your story is a good example of this. And I think we can learn from it.

Thanks so much for the input :D

PS
like you, I find it funny how often it was stressed that I needed to be a math wizard to program.(not that im good by any stretch of the immagination)
You'd think that id be good at OOP too...because of all the dots I usually use between my words :P
PPS
I think I have you on my Guild Wars 2 friends list. lol.
16
General Discussion / Re: Being a Programmer
September 11, 2015, 01:09:13 am
You started really young on Web design KK20. That's pretty great.
Seems we started code around the same time tho.

...see what I mean about focus? Lol.
Gameboy was a large fuel for me too. I was really interested in portable gaming.
Still am. Tho I don't like what mobile games have become. Icky...lol. But I gues it works.
17
General Discussion / Re: Being a Programmer
September 11, 2015, 01:01:02 am
Thanks for the reply KK20!

Ive leeched off of you too! Lol.
You and blizzard point out something very important I think we should all learn about or talk about (experienced with it or not).
That's "focus".
I, like many other people, Hop from subject to subject. Item to item. Hobby to hobby. And we never keep anything in our focus for very long.

This will destroy you. There is no such thing as a jack of all trades (which I proudly boasted my membership card for so long).
I think the jack of all trades was a way to distance myself from my irresponsibility.
"Well, I'm more of the jack of all trades type"  was my line when people asked why I didn't choose a career and stay in it.

Specialization is the most desired thing for employers. Of course having other skills is desireable. But you need a focus before you can be noticed.
Try putting "jack of all trades" in your resume and you'll be designated to the janitors closet.

We often hear that you need to be dynamic and multi skilled but I think it's far over emphasized.
If you can speak two languages and your a sales specialist. That's probably enough.

If you can do a little electric work and your a network tech. That's probably enough.

Being average at changing your tire is OK if you make enough to pay someone else to fix it for you once you get it to the shop.
That's how an economy works.

Average is average. Not bad. Find something worth your time which you enjoy. And work at it.
18
General Discussion / Re: RPG Maker MV
September 06, 2015, 12:51:41 pm
wow this looks awesome!
I will definitely pick this up when it comes out and I have some extra cash.  I wonder if it can import and convert from VX ace or XP projects. (doubtful tho)
I hope we can use old resources too.

Quick! I need a BABS and RMOS in JS! :)
19
General Discussion / Re: Being a Programmer
September 06, 2015, 09:44:59 am
What kind of work do you usually do?
Windows based? android? Web based? server? all of it evenly?
when I looked into it. I hear tons of fighting over Java, RUBY, and Javascript as THE language.

but them I'm told encryption is best, then server work is best. I think the programming bloggers are usually just blowing smoke. lol.
rarely do I hear about game programmers but to my understanding it's kind of a closed circuit. unless you're an indie dev.

Also. I'd love to hear things you had to overcome. I'm sure others would like to hear the store too. if it resonates with someone they may get inspired aswell.
20
General Discussion / Re: Being a Programmer
September 06, 2015, 08:16:22 am
Thanks for the long detailed reply Blizz :D

my reply is gonna be to you. it will be kinda off topic. but hopefully someone else can get something from it.

When I was a child I wanted to make video games too.
At one point I did. I programmed with my T-89.
I made games with its basic language. this was half good and half bad.
I learned a lot on my own which gave me a bit of an ego. when I took classes in college for C++ and VB. I had already used them to some extent and gave this attitude
"I already know this crap" and I'd leap ahead of the group and make many mistakes in my code such as global variables rather than locals. or instead of properly using functions I'd use them as if it were an old language like basic. this in turn made it even harder to evolve as I thought I know things well and really had no idea.

I found RPG maker translated by Don Miguel and fell in love with it. as I could easily pump out games using other game resources.
this made me super addicted to making games . I'd pump out game after game in just weeks. sub part I'm sure. but this just furthered the ego "I can already do it..why do I need to learn this!? I can already make games".
I still explored eventing and making things like blinking characers, night and day, timed events for story cut scenes, changing animations such as climbing a ladder would switch the char set ...blah blah.
I still explored programming for a bit after that but kinda dropped it.

I switched my career to automotive which I picked up quickly and did well in. a lot happened in the time between 2006 and now 2015. but now I live in Japan. about 4 years ago I thought about making a game with rpg maker XP. that's when I found this site. I took a strong interest in programming again. you guys help ease me back into coding.
I did check out codecademy actually. completed ruby and Javascript there while I've been working on my RMXP game. wonderful site.
I also took a long break to study self development. as I realised I had a serious inferiority complex. making me feel like a victim all the time.
learning how to take ownership of my decisions and past while squashing that ego that I tried to hide behind modesty, really helped me learn about the world.
I'm like a completely different person from 3 years ago.
I regret not seeing this stuff earlier and taking the risks I did to get myself where I am today.
I feel like I only just started my life at 30. lol.

I really recommend doing some serious self reflection and listening to debates and philosophy . it will do wonders for personal development.
I would also suggest that starting from how to assign variables 10 times or 15 times or 25 times is not a big deal.
you may learn something new from a different class,video, teacher, ect.
beware of the ego. it can block you from learning what you really need to know.
heck, that may e why so many people's code socks as Blizz said. lol.

if you want to program and your having trouble picking up programming, you may be your own problem.

anyway that was kind of a rant. thanks for listening.
I know it was off topic since I'm not a programmer.  but I think it may be relevant for others who may be or may have been in a similar situation.

thanks for the comments blizz, thanks for the free code, thanks for the site and this community. I hope others can be inspired here.