Jordan Bonser
  • Home
  • CV
  • University Work
    • Second Year Work >
      • Top-Down Shooter
    • Third Year Work >
      • Terrain Analysis Project >
        • Terrain Analysis Tool
        • Game Demonstration
      • Post Processing
      • Android Application - Sports Centre
  • Projects
    • Unity Development >
      • Lerpz Tutorial
      • Dare to be Digital Entry - "Lit"
      • Unity Game
    • Geometry Instancing
    • Road to Eldorado
    • Level Editor
    • OpenGL Work
    • JBEngine
  • Blog
  • Tutorials
    • Flask Session Timeout

Development Blog

JBEngine: Level Editor Initial Development

19/7/2014

0 Comments

 
Okay It's been a while since my last post and I have been slowly working my way through creating some of the initial GUI Elements for my Level Editor, and eventually the game. 

I have just added a checkbox class and an Editbox class that will allow the user to enter data. As a starting point these really are the only two extra elements I need. The editboxes are needed to allow the user to edit things like, Entity Name, position, scale and rotation and obviously the checkboxes are great for turning things on and off. 

Anyway enough of my ramblings, here is a short demo of some of the functionality of the Level Editor:
So the video is pretty minimal at the moment but even now this is going to make life much easier than editing values in an XML file to add objects to the scene. 

Next steps are:
  • Allow the user to specify an object to place in the scene
  • adjust rotation and scale as well ( fairly low hanging fruit )
  • start work on the XML exporter
  • Add extra GUI Elements( Dropdown list and Listbox with scroll bar )

I definitely need to get started on the XML exporter, although it shouldn't be too difficult it will be a time consuming thing to get right. I already have a specific format of how the file should look, due to having to write the importer so I want to get that nailed as soon as.

The other bits and pieces are just general improvements to the Level Editor which will be implemented over time. I really want to keep this level editor as minimal as possible so I'm having to assess each of the functionality I want to add and think about whether I really need it.

Happy with Development at the moment,
just need to keep motivation high!

0 Comments

JBEngine: More Housekeeping and GUI Improvements

4/7/2014

0 Comments

 
So I have done more housekeeping, it can be sightly tedious but the feeling at the end is amazing. Just knowing that your code is abstract and reusable, along with smaller compile times is ace. I have  taken out all the game specific code and put it into it's own project and the JBEngine project is now compiled as a library and linked to from the game project. I have also added a Level Editor project which is where I will more than likely be doing most of my work for a while. This is going to give me a great chance to test out my GUI elements fully and add any new bits that might be necessary. 

After doing an initial look through of my GUI elements I realised I needed to sort out how the font size would work with the Text and also that the calculations for figuring out the actual size and offset of the images was far too complicated. I have managed to sort out the calculations, which took a while as I was getting confused between user co-ordinates, internal co-ordinates and then screen space co-ordinates. 

User Co-Ordinates: 1-100
Internal Co-ordinates: 0 - 1
Screen Space Co-ordinates -1 to 1

To overcome this, instead of passing the scale and offset of the textures in screen space coords I instead changed the Quad I was using for the full screen from ( -1 to 1 ) to ( 0 - 1 ). This meant that all my calculations could be done in the 0 - 1 coords and then finally in the vertex shader just do a conversion to get the vertex positions in ( -1 to 1 ). 

It was all a bit of a headache really but the code is much simpler now and it also made it easier to sort out how the font sizes would work. I ended up settling on using pixels to decide font size, meaning that the text will scale when the resolution changes. This seems to be the way most games are doing it now. This is still to be fully implemented but It shouldn't take too long. 

The Level Editor should come along fairly quickly as the majority of the functionality is there already within the engine so it will just be a case of setting up all the GUI elements and adding the logic for the editor. This is still a sizable amount of work and could easily get out of hand if I don't keep tight goals on it. 

Plenty to do so I best get cracking :)

 
0 Comments

    Archives

    May 2020
    April 2020
    January 2020
    November 2019
    October 2019
    September 2019
    July 2019
    June 2019
    May 2019
    April 2019
    March 2019
    February 2019
    August 2018
    July 2018
    June 2018
    March 2018
    January 2018
    June 2017
    February 2017
    September 2016
    August 2016
    July 2016
    June 2016
    May 2016
    February 2016
    January 2016
    December 2015
    November 2015
    September 2015
    August 2015
    July 2015
    June 2015
    March 2015
    January 2015
    November 2014
    October 2014
    September 2014
    August 2014
    July 2014
    June 2014
    May 2014
    February 2014
    January 2014
    December 2013
    November 2013
    October 2013
    July 2013
    June 2013
    May 2013
    April 2013
    March 2013
    February 2013
    January 2013
    December 2012
    October 2012
    September 2012
    August 2012
    July 2012
    June 2012
    May 2012

    Categories

    All
    2D
    3rd Year Project
    Agile
    Android
    Angular
    Animation
    API
    Apple
    Apps
    Arden
    Async
    Awesomium
    C#
    CI/CD
    Clean Code
    CMake
    Cocos2d-x
    Colour Match
    Compilers
    Cross Compiling
    Cross-Compiling
    Databases
    Design
    Development Tools
    Docker
    Electronics
    Examples
    Flask
    Flask-Login
    Fmod
    Game Development
    Godot
    GUI
    Hackathon
    Hacktoberfest
    Hardware
    Home Life
    IBM
    Inspired Gaming
    Instancing
    Ios
    Javascript
    Jbengine
    Kata
    Level Editor
    Linux
    Microsoft
    Mobile Development
    Monogame
    Moodster
    Motivation
    Networking
    Objective C
    Opengl
    Open Source
    Organisation
    Physics
    Physx
    Pi
    Planning
    Post Mortem
    PyGame
    Python
    Quart
    Quasar
    RakNet
    React
    Road To Eldoarado
    Scripting
    Scrum Master
    Sessions
    Session Timeout
    Social
    Sound
    Space Invaders
    Squash Game
    Squash Game
    Streaming
    TDD
    Team Leading
    Test
    Test Driven Development
    Travis
    Unity
    Unity Development
    VSCode
    Vulkan
    Web Applications
    Worklife
    WSL
    XML
    XNA / C#

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Home
  • CV
  • University Work
    • Second Year Work >
      • Top-Down Shooter
    • Third Year Work >
      • Terrain Analysis Project >
        • Terrain Analysis Tool
        • Game Demonstration
      • Post Processing
      • Android Application - Sports Centre
  • Projects
    • Unity Development >
      • Lerpz Tutorial
      • Dare to be Digital Entry - "Lit"
      • Unity Game
    • Geometry Instancing
    • Road to Eldorado
    • Level Editor
    • OpenGL Work
    • JBEngine
  • Blog
  • Tutorials
    • Flask Session Timeout