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

XNA and C#

31/8/2012

0 Comments

 
Yesterday I decided to have a look at working with XNA and C# to broaden my knowledge of other languages and Frameworks. After having a little dabble I realised the potential for quick cycle games in XNA. A lot, if not all the graphics code is wrapped up and kept away from you. I'm not too sure whether this is a good thing, although I have seen some samples online where people can access the graphics more directly.

Anyway I had a look online and found a small tutorial on:  http://www.xnadevelopment.com/ that showed how to add sprites and input from buttons and what not. The tutorial was directed toward beginner programmers which got a little frustrated but it allowed me to get a grip with the XNA framework. 

Below is a video of something I created in XNA, It's just a simple scrolling background and player movement. This type of thing can literally be made in no time at all:
The main reason for me taking such an interest in XNA and C# is that I was hoping to create a small level editor which could be used for placing my models in the Road to Eldorado game and other future games. That way I could Export it to XML in the exact format that is needed for importing straight into the game. I thought about it and I had seen a few examples of editors that used Windows Forms and XNA together. After searching the net I realised that this is not as easy as I first thought. Having both together seems like hard work and would require me to expand my knowledge of both Windows Forms and XNA largely before I could attempt this.

I think I will probably end up just making a level editor in C++ and just adapt the game to create, move and resize entities on the fly. I still am more than likely going to proceed in learning about XNA as it really interests me and the idea of being able to eventually play one of my games on xbox is pretty cool. 

Till next time :)
0 Comments

Road to Eldorado - Improved Gameplay

26/8/2012

0 Comments

 
Over the past few days I've worked on implementing some better gameplay as it simply wasn't challenging enough. I've managed to implement some objects that have to be avoided otherwise you lose a life and respawn at the last checkpoint. The objects are supposed to be tumbleweed, which was actually my mothers idea. I have got Cube placeholders at the moment as I haven't managed to get any models created yet. 

I have also made a level class to deal with multiple levels so there will soon be many more levels, each increasing in difficulty. Anyway here is the game as it stands:
Okay, so I am now in desperate need of some new models and sounds and I will be getting that done fairly shortly. I will also be implementing many new levels. This will mean I will have to adapt the highscores table to take level and lives into account. Although this project has been really fun I am starting to feel like this project is coming to a close. I think within then next few weeks I will finish this game off and begin a new project, or try implementing the full matrix instancing again.

Peace out :)
0 Comments

Road to Eldorado - Let there be Noise

17/8/2012

0 Comments

 
This week I have been quite busy and so I haven't done as much development as I would have hoped. However I did still manage to have quite a large break through on my mini game.

Well first of all I implemented the remaining parts of the Highscores that needed to be done, which actually took longer than I thought it would. File parsing is always a chore and I ran into some strange complications that I hadn't come across before. I finally got it finished and it works well. I will be able to use this in any other project I create as well which is always a bonus. 

After doing this I had a long think about what things I haven't done in games and things I would like to have a go with. The main areas I was going to focus were either a proper front end / GUI or using a sound API. I settled for doing sound as I thought it would be more exciting than a GUI and would give me a chance to play around with some middleware. 

When it comes to sound you have only really got two options, OpenAL or FMOD Ex. In my second year of university we covered OpenAL so I decided to give FMOD a whirl. It's actually gone pretty well, I've managed to create a Sound Manager Class that wraps up all the API stuff and allows you to load and play sounds fairly easily. There is still lots to implement as I've literally got Initalisation, LoadSound,PlaySound and ReleaseResources in my Manager. I will add more functionality to this very soon. 

Okay so enough talking about it let's see some footage, Below is a video of the game in it's current state. It mainly shows the Sound And Highscores.
There is still lots to do but I'm heading towards a renderer that will be extremely useful for creating small but feature rich games in no time. Oh and one last thing, I've had a word with a friend of mine who will be working on some game audio for me as the background music was a little too rocky for a western and a car crash noise doesn't normally scream out "I've just collected a gem". Oh also I will be finding some different models to polish the look of the game off.

Peace Out :)
0 Comments

Road to Eldorado - Adding Features

7/8/2012

0 Comments

 
Whilst I was away in Ireland I worked on my Road to Eldorado mini game. The first thing I changed was allowing the Instancing to work with any of the render methods as before it was only working for one. This caused errors for example the gems were actually only supposed to be one colour but as it was using the render method that needed a texture ,then it used whichever texture that was on the model that was rendered just before it. So for example the cactus texture was being used on the gems which was completely wrong. 

After doing this I started adding features to the game such as a speed multiplier that changed the speed of the car and the speed of movement from side to side. This was altered by the use of checkpoints throughout the level. Every time the player passed a checkpoint then the speed would be increased. This made the game much more appealing and also slightly challenging. Anyway here is the video: 

I also started work on a high scores system which would be used at the end of the level to insert your own name and this would be exported to a text file. The text input part is working and the name and score are exported but there is still work to do on this. 

The next main part is to parse the file calculating the scores and then inserting the new score at the right point. I also need to output the high scores table to the screen. It does seem that by adding a high scores system I am edging closer and closer to having to create a proper front end :)
0 Comments

Instancing - Full Matrices Blunder and Terrain Analysis Integration

3/8/2012

0 Comments

 
I am over in Ireland at the moment visiting my father but just before I went away I managed to get a couple of things done.

The first thing I attempted was the use of full matrices for the Instancing which has not been going so well. I worked on Implementing this and increased what data needed to be passed across and the size of the input layout and what not but came out with some rather peculiar results. The models where stretched across the screen and some just did not appear at all. At this point I ran the project using PIX to check the data that had been passed across and this is what it came out with:
Picture
As you can see the outcome after the vertex shader is completely wrong. After checking the values in the instance buffer I can see that only the first values are correct, which are the positions. The X,Y and Z axis are completely random values which is the reason that the results are so strange. I will need to have a further in depth look at the reasons behind all this but I'm presuming the byte width of the instance data is being calculated wrong at some point, however this is only a guess. 

Terrain Analysis Instancing

I took a break from trying to implement the matrices geometry instancing and decided to add the current position only instancing to the Terrain Analysis Tool of my third year project. This tool only needed the positions as it only had sphere models which do not need rotation and the scale is the same for all. The integration of this took no time at all as I had implemented the instancing in a way that would simply mean adding a "Instancing=true" value to the templates of the XML document and replacing the "RenderAllEntities" function with the "RenderAllEntitiesInstanced" function. Once I had replaced all the files that were needed I created a quick video to show the terrain analysis with the Instancing, which is shown below.
The frame rate on the new project has increased massively. On this map the original frame rate was around 30 FPS when all nodes were in view and with the geometry instancing I am now reaching up to 250 FPS although you cannot really see this as Fraps slows down the program quite considerably. 

There are lots of improvements still to be made to the project such as adding more features to the tool allowing for nodes and game zones to be specified as water nodes. More than likely I might add a feature to specify my own types of data that can be assigned on the fly. This  would allow so much flexibility to the tool and allow it be used in many more situations and genres. Well that's all for now, I will be continuing work on my projects such as the Road to Eldorado game and implementing the full matrices instancing, although I will also be looking for jobs in the mean time as well.

Peace.
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