<?xml version="1.0"?>
<rss version="2.0"><channel><title>Ullr Latest Topics</title><link>https://makewebgames.io/forum/123-ullr/</link><description>Ullr Latest Topics</description><language>en</language><item><title>Update - June 2019</title><link>https://makewebgames.io/topic/27269-update-june-2019/</link><description><![CDATA[<p>
	So....Ullr and its lack of, well anything really. <br />
	Unfortunately life got in the way not long after the 'release' of Ullr and it took a while to get back on track. Once I had, this place was a little lost itself.<br /><br />
	I'm stoked MWG is back, I've learn a lot from here over the years and its always had a great community. <br /><br />
	I have actually been working on redeveloping Ullr the past month as I've missed playing the games I grew up playing.<br /><br />
	I've read the comments left and clearly there was at least 1 major issue (and who knows how many other problems, as that 1 was like a toll booth at the start of a highway and I forgot to bring cash) so i've been remaking it from the ground up.<br /><br />
	Another week and hopefully i'll be able to put the new version up for anyone whos interested.
</p>]]></description><guid isPermaLink="false">27269</guid><pubDate>Wed, 19 Jun 2019 10:06:19 +0000</pubDate></item><item><title>All links are 404ing</title><link>https://makewebgames.io/topic/26893-all-links-are-404ing/</link><description><![CDATA[<p>Hi, I've setup your engine on my localhost but all links seem to be 404. For example if I try to register (<a href="http://ullrge.dev/home/register" rel="external nofollow">http://ullrge.dev/home/register</a>) or login (<a href="http://ullrge.dev/home/login" rel="external nofollow">http://ullrge.dev/home/login</a>) Any pointers how I should try to solve it? Do I need some htaccess file or something?</p>]]></description><guid isPermaLink="false">26893</guid><pubDate>Fri, 15 Apr 2016 20:09:13 +0000</pubDate></item><item><title>About Ullr Game Engine</title><link>https://makewebgames.io/topic/26820-about-ullr-game-engine/</link><description><![CDATA[

<div style="text-align:center;">
<p> [ATTACH=CONFIG]n375567[/ATTACH]</p>
<p data-double>&nbsp;</p>
</div>
<p data-double>&nbsp;</p>
<p data-double>&nbsp;</p>
<p data-double>&nbsp;</p>
<p data-double>&nbsp;</p>

<p>
<strong>What is the Ullr Game Engine?</strong> Simply, its a engine to develop a text based RPG game. Ullr is not an out of the box game, work will need done before you could launch a game.</p>

<p>
Ullr has been made with the <strong>MakeWebGames</strong> community in mind. This is it's official home where you'll be able to find Updates, Help and Plugins.</p>

<p>
The engine consists of 2 main parts -</p>
<p>
The <strong>Core</strong>, which handles everything and has the main functions built into it.</p>
<p>
The <strong>Plugins</strong> - These are what turns your copy of Ullr from an engine into a Game!</p>
<p>
The engine is built upon a few main things. PHP, SQL (at this stage just MySQL), Bootstrap and an MVC structure.</p>

<p>
<strong>Whats is the Core?</strong> The core is made using an Model View Controller structure which handles all the requests in and out of the engine.</p>
<p>
It holds all the main functions that a large variety of plugins will need to use to transfer information between the engine and a plugin.</p>

<p>
<strong>What can the Engine do?</strong> Currently the engine has the ability to - register an user, approve their account via email, let them login where they will be greeted with the internal Homepage.</p>
<p>
From there its up to the plugins you install.</p>
<p>
The engine also stores the main parts to a users account - Personal Information, Stats (ie. Strength, Speed, Health, etc.) and currency. (More may be added if there is a need across the engine for it).</p>

<p>
<strong>The Plugins -</strong> This is where you really start to make a difference. ​Installing Plugins is as simple as 1,2,3.</p>
<p>
1. Drop the plugin into the plugin folder of the engine.</p>
<p>
2. Add any SQL.</p>
<p>
3. Add a link/s to the game so your users can access it.</p>
<p>
The means that a plugin does not need to rely on anything but the engine to work.</p>

<p>
Creating a plugin is slightly harder, but that will be explained in its own thread.</p>

<p>
Ullr comes with two plugins pre-installed to get you going.</p>
<p>
<strong>Profile -</strong> This can either display a users profile through a link or the user can edit their own profile information.</p>
<p>
The second is a <strong>Crime plugin and demo</strong>. It is heavily commented in the code so that you can get an understanding of how plugins work. With this plugin, the user can commit a crime using energy and if they are successful gain experiance in return. If they fail the crime, they loose the energy. Then on the admin side, an admin can add, edit or delete crimes for users to commit.</p>
<p>
This plugin is ment to be simple to show you how it works.</p>

