<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3098250186943016869</atom:id><lastBuildDate>Thu, 24 Oct 2024 18:10:47 +0000</lastBuildDate><title>Bachelors degree games project devblog</title><description></description><link>http://stupidlittledungeongame.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-6028108539927099001</guid><pubDate>Fri, 23 May 2014 18:35:00 +0000</pubDate><atom:updated>2014-05-23T20:35:48.089+02:00</atom:updated><title>More construction optimization</title><atom:summary type="text">Things are going well for us.
We have most of the 50+ page report on this project written, and the project itself is starting to look good.

We have started trying to figure out the maximums of our different implementations. The most limiting one is that we rely on one mesh per level, and the vertex limit seems to be around 64k vertices per mesh. Our meshes do not currently do rectangular vertex </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/05/more-construction-optimization.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-1500274836979832577</guid><pubDate>Sat, 10 May 2014 20:59:00 +0000</pubDate><atom:updated>2014-05-10T23:02:24.467+02:00</atom:updated><title>Construction Efficiency</title><atom:summary type="text">Today was a good day, I managed to reduce the time needed to generate a level by a factor of ten.
The old way of generating the levels was this:

&amp;nbsp;&amp;nbsp;&amp;nbsp; For every point on the map
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Decide what type of point it is by examining its neighbours.
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; For all sides the point lacks neighbours:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;</atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/05/construction-efficiency.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-8900473300918098725</guid><pubDate>Sat, 10 May 2014 18:06:00 +0000</pubDate><atom:updated>2014-05-10T20:07:00.931+02:00</atom:updated><title>Atlas expanded, explained.</title><atom:summary type="text">The texture atlas system from the last post is now fully functioning, with modifications.
We ended up adding more types, so the finished atlas now requires 24 different textures.
The problem with the previous type was that if you rotate the floor tiles to match shadow/edges the actual &quot;tiling&quot; (Repeat-ability) of the texture gets broken. The fix was to add new floor types for all rotations so we </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/05/atlas-expanded.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-6082532969211312484</guid><pubDate>Wed, 07 May 2014 18:31:00 +0000</pubDate><atom:updated>2014-05-07T20:34:51.991+02:00</atom:updated><title>Texturing and Altases</title><atom:summary type="text">We have begun thinking about the aesthetics of the game.
First on the list: Textures.

We have decided to use batches of textures, one batch per levels.
They will be batched into what is called atlases. It is essentially large images with different sub-images built in.
The layout needs to be like this.


The UV&#39;s of the meshes we use to generate the levels will be made to match the different </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/05/texturing-and-altases.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-8606729762787954921</guid><pubDate>Sun, 27 Apr 2014 22:03:00 +0000</pubDate><atom:updated>2014-04-28T00:03:55.184+02:00</atom:updated><title>Basic pathfinding operational</title><atom:summary type="text">As the title says, basic pathfinding is now operational, if not a little shaky.
This is the first full interaction using algorithms made by me, Marcus, and Bendik.
The server will be the only one running pathfinding, the clients will receive all relevant data from the server.

In this picture we see the start in the lower left corner, the path is the red ball, each ball representing a node. Top </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/04/basic-pathfinding-operational.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-1790074877744654297</guid><pubDate>Sun, 27 Apr 2014 16:20:00 +0000</pubDate><atom:updated>2014-04-27T18:20:39.439+02:00</atom:updated><title>Full levels over Network</title><atom:summary type="text">Full levels are now sent across the network to all connecting clients.
When the server generates a level it also stores the level as a string, this string is then sent to any connecting clients, or to all clients in the event of a level change. The reasoning behind converting to and from a string instead of sending the entire two-dimensional int array is that RPC calls can only handle a handful </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/04/full-levels-over-network.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-216647071196792971</guid><pubDate>Sun, 20 Apr 2014 22:35:00 +0000</pubDate><atom:updated>2014-04-21T00:35:50.408+02:00</atom:updated><title>Net-&quot;working&quot;!</title><atom:summary type="text">Basic network communication now works, with support for instantiating across the network and setting starting-states. This means that when you join a server as it is now, you will receive instructions to instantiate everything already present in the level, as well as the level. These instructions contain info on the current state of the object: position, rotation, health left, viewID for the </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/04/net-working.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-4446132642262560207</guid><pubDate>Sat, 19 Apr 2014 19:13:00 +0000</pubDate><atom:updated>2014-04-20T02:46:29.704+02:00</atom:updated><title>First working menu</title><atom:summary type="text">We now have a simplistic temporary menu up and working.
It uses the built in method &quot;OnMouseDown&quot; to detect whenever a mouse button is pushed while over a collider, and the buttons all have their separate colliders.
Work on the Network Manager has begun, I will make a new blogpost about it when it is working.

</atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/04/first-working-menu.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-1825235470989308626</guid><pubDate>Wed, 09 Apr 2014 22:39:00 +0000</pubDate><atom:updated>2014-04-10T00:39:31.911+02:00</atom:updated><title>More advanced levels</title><atom:summary type="text">I have now implemented more advanced levels!
This means that when building the level the level generator has a whole bunch of different blocks to choose from, and it places them based on the blocks neighbours:


These blocks are all unique and are lacking one or more sides. These are all used to make on giant compound mesh, and it is thus a lot more optimized than it would be using only solid </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/04/more-advanced-levels.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-2783044929253393710</guid><pubDate>Mon, 07 Apr 2014 22:04:00 +0000</pubDate><atom:updated>2014-04-08T00:04:59.672+02:00</atom:updated><title>Simple maze implemented in Unity!</title><atom:summary type="text">We managed to implement a simple maze in Unity!
Or, to be more accurate, we made a maze constructor that uses the output from Bendik&#39;s maze algorithm found at : http://bachelorgamedev.blogspot.no/2014/04/amazeing.html




It takes in a two-dimensional grid of ints and places a wall anywhere it is needed.
After this is combines the wallmeshes into one mesh and adds a meshcollider.

The plan is for</atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/04/simple-maze-implemented-in-unity.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-148681047677108853</guid><pubDate>Sun, 30 Mar 2014 00:49:00 +0000</pubDate><atom:updated>2014-03-30T01:49:17.761+01:00</atom:updated><title>Networking Research</title><atom:summary type="text">Research around networking is mostly finished, and the majority of the difficult decisions have been made. We will be synchronizing and using client prediction for everything that moves except projectiles. The projectiles will only be visually represented on the clients, the servers will calculate if they actually hit something and report this to the clients.

We will be using some of Raknets </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/03/networking-research.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-5642526136220591317</guid><pubDate>Sun, 02 Mar 2014 21:54:00 +0000</pubDate><atom:updated>2014-03-02T22:55:38.175+01:00</atom:updated><title>Arrows working properly</title><atom:summary type="text">Modification complete, the arrows are now infallible.
They use simple raycasts and do not have any physics-components at all 

</atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/03/arrows-working-properly.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-8754029715995101451</guid><pubDate>Sun, 02 Mar 2014 20:40:00 +0000</pubDate><atom:updated>2014-03-02T21:40:21.047+01:00</atom:updated><title>First Movement</title><atom:summary type="text">Basic character movement is now in, as is attacking and a simple health system.
Further testing has shown that the collision system we made does not lend itself well to projectiles, and they pass through things half the time. We will have to make a separate system, or modify the current one heavily.

Testing has shown that we can use our collision system with the built in physics engine set to </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/03/first-movement.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-2213249117322708025</guid><pubDate>Sun, 23 Feb 2014 17:51:00 +0000</pubDate><atom:updated>2014-02-23T18:57:01.958+01:00</atom:updated><title>Long collisions</title><atom:summary type="text">

Made the system compatible with long single movements. This was done by sweeping a collision sphere along the entire length of the targeted movement, to check if we are supposed to be able to go the entire length. This is one movement:










</atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/02/long-collisions.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-573853875869697364</guid><pubDate>Sun, 23 Feb 2014 17:12:00 +0000</pubDate><atom:updated>2014-02-23T18:12:46.902+01:00</atom:updated><title>Passing through</title><atom:summary type="text">I fixed a bug today where the colliders would sometimes pass slightly into one another.
Variations in framerate would make the raycasts not able to keep up.
I fixed this by checking how far we wanted to go, and if the wall was close enough that we only could move part of the way we scale the vector meant to stop the movement to remove only the excess that would cause us to move into the wall. </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/02/passing-through.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3098250186943016869.post-5640996960690387992</guid><pubDate>Sun, 23 Feb 2014 02:08:00 +0000</pubDate><atom:updated>2014-02-23T03:08:11.970+01:00</atom:updated><title>Collisions</title><atom:summary type="text">So I am going to make a game for my bachelor&#39;s degree project.
We are 3 people, all programmers, who will be making a game together in Unity.
The game will be a 3d/2d top down dungeon type game with networked multiplayer (my bachelor&#39;s degree is in Networking) 

Today I started a bit prematurely, so I can get the basics working. The plan is to avoid any wasted work, like: &quot;Oh you did that, well </atom:summary><link>http://stupidlittledungeongame.blogspot.com/2014/02/collisions.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item></channel></rss>