LoveWars prototype/demo

Show off your games, demos and other (playable) creations.
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: LoveWars prototype/demo

Post by Robin »

spirulence wrote:Interesting. I hadn't thought of doing that. I just implemented it and I have to agree, the levels are now far easier to edit by hand. The only potential pitfall is that it's now harder to have more than 36 tiles in a tileset. I hope that won't be a problem in the project I'm using it for.
You could of course use ,/;:\={}()-_=+!@#$%^&*~`'"?<>| as well.
Help us help you: attach a .love.
User avatar
arquivista
No longer with us
Posts: 266
Joined: Tue Jul 06, 2010 8:39 am
Location: Insert Geolocation tag here
Contact:

Re: LoveWars prototype/demo

Post by arquivista »

Robin wrote:You could of course use ,/;:\={}()-_=+!@#$%^&*~`'"?<>| as well.
and that is the thing that makes that method interesting for developing roguelikes (just to emulate old style school rogues).
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
fwoop
Prole
Posts: 4
Joined: Fri Jun 25, 2010 3:59 pm

Re: LoveWars prototype/demo

Post by fwoop »

spirulence wrote: Interesting. I hadn't thought of doing that. I just implemented it and I have to agree, the levels are now far easier to edit by hand. The only potential pitfall is that it's now harder to have more than 36 tiles in a tileset. I hope that won't be a problem in the project I'm using it for.
It can be ~30/40 ish cell types per level, rather than for the entire game, if you include a table with your level file that translates the symbols to cell types. Symbols not specified in the table could refer to some default instead. Unique cell types can be specified in the level file itself, etc.

The idea is Kornel Kisielewicz's, it'll probably be included in his next DoomRL release.
User avatar
arquivista
No longer with us
Posts: 266
Joined: Tue Jul 06, 2010 8:39 am
Location: Insert Geolocation tag here
Contact:

Re: LoveWars prototype/demo

Post by arquivista »

fwoop wrote:
The idea is Kornel Kisielewicz's, it'll probably be included in his next DoomRL release.
XXXRL series seems to have interesting LUA concepts and have a lot to teach and inspire

http://doom.chaosforge.org/wiki/index.php?title=Sandbox

Code: Select all

-- SANDBOX HELLS ARENA ----------------------------------------------------------

Levels("CUSTOM",{
  name = "Hell's Arena",

  Create = function ()
    Level.fill(CELL_PRWALL)
    Level.tile(".",CELL_FLOOR)
    Level.tile("X",CELL_RWALL)
    Level.tile("#",CELL_RWALL)
    Level.tile(",",CELL_BLOOD)
    Level.tile(">",CELL_STAIRS)

    Level.put(2,2,{
      "#######################.............................########################",
      "###########.....................................................############",
      "#####..................................................................#####",
      "##........................................................................##",
      "#..........................................................................#",
      "............................................................................",
      "..................................,,,,,,....................................",
      "..,,,.............................,,,,,,,...................................",
      "..,>,............................,,,,,,,,,..................................",
      "..,,,............................,,,,,,,,...................................",
      "..................................,,,,,,....................................",
      "............................................................................",
      "............................................................................",
      "#..........................................................................#",
      "##........................................................................##",
      "#####..................................................................#####",
      "###########.....................................................############",
      "#######################.............................########################",
    })

    Level.scatterPut(5,3,68,15,{
      ",..,.,",
      ",XXXX.",
      ".XXXX,",
      ".XXXX.",
      ",..,.,",
    },CELL_FLOOR,9+random(8))
  
    Level.scatter(2,2,77,19,CELL_FLOOR,CELL_BLOOD,100)
    Level.player(38,10)
  end,
  
  OnEnter = function ()
	Player.setWeapon( ITEM_SHOTGUN )
	Player.addItem( ITEM_SHELL )
	Player.addItem( ITEM_SHELL )
	Player.addItem( ITEM_SHELL )
	Player.addItem( ITEM_SHELL )

    Level.result(1)
    msg("A devilish voice announces:")
    msg("\"Welcome to Hell's Arena, mortal!\"")
    msg("\"You are either very foolish, or very brave. Either way I like it!\"")
    msg("\"And so do the crowds!\"")
    msg("Suddenly you hear screams everywhere! \"Blood! Blood! BLOOD!\"")
    msg("The voice booms again, \"Kill all enemies and I shall reward thee!\"")

    Level.summon(NPC_DEMON,3)
    Level.summon(NPC_LOSTSOUL,2)
    Level.summon(NPC_CACODEMON,1)
  end,

  OnKill = function ()
    local temp = random(3)
    if     temp == 0 then msg("The crowds go wild! \"BLOOD! BLOOD!\"") 
    elseif temp == 1 then msg("The crowds cheer! \"Blood! Blood!\"") 
    else                  msg("The crowds cheer! \"Kill! Kill!\"") end
  end,

  OnKillAll = function ()
    if Level.result() == 1 then
      msg("The voice booms, \"Not bad mortal! For a weakling that you ")
      msg("are, you show some determination.\"");
      msg("You hear screams everywhere! \"More Blood! More BLOOD!\"")
      msg("The voice continues, \"I can now let you go free, or")
      msg("you may try to complete the challenge!\"");
  
      local choice = msgconfirm("\"Do you want to continue the fight?\"")
 
      if choice then
        msg("The voice booms, \"I like it! Let the show go on!\"")
        msg("You hear screams everywhere! \"More Blood! More BLOOD!\"")
        Level.drop(ITEM_CHAINGUN)  
        Level.summon(NPC_DEMON,3)
        Level.summon(NPC_CACODEMON,2)
        Level.result(2);
      else
        msg("The voice booms, \"Coward!\" ")
        msg("You hear screams everywhere! \"Coward! Coward! COWARD!\"")
      end
      return
    end

    if Level.result() == 2 then
      msg("The voice booms, \"Impressive mortal! Your determination")
      msg("to survive makes me excited!\"")
      msg("You hear screams everywhere! \"More Blood! More BLOOD!\"")
      msg("\"I can let you go now, and give you a small reward, or")
      msg("you can choose to fight the final challenge!\"")
      
      local choice = msgconfirm("\"Do you want to continue the fight?\"")
   
      if choice then
        msg("The voice booms, \"Excellent! May the fight begin!!!\"")
        msg("You hear screams everywhere! \"Kill, Kill, KILL!\"")

        Level.drop(ITEM_SHELL,4)
        Level.drop(ITEM_AMMO,4)
      
        Level.summon(NPC_CACODEMON,3) 
        Level.result(3);
      else
        msg("The voice booms, \"Too bad, you won't make it far then...!\" ")
        msg("You hear screams everywhere! \"Boooo...\"")
        
        Level.drop(ITEM_SHELL,3) 
		Level.drop(ITEM_LMED)
        Level.drop(ITEM_SMED)
      end
      return
    end

    if Level.result() == 3 then
      msg("The voice booms, \"Congratulations mortal! A pity you came to")
      msg("destroy us, for you would make a formidable hell warrior!\"")
      msg("\"I grant you the title of Hell's Arena Champion!\"")
      msg("\"And a promise is a promise... search the arena again...\"")

      Level.drop(ITEM_SCGLOBE)
      Level.drop(ITEM_BARMOR)
      Level.drop(ITEM_LMED)

      Level.result(4)
    end
  end,

  OnExit = function ()
    msg("The voice laughs, \"Flee mortal, flee! There's no hiding in hell!\"")
  end,
})
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
User avatar
bartoleo
Party member
Posts: 118
Joined: Wed Jul 14, 2010 10:57 am
Location: Savigliano