<p>
<strong>Design - </strong>The layout of the front end of the engine uses a simple structured design and bootstrap to implement it. This means you just add your own styling to the custom css sheets and the entire look is changed.</p>
<p>
Because the design is completely separate from any logic code, it also means that you can add your own template and it wont break the engine.</p>
<p>
This can be as easy as dropping your template into the correct folder and changing 1 line of code in the cofig file. None of that going through every file business.</p>

<p>
<strong>Updates, how will they work?</strong> updates will now be through github.</p>

<p>
<strong>Where to for Ullr?</strong> I will continue to make Ullr better and develop a few plugins to go with it. I'd like this to very much be a community driven engine, and i'll be taking on board every bit of advice or criticism. Updates will be as regular as possible to the core, so again i'd urge you not to change anything in the core apart from the *.custom.css sheets and any Views. Those will be removed from updates so you can have your own style/design.</p>

<p>
<strong>Cost? </strong>Free , but feel free to send me a donation if you want,</p>

<p>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=979GQB4HL3T8G" rel="external nofollow">https://www.paypal.com/cgi-bin/websc...=979GQB4HL3T8G</a></p>

<p>
<strong>GitHub - </strong></p>

<p>
<a href="https://github.com/H3dgey/Ullrge" rel="external nofollow">https://github.com/H3dgey/Ullrge</a></p>

<p>
Hopefully you find it a valuable tool in creating your next game.</p>

<p>
Hedge</p>

<p>
<em><strong>Disclaimer: </strong></em><em>Coding is a hobby for myself, I do it for fun, somewhere in between full time work, 2 kids and life. This means my code my not be up to par, I try to keep up with changes but I know I'm definitely behind in some places. If you notice something that's not done right, please bring it to may attention. I may not know its wrong or I may not even know about something at all.</em></p>
<p><a class="ipsAttachLink ipsAttachLink_image" href="https://makewebgames.io/uploads/monthly_2016_02/logo.png.20f56e13dcb9db86c303dd8154bb004c.png" data-fileid="1595" data-fileext="png" rel=""><img data-fileid="1595" class="ipsImage ipsImage_thumbnailed" alt="logo.png.20f56e13dcb9db86c303dd8154bb004c.png" data-src="https://makewebgames.io/uploads/monthly_2016_02/logo.png.20f56e13dcb9db86c303dd8154bb004c.png" src="https://makewebgames.io/applications/core/interface/js/spacer.png" /></a></p>
]]></description><guid isPermaLink="false">26820</guid><pubDate>Tue, 23 Feb 2016 09:18:57 +0000</pubDate></item><item><title>Ullrge v1.0</title><link>https://makewebgames.io/topic/26821-ullrge-v10/</link><description><![CDATA[
<p>It has been suggested by a few people, so the code has been moved to GitHub.</p>

<p>
You can find it @ <a href="https://github.com/H3dgey/Ullrge" rel="external nofollow">https://github.com/H3dgey/Ullrge</a></p>
]]></description><guid isPermaLink="false">26821</guid><pubDate>Tue, 23 Feb 2016 09:22:10 +0000</pubDate></item><item><title>Official Demo Plugin - Crime</title><link>https://makewebgames.io/topic/26823-official-demo-plugin-crime/</link><description><![CDATA[
<p>This is the official demo plugin - Crime. Although this is an basic working plugin that will be fine in a game, it is more to explain how a plugin works for people wanting to make their own.</p>
<p>
Everything is commented throughout the plugin to explain how it works.</p>

<p>
<strong>Not sure how to install it? </strong><a href="http://makewebgames.io/forum/game-engines/ullr/375571-plugin-tutorial" rel=""><strong>http://makewebgames.io/forum/game-engines/ullr/375571-plugin-tutorial</strong></a></p>
<p><a href="https://makewebgames.io/applications/core/interface/file/attachment.php?id=1596" data-fileid="1596" data-fileext="zip" rel="">crime v1.0.zip</a></p>
]]></description><guid isPermaLink="false">26823</guid><pubDate>Tue, 23 Feb 2016 09:41:24 +0000</pubDate></item><item><title>Plugin Tutorial</title><link>https://makewebgames.io/topic/26822-plugin-tutorial/</link><description><![CDATA[
<p><strong>Installing a Plugin - </strong></p>

<p>
1. If your plugin is zipped, unzip it.</p>
<p>
2. Place the plugin into the plugin folder.  root &gt; application &gt; plugin &gt; HERE</p>
<p>
3. Open your database and run any SQL queries that came with the plugin. Delete these from the plugin once completed.</p>

<p>
Thats it! the plugin is installed. </p>

<p>
At this stage its best to check if the plugin author has left any other instructions. There maybe settings which need changed before you run it for the first time.</p>

