Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

198 Neutral

About Namatsu

  • Rank
  1. Namatsu

    Morning's Wrath on GameTap

    grats man
  2. Namatsu

    Well drat

    My brother was 100 points away from getting vista when it went out of stock...
  3. Namatsu

    MAGIC Game Dev Contest - Results are in!

    Count me in.
  4. Namatsu

    New Screenshots

    the text in the menus feels a little close to each other.
  5. Ok, so here is the story. I took a programming test for a gaming company a while back. Said test was timed and it was a rather short period of time. You only had two problems to solve. Needless to say I was unable to finish even the first problem in the time alloted. At that time I just gave up and wrote it off that my programming skills were not up to par for the test. The other night I was rather bored so I decided to try the problem again. After struggling with the problem for some time, I decided to use the internet to help me find my solution. After a couple searches, I had a general idea of how to solve the problem. It was not a difficult solution. In fact I am quite sure that if I had attended a four year college instead of a trade school, said problem would have take very little time. But even with my Internet research my second attempt still took longer that the original alloted time. The issue I had and still have is my lack of knowledge of what I guess could be considered some of the basic software engineering principals. I blame this mainly on my current level of education. So I'm headed back to school to get my BS in Computer Science. I already have an Associate Degree from Full Sail. But as more time goes by I realize that stopping there is not enough. I must continue my education so I can get to a place where I want to be in life. Successfully developing video games.
  6. Its been a while. I've been doing lots on the game dev side. I just haven't had much time to post due to helping my wife start her own business and getting ready to go back to school. This post is going to be mostly a cut and paste from some of my design document. But it should give a good idea where I'm going with the game. Right now my goal is to make a test bed with a simple map and random battles. Then I will add more features later. Like shops and towns. The game has changed from a side scroller to a top down view to simplify development of the combat prototype. This is the initial writeup for how the combat system will work in my game and is subject to suggestions and change. ---------------------------------------------------- Character Stats ---------------------------------------------------- Hit Points Ability Points Melee Ranged Magic ---------------------------------------------------- Levels ---------------------------------------------------- The level cap is unlimited The character gains three skill points every level The character gains one specialty point every 5 levels. The equation for the next level is PrevLevel + CurrentLevel * 100 Experience is reset to 0 when you level. Experience does not over flow into next level. IE. Bob has 99/100 xp. Bob gains 10 xp. Bob would level to lvl 2 and his XP would be set to 0 not 9. ----------------------------------------------------- Combat ----------------------------------------------------- Combat is turn based. The combat order is randomly decided at the beginning of combat. Each combatant is able to make one action per turn. Until all of the opposing combatants are dead. ----------------------------------------------------- Character Death ----------------------------------------------------- The character will loose 10% of current xp. The character can not level down. ----------------------------------------------------- Specialties ----------------------------------------------------- The way the character gains abilities beyond the basic attack ability is through specialties. It takes 1 point to unlock a specialty and 1 point to unlock additional skills under that specialty. Some specialties may have masteries that would let the character gain further skills once the Character has gained all the base skills under that specialty. Mastery skills cost 2 specialty points. IE. Specialty Holy Magic: * Heal * Cure * Bless * Smite * Group Heal Holy Magic Mastery Undead: * Exorcism * Holy Water Grenade * Turn Undead This is the sample lua script for setting up the specialties and masteries. ------------------------------------------------------------------- -- An Example Data File for laying out Specialties and Masteries -- ------------------------------------------------------------------- ------------------------------------------------------------------- -- Data Available to define abilities with ------------------------------------------------------------------- -- -- Specialty -- * LongName -- * Discription -- * MinLevel -- * Register() -- -- Mastery -- * Specialty -- * LongName -- * Description -- * MinLevel -- * MinRank -- * Register() -- -- Ability -- * Specialty -- * Mastery -- * Rank -- * LongName -- * Description -- * MinLevel -- * Use(Target,ActionType) IE. Targets could be Friendly, Hostile, -- Undead, Add AOE to the end of any -- Target to make the ability AOE. -- Action Types would be Damage, Heal, -- Buff, and RemoveBuff -- * RangeMin -- * RangeMax -- * Buff -- * BuffType -- * Register() -- -- Buff -- * LongName -- * Description -- * Stats -- * Turns -- * Duration -- * RangeMax -- * RangeMin -- * Type(Type) -- ------------------------------------------------------------------- ------------------------------------------------------------------- -- Specialty Holy Magic: -- * Heal -- * Cleanse -- * Bless -- * Smite -- * Group Heal ------------------------------------------------------------------- ------------------------------------------------------------------- -- Set Up Holy Specialty ------------------------------------------ ------------------------------------------------------------------- Holy = newSpecialty() Holy.MinLevel = 1 Holy.Register() ------------------------------------------------------------------- -- Set up Heal Ability ------------------------------------------- ------------------------------------------------------------------- Heal = newAbility() Heal.Specialty = "Holy" Heal.Rank = 1 Heal.Use("Friendly","Heal") Heal.Use("Undead","Damage") Heal.RangeMin = 5 Heal.RangeMax = 10 Heal.Register() ------------------------------------------------------------------- -- Set up Cleanse Ability ---------------------------------------- ------------------------------------------------------------------- Cleanse = newAbility() Cleanse.Specialty = "Holy" Cleanse.Rank = 2 Cleanse.Use("Friendly","RemoveBuff") Cleanse.BuffType = "Bad" Cleanse.Register() ------------------------------------------------------------------- -- Set up Bless Ability ------------------------------------------- ------------------------------------------------------------------- Bless = newAbility() Bless.Specialty = "Holy" Bless.Rank = 3 Bless.Use("Friendly","Buff") Bless.Buff.Stats.Melee = 1 Bless.Buff.Stats.Ranged = 1 Bless.Buff.Stats.Magic = 1 Bless.Buff.Duration = 5 Bless.Buff.Type("Good") Bless.Buff.Type("Holy") Bless.Register() ------------------------------------------------------------------- -- Set up Smite Ability ------------------------------------------- ------------------------------------------------------------------- Smite = newAbility() Smite.Specialty = "Holy" Smite.Rank = 4 Smite.Use("Hostile","Damage") Smite.RangeMin = 5 Smite.RangeMax = 10 Smite.Register() ------------------------------------------------------------------- -- Set up Group Heal Ability -------------------------------------- ------------------------------------------------------------------- GroupHeal = newAbility() GroupHeal.Specialty = "Holy" GroupHeal.Rank = 5 GroupHeal.Use("FriendlyAOE","Heal") GroupHeal.RangeMin = 5 GroupHeal.RangeMax = 10 GroupHeal.Register() ------------------------------------------------------------------- -- Mastery Undead: -- * Exorcism -- * Holy Water Grenade -- * Turn Undead ------------------------------------------------------------------- ------------------------------------------------------------------- -- Set up Undead Mastery ------------------------------------------ ------------------------------------------------------------------- Undead = newMastery() Undead.MinRank = 5 Undead.Specialty = "Holy" Undead.Register() ------------------------------------------------------------------- -- Set up Exorsism Ablility --------------------------------------- ------------------------------------------------------------------- Exorsism = newAbility() Exorsism.Mastery = "Undead" Exorsism.Rank = 1 Exorsism.Use("Undead","Damage") Exorsism.RangeMin = 10 Exorsism.RangeMax = 12 Exorsism.Register() ------------------------------------------------------------------- -- Set up Holy Water Grenade -------------------------------------- ------------------------------------------------------------------- HolyWaterGrenade = newAbility() HolyWaterGrenade.Mastery = "Undead" HolyWaterGrenade.Rank = 2 HolyWaterGrenade.Use("UndeadAOE","Damage") HolyWaterGrenade.RangeMin = 7 HolyWaterGrenade.RangeMax = 10 HolyWaterGrenade.Register() ------------------------------------------------------------------- -- Set up Turn Undead --------------------------------------------- ------------------------------------------------------------------- TurnUndead = newAbility() TurnUndead.Master = "Undead" TurnUndead.Rank = 3 TurnUndead.Use("Undead","Buff") TurnUndead.Buff.Turns = -1 TurnUndead.Register()
  7. so is this going to be in the next release of PI?
  8. Namatsu

    LUA scripts

    try changing it to this just to test. function SafePointer(myPointer, myPointerType) if (myPointer ~= nil) then local retval = {Pointer = myPointer, PointerType = myPointerType} return retval else ...
  9. check your script string. shouldn't it be nprint instead of npint? until you add your own error handling code to your c++ application lua script errors will terminate your application.
  10. Namatsu

    Professor Mithrandir Presents:Professor Mithrandir

    That made my eyes bleed.
  11. Namatsu

    LUA scripts

    both should work as far as I know. Maybe someone else has a bit more insight on this subject than me.
  12. Namatsu

    LUA scripts

    a = {Fruit= "banana", Color= "Yellow"} -->Fruit table/structure b = {Animal = "Rat", NumberOfLegs = 4} --> Animal Table/structure if type(b) == "table" then if b.Fruit ~= "banana" then b=7 end end yes this code is valid. the second 'if' statement would fail because b.Fruit is a nil value. You could do something like this to let you know if an invalid table was passed in. assuming you have a logger class bound to lua. a = {Fruit= "banana", Color= "Yellow"} -->Fruit table/structure b = {Animal = "Rat", NumberOfLegs = 4} --> Animal Table/structure if type(b) == "table" then if b.Fruit ~= "banana" then b=7 else Logger.Error("blah") end end
  13. Namatsu

    LUA scripts

    local a = 4 if(a.Fruit ~= "banana") then a=7 end This will give you a error similar to this at runtime. 'attempting to index 'a' (a number)' or 'attempting to index 'a' (a nil value)' if a was a nil value I believe you would need to do something similar to this. if type(a) == "table" then if a.Fruit ~= "banana" then a=7 end end
  14. Namatsu

    LUA scripts

    correct function Mesh3d.PaintRed(x) return 2*x end should work
  15. Namatsu

    LUA scripts

    Quote:Original post by Anonymous Poster About No. 1) Could you please explain the table approach in order to define my functions with a dot in the middle like Mesh3D.PaintRed ? I am new to lua and I don't really get what you are saying... did you previously define Mesh3D = {}? What about PaintRed? or did you define Mesh3D = {PaintRed= myFunction} ? Thanks so much everyone! Cheers! Rpd as far as I know you cant have a '.' in a variable name, you are actually accessing a variable inside a table when you call in your script. having defined in c++, Mesh3D should be a table already. but if you were defining something purely in lua you would have to do the Mesh3D = {} first. Hopefully this explains things better.
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!