Re: LoveWars prototype/demo

Post by bartoleo »

Added unit selection and possible moves...
What are your FPS?
Bartoleo
User avatar
arquivista
No longer with us
Posts: 266
Joined: Tue Jul 06, 2010 8:39 am
Location: Insert Geolocation tag here
Contact:

Re: LoveWars prototype/demo

Post by arquivista »

bartoleo wrote:What are your FPS?
In my 2.92 Duo Intel Mac the 60 FPS drops to 30/25 FPS when selecting an unit and then raises to 40. Returns to 60 when i Unselect/click outside map. Not an expert on this, but considering the kind of operation in cause and that this should be an low demanding turn based game problably there is some routine draining somewhere?
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
User avatar
bartoleo
Party member
Posts: 118
Joined: Wed Jul 14, 2010 10:57 am
Location: Savigliano

Re: LoveWars prototype/demo

Post by bartoleo »

Thank you,
I'll look for the problem
Bartoleo
User avatar
bartoleo
Party member
Posts: 118
Joined: Wed Jul 14, 2010 10:57 am
Location: Savigliano

Re: LoveWars prototype/demo

Post by bartoleo »

Found it!

it was :
love.graphics.setFont(10)
in draw

from wiki:
Or, in the case of the default font,

love.graphics.setFont(size)
This latter method is however strongly discouraged. Each time setFont is called without a font object, a new font object is created. Doing so each frame will use up a huge amount of RAM. It's okay if you use it once, but doing it multiple times is a bad idea. Instead, try this:

myFont = love.graphics.newFont(size)
love.graphics.setFont(myFont) -- you can use this line each frame without eating too much memory
I've updated source and .love
Try it now
Bartoleo
User avatar
arquivista
No longer with us
Posts: 266
Joined: Tue Jul 06, 2010 8:39 am
Location: Insert Geolocation tag here
Contact:

Re: LoveWars prototype/demo

Post by arquivista »

bartoleo wrote:Found it!
I've updated source and .love
Try it now
Yah, you got it! Stable 60's FPS now! :)
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
User avatar
bartoleo
Party member
Posts: 118
Joined: Wed Jul 14, 2010 10:57 am
Location: Savigliano

Re: LoveWars prototype/demo

Post by bartoleo »

thaaaaaaaaaaaaaaank you
Bartoleo
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest