The Cache: Technology Expert's Forum
 
*
Welcome, Guest. Please login or register. September 22, 2019, 08:36:23 PM

Login with username, password and session length


Pages: [1]
  Print  
Author Topic: Unreal Graphics Engine on iPhone  (Read 2449 times)
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« on: September 02, 2010, 11:56:07 AM »

I don't think this is available on any other phone platform yet, in any case I've not seen it. But look at this demo - the graphics are simply amazing. Lens flare, great looking reflections, it's really damn amazing IMO. Not a game player so I honestly don't know what the competition is like, but MAN does that look good to me.

http://www.cultofmac.com/the-unreal-engine-3-on-ios-is-the-future-of-mobile-gaming/57554

Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
Phaėton
Lifer
*****
Offline Offline

Posts: 555


⎝⏠⏝⏠⎠


View Profile
« Reply #1 on: September 02, 2010, 12:31:12 PM »

thats awesome... big unreal fan here.

ive dabbled with unrealscript and unrealED ..... its fairly extensive what you can code and create with that engine object oriented and all
Logged

When I was your age we used to walk to the TV to change the channel....  _̴ı̴̴̡̡̡ ̡͌l̡̡̡ ̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡
kurdt
Lifer
*****
Offline Offline

Posts: 1153


paha arkkitehti


View Profile
« Reply #2 on: September 02, 2010, 09:56:46 PM »

That is pretty spectacular but like the article says, static demos without moving models won't give you realistic picture about what the games will look like. iPhone 4's 960x640 & iPad's 1024x768 are really a challenge because you have only 1Ghz available and limited battery.

But good news is that if you look at how Playstation 1 games evolved during it's life-cycle, you'll see how developers learned to squeeze out juices that seemed impossible when the first games were out.
Logged

I met god and he had nothing to say to me.
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« Reply #3 on: September 02, 2010, 10:28:00 PM »

...and being able to walk a demo where you KNOW the graphics are probably all loaded etc etc make for a pretty picture. Throw in some fire throwing demons and somebody trying to frag you from behind and I'll be it scales down a bit. But that said, it's still pretty spectacular graphics.
Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« Reply #4 on: September 05, 2010, 11:17:04 PM »

Video games on a touchscreen are like journaling with a joystick or writing with a trackball.  It sounds potentially plausible until you actually do it.
Logged

I would love to change the world, but they won't give me the source code.
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« Reply #5 on: September 06, 2010, 12:59:12 AM »

Really? It's that bad? I really only play boring sh!t like minesweeper and such when I'm DESPERATE for something, but since carrying my books on the 'pad I am never without input.

It just looks like so much energy is being thrown in that direction (touch screen and gyroscopic input). Is there nothing about it that you like? I totally get that having the right IO device (a steering wheel, yoke etc etc) might make a game WAY better, but don't see why touching where you want to go would be that bad.
Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
kurdt
Lifer
*****
Offline Offline

Posts: 1153


paha arkkitehti


View Profile
« Reply #6 on: September 06, 2010, 01:26:19 AM »

Don't listen to ITTO.. he just hasn't tried anything proper like Strategery Cheesy

Touch works great for certain type of games like 2D board game types and other games that don't require complex or fixed interactions. Everything that has some sort of pad and fixed position buttons on the screen are always a bit of pain because at least my fingers tend to move slightly when playing and when you don't feel the buttons you easily miss the virtual button by like a half centimeters and it doesn't register the tap. But I think that gyroscope helps a bit with this because it will replace certain finger movements and the less you have to perform complex finger movements on the screen, the better the game feels. This is why Monkey Island and other games that are basically tap 'n' do work so great with touch.
Logged

I met god and he had nothing to say to me.
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« Reply #7 on: September 06, 2010, 12:36:20 PM »

Minesweeper / 2d board games are totally fine on touch, along with Labyrinth + gyro which is actually better than spinning two wheels to make some physical board shift angles for you.  But perks & kurdt, this is about a 1'st person shooter.  My hand wants a mouse or a gun for that.  Touching a screen for most modern 3d games is an interesting novelty to briefly experience but it's simply not the right medium for real gaming, imo, much like a joystick and trackball have their place sometimes and don't other times.

I disagree with playing many FPS on the Xbox 360 in favor of the PC with a laser mouse, since it's by far my favorite point-and-shoot device and over steer on a pad is bothersome to me.  Gamers have different tastes for sure.  But I have yet to see any serious gamers seriously gaming on an iPad/iPhone.  It always seems like either a fun distraction while waiting in line or something people primarily show at social events where everyone looks and goes "ooooo.... aaaaaah.... wow.... that looks cool."  And it does.  But it doesn't feel right for gaming, at least to me 
Logged

I would love to change the world, but they won't give me the source code.
perkiset
Olde World Hacker
Administrator
Lifer
*****
Offline Offline

Posts: 10096



View Profile
« Reply #8 on: September 06, 2010, 01:06:32 PM »

Gotcha, I can see that. And yeah, if you're moving and killing and changing weapons and and and then the form factor of a handheld would probably suck.
Logged

It is now believed, that after having lived in one compound with 3 wives and never leaving the house for 5 years, Bin Laden called the U.S. Navy Seals himself.
vsloathe
vim ftw!
Global Moderator
Lifer
*****
Offline Offline

Posts: 1669



View Profile
« Reply #9 on: September 07, 2010, 12:22:17 PM »

Yeah, some guys ported Quake III to iphone, I have it on my jailbroken phone. I believe it's available in their (apt?) repo.

Once you get the hang of it, it's not so bad...but it's very easy to just forget yourself and go nine kinds of bonkers with it. Very un-intuitive interface for a first person shooter and I think until they work that out, they'll be nothing more than a novelty.
Logged

hai
kurdt
Lifer
*****
Offline Offline

Posts: 1153


paha arkkitehti


View Profile
« Reply #10 on: September 09, 2010, 02:27:53 AM »

Here's the first public project using Unreal Engine 3 on iPhone http://www.youtube.com/watch?v=tO8gxqAUYXw .. looks pretty fun but if the combat is only "slicing" with your finger, I think I'll stick with Fruit Ninja Wink
Logged

I met god and he had nothing to say to me.
Phaėton
Lifer
*****
Offline Offline

Posts: 555


⎝⏠⏝⏠⎠


View Profile
« Reply #11 on: September 09, 2010, 12:07:56 PM »

*DREAM*   slide pizza and beer underneath door and let me code in unreal script:



http://unreal.epicgames.com/UnrealScript.htm




Quote
//=============================================================================
// TriggerLight.
// A lightsource which can be triggered on or off.
//=============================================================================
class TriggerLight expands Light;
 
//-----------------------------------------------------------------------------
// Variables.
 
var() float ChangeTime; // Time light takes to change from on to off.
var() bool bInitiallyOn; // Whether it's initially on.
var() bool bDelayFullOn; // Delay then go full-on.
 
var ELightType InitialType; // Initial type of light.
var float InitialBrightness; // Initial brightness.
var float Alpha, Direction;
var actor Trigger;
 
//-----------------------------------------------------------------------------
// Engine functions.
 
// Called at start of gameplay.
function BeginPlay()
{
   // Remember initial light type and set new one.
   Disable( 'Tick' );
   InitialType = LightType;
   InitialBrightness = LightBrightness;
   if( bInitiallyOn )
   {
      Alpha = 1.0;
      Direction = 1.0;
   }
   else
   {
      LightType = LT_None;
      Alpha = 0.0;
      Direction = -1.0;
   }
}
 
// Called whenever time passes.
function Tick( float DeltaTime )
{
   LightType = InitialType;
   Alpha += Direction * DeltaTime / ChangeTime;
   if( Alpha > 1.0 )
   {
      Alpha = 1.0;
      Disable( 'Tick' );
      if( Trigger != None )
         Trigger.ResetTrigger();
   }
   else if( Alpha < 0.0 )
   {
      Alpha = 0.0;
      Disable( 'Tick' );
      LightType = LT_None;
      if( Trigger != None )
         Trigger.ResetTrigger();
   }
   if( !bDelayFullOn )
      LightBrightness = Alpha * InitialBrightness;
   else if( (Direction>0 && Alpha!=1) || Alpha==0 )
      LightBrightness = 0;
   else
      LightBrightness = InitialBrightness;
}
 
//-----------------------------------------------------------------------------
// Public states.
 
// Trigger turns the light on.
state() TriggerTurnsOn
{
   function Trigger( actor Other, pawn EventInstigator )
   {
      Trigger = None;
      Direction = 1.0;
      Enable( 'Tick' );
   }
}
 
// Trigger turns the light off.
state() TriggerTurnsOff
{
   function Trigger( actor Other, pawn EventInstigator )
   {
      Trigger = None;
      Direction = -1.0;
      Enable( 'Tick' );
   }
}
 
// Trigger toggles the light.
state() TriggerToggle
{
   function Trigger( actor Other, pawn EventInstigator )
   {
      log("Toggle");
      Trigger = Other;
      Direction *= -1;
      Enable( 'Tick' );
   }
}
 
// Trigger controls the light.
state() TriggerControl
{
   function Trigger( actor Other, pawn EventInstigator )
   {
      Trigger = Other;
      if( bInitiallyOn ) Direction = -1.0;
      else Direction = 1.0;
      Enable( 'Tick' );
   }
   function UnTrigger( actor Other, pawn EventInstigator )
   {
      Trigger = Other;
      if( bInitiallyOn ) Direction = 1.0;
      else Direction = -1.0;
      Enable( 'Tick' );
   }
}




The key elements to look at in this script are:

    * The class declaration. Each class "expands" (derives from) one parent class, and each class belongs to a "package", a collection of objects that are distributed together. All functions and variables belong to a class, and are only accessible through an actor that belongs to that class. There are no system-wide global functions or variables.
    * The variable declarations. UnrealScript supports a very diverse set of variable types including most base C/Java types, object references, structs, and arrays. In addition, variables can be made into editable properties which designers can access in UnrealEd without any programming.
    * The functions. Functions can take a list of parameters, and they optionally return a value. Functions can have local variables. Some functions are called by the Unreal engine itself (such as BeginPlay), and some functions are called from other script code elsewhere (such as Trigger).
    * The code. All of the standard C and Java keywords are supported, like "for", "while", "break", "switch", "if", and so on. Braces and semicolons are used in UnrealScript as in C, C++, and Java.
    * Actor and object references. Here you see several cases where a function is called within another object, using an object reference.
    * The "state" keyword. This script defines several "states", which are groupings of functions, variables, and code which are executed only when the actor is in that state.
    * Note that all keywords, variable names, functions, and object names in UnrealScript are case-insensitive. To UnrealScript, "Demon", "demON", and "demon" are the same thing.
Logged

When I was your age we used to walk to the TV to change the channel....  _̴ı̴̴̡̡̡ ̡͌l̡̡̡ ̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡
Pages: [1]
  Print  
 
Jump to:  

Perkiset's Place Home   Best of The Cache   phpMyIDE: MySQL Stored Procedures, Functions & Triggers
Politics @ Perkiset's   Pinkhat's Perspective   
cache
mart
coder
programmers
ajax
php
javascript
Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks


Valid XHTML 1.0! Valid CSS!