<p>
<strong>Important Information:</strong></p>

<p>
<em>* You cannot have two plugins with the same name. If you try to add a plugin with the same name as one already installed, the old one will be over written. So remove the old before you add the new.</em></p>

<p>
<strong>Creating a Plugin - </strong></p>

<p>
I suggest you use the official Ullr Crime plugin as a base for any new plugin you want to create. All the file structure is already setup for you and the code is heavily commented so you know what each thing does.</p>

<p>
1. Create the basic file structure. (if not using another plugin to copy over)</p>
<p>
For the following xxx will represent the plugin name. Everything must be in lowercase.</p>
<p data-double>&nbsp;</p>
<pre class="ipsCode">
   xxx &gt;
       controller &gt;
           xxx.php
       model &gt;
           xxxmodel.php
       view &gt;
           index.php
       information.txt
</pre>
<div></div>
<p data-double>&nbsp;</p>
<p>
2. Create the controller, this is the xxx.php file in the controller folder.</p>
<p data-double>&nbsp;</p>
<pre class="ipsCode">
&lt;?php
class Xxx extends Controller 
{
   function __construct() 
   {
       parent::__construct();
       if ($this-&gt;UserModel-&gt;is_logged_in() != true) {header('Location:'.URL.'home');exit();} 
   }

   public function index() 
   {
       require HEADER; 
       require PLUGIN . 'xxx/view/index.php'; 
       require FOOTER; 
   }
}
?&gt;
</pre>
<div></div>
<p data-double>&nbsp;</p>
<p>
This is very basic example of a plugin. This will first check that a user is logged in, if not they are directed to the external homepage. If they are logged in they will be shown the main page of the plugin. The display part of the plugin is called the view.</p>

<p>
3. Create the model.</p>
<p data-double>&nbsp;</p>
<pre class="ipsCode">
&lt;?php
class XxxModel
{
   function __construct($db)
   {
       try {
           $this-&gt;db = $db;
       } catch (PDOException $e) {
           exit('Database connection could not be established.');
       }
   }
}
?&gt;
</pre>
<div></div>
<p data-double>&nbsp;</p>
<p>
The model links the plugin to the database. All database interactions take place in this file. As our controller is only going to display HTML, this model is empty.</p>

<p>
4. Create the view.</p>
<p data-double>&nbsp;</p>
<pre class="ipsCode">
&lt;div class="row"&gt;
   &lt;div class="col-md-4 col-sm-4 col-xs-6"&gt;
        &lt;h1&gt;Hey! im a Plugin.&lt;/h1&gt;
   &lt;/div&gt;
&lt;/div&gt;
</pre>
<div></div>
<p data-double>&nbsp;</p>
<p>
The header and footer has been called in the controller, so we only need to show things directly about the plugin itself.</p>

<p>
5. Create the information.txt file. This file explains what the plugin is and who made it.</p>
<p data-double>&nbsp;</p>
<pre class="ipsCode">
/------------------/
PLUGIN INFORMATION

PLUGIN NAME:     Xxx
DESCRIPTION:     Displays a message.
AUTHOR:            Ullr
VERSION:        V1.0
DATE CREATED:    22 Feb 2016
DATE UPDATED:    No Updates Yet
PAYMENT:        Free
/------------------/
UPDATE / CHANGE LOG

No updates yet
/------------------/
</pre>
<div></div>
<p data-double>&nbsp;</p>
<p>
So Now you have a basic plugin created. Time to add some depth to it and create something awesome. Use the demo/crime plugin to help you out.</p>

<p>
<strong>Helpful Information:</strong></p>

<p>
To access a model fucntion, use the following - </p>
<p data-double>&nbsp;</p>
<pre class="ipsCode">
$this-&gt;XxxModel-&gt;function_name();
</pre>
<div></div>
<p data-double>&nbsp;</p>
<p>
Note: You cannot access other plugin models.</p>
<p data-double>&nbsp;</p>
<p>
<strong>Important Information:</strong></p>

<p>
<em>* The name you choose for you plugin must stay the same throughout the entire plugin.</em></p>
<p><em>
* All file names need to be in lowercase.</em></p>
<p><em>
* Controller class name needs to have a capital first leter.</em></p>
<p><em>
* The first function in your controller needs to be 'index', any others can be named anything.</em></p>
<p><em>
* Model class name needs to have a capital first letter with 'Model' joined to the end.</em></p>
<p><em>
* The Model functions can be named anything you like.</em></p>
<p data-double>&nbsp;</p>
<p>
I will improve these instructions when and where ever possiable. Feel free to comment helpful additions as you get to grips with the engine.</p>
]]></description><guid isPermaLink="false">26822</guid><pubDate>Tue, 23 Feb 2016 09:35:33 +0000</pubDate></item></channel></rss>
