Viva Mortis

About Monkey 2 Forums Monkey 2 Projects Viva Mortis

This topic contains 11 replies, has 2 voices, and was last updated by  Whiteball 1 month, 2 weeks ago.

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
  • #16140


    Yup It’s game time again:

    Relive the days of the spectrum with glorious 16 color and beeps, or chipsynth sound or even retro samples (using the new QasarBeach audio core)







    Thanks. Which version (machine os) did you play?

    Any bugs – suggestions?



    YAY. Viva Mortis come second in the SyntaxBomb competition.


    Jack Deadly (by TheRevills) comes a close third.



    Played the first windows version. Everything seemed to work nicely as far as I could tell.

    Also played TheRevills Jack Deadly and that was cool too.

    I’m currently coding up a old-school platformer of my own (well trying too) I struggle with collision stuff and it just never feels right to me. Would love to one day produce something as good as either of theese efforts though.

    Well done both!



    what sort of collision issues are you having? Might be able to help 🙂



    Just general stuff really, not so much the actual collision routines as what I’m trying to do with it.

    I really wanted an isometric type view based on a grid (squares at 45 degrees) but wanted the main character to ‘slide’ of rough edges rather than get caught. Probably haven’t explained that too well.



    Hi Adam.

    Been looking at some of your stuff on Itchio and I have to say it’s very impressive.

    I also noticed the tools you have made, in paticular the FontSprite and FontMap stuff. These look very useful and I’m thinking of giving them a go for my current project.

    While there I also noticed the source for Viva Mortis which I have had a quick look through to see if I can get any tips on how to better do things but noticed not all the other parts where there such as the references to ArcadeFont, ColorPalette and Oberon. Are these just ‘helper’ modules to get at the FontSprite/FontMap data easier? I’m struggling a bit to understand the pallete colour stuff too if I’m honest.

    I think you should bundle these tools and modules up with some docs and offer them as an option for people who want to get up and running a bit quicker in their own projects. I for one wouldn’t mind paying for them either.



    Thank you. A lot of stuff has been removed from as it was not particularly popular.


    Yep, you’re right about the ArcadeFont, etc. They are the core systems/libs which allow direct access into FontSprite, PaletteEd, etc.

    Oberon is where all my UI stuff lives. So when using FontMap – the UI is being provided by Oberon. Stuff like ArcadeFont live in Oberon as there are UI controls that need them, so the core also lives there too 🙂 Oberon is a complete UI control manager.

    Unfortunately it’s at this point things get a bit murky. Although the files are monkey2. It’s a fork (into MX2), so there are a lot of important differences. Mojo and Std have been heavily modified and added to allow all of the core support systems in oberon.  There are lots of graphical additions to mojo to shader support, much more comprehensive base 2d drawing controls. Std has all of the new color commands. there are many additions to do with files, resources, etc.


    what exactly are you struggling with the palette? Here’s the base color code with all the load/save routines – It may compile without error…? 🙂



    Thanks, that looks super helpful. Will have a look through sometime in the next day or two.


    I generally find it hard to understand new stuff because I tend to overthink things and make them seem more complex than they are.

    I know once I get going I can pick things up fairly quickly so I don’t know why I have that issue at all really. I guess its a belief thing and I just need to believe in myself a bit more maybe.



    no worries 🙂

    the palette code just loads previously saved palettes from paletteEd

    to access a color just use the following 3 lines of code

    ‘first import a palette

    #Import “assets/spectrum48.mx2palette”


    ‘next load the palette (usually in the new section)

    _palette = New ColorPalette( “asset::spectrum48.mx2palette” )


    ‘and finally reference a color from the palette – where number is the number of the color shown in paletteEd

    myCanvas.Color = _palette.GetRGBA( number )


    here’s a nice trick for you:

    • create 2 palettes – one with greens and one with reds – they should really have the same amount of colors, but it isn’t really needed.
    • draw a couple of squares with different colors from a palette
    • because you can use multiple palettes. E.G. field myPalettes[] = new Palettes[3] ‘ this would create 3 palettes
    • you will need to load each palette with
      • _palette[0] = New ColorPalette( “asset::spectrum48.mx2palette” )
      • _palette[1] = New ColorPalette( “asset::commodore.mx2palette” )
      • _palette[2] = New ColorPalette( “asset::atari.mx2palette” )
    •  you can now switch palettes by field currentPalette:int = 0′ where currentPalette can be 0,1,2
    • change the color statements to myCanvas.Color = _palette[ currentPalette ].GetRGBA( number )

    using this method will allow you to recolor stuff without any extra code – the colors are defined by you direct from paletteEd



    Fantastic. That certainly makes sense and will be very useful.

    Thanks again.

Viewing 12 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